使用说明
项目简介
本项目是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在展示如何构建一个能够为大型语言模型(LLM)提供工具(Tools)的应用后端。该服务器允许LLM通过标准化的MCP协议调用外部功能,例如发布推文或执行计算。项目包含客户端和服务端两部分,客户端使用Google Gemini AI模型,服务端则实现了MCP服务器,并注册了两个示例工具:'addTwoNumbers'(加法计算)和 'createPost'(发布推文)。
主要功能点
- 工具注册与执行: MCP服务器可以注册和管理多种工具,例如本项目中的 'addTwoNumbers' 和 'createPost'。这些工具可以被LLM客户端调用执行,扩展LLM的功能边界。
- AI 模型集成: 客户端集成了 Google Gemini AI 模型,演示了如何通过MCP协议与MCP服务器交互,并利用服务器提供的工具增强AI能力。
- SSE 通信: 客户端和服务端之间使用 Server-Sent Events (SSE) 协议进行通信,实现了实时的双向数据传输。
- 环境配置: 项目提供了详细的环境配置和安装步骤,方便用户快速搭建和运行。
- 示例工具: 提供了两个实用的示例工具,展示了MCP服务器在实际应用中的潜力。
安装步骤
-
克隆仓库: 首先克隆该 GitHub 仓库到本地。
git clone https://github.com/ateekshsoni/mcp-server-trail-project.git cd mcp-server-trail-project -
配置服务器:
- 进入 'server' 目录: 'cd server'
- 安装依赖: 'npm install'
- 创建 '.env' 文件,并根据 'README.md' 中的说明配置 Twitter API 凭据。例如:
TWITTER_API_KEY=your_api_key TWITTER_API_KEY_SECRET=your_api_secret TWITTER_ACCESS_TOKEN=your_access_token TWITTER_ACCESS_TOKEN_SECRET=your_access_token_secret
-
配置客户端:
- 返回项目根目录: 'cd ..'
- 进入 'client' 目录: 'cd client'
- 安装依赖: 'npm install'
- 创建 '.env' 文件,并配置 Gemini API 密钥。例如:
GEMINI_API_KEY=your_gemini_api_key
-
启动服务器:
- 返回 'server' 目录: 'cd ../server'
- 启动服务器: 'node index.js'
- 确保服务器成功运行并监听在 'http://localhost:3001'。
-
启动客户端:
- 返回 'client' 目录: 'cd ../client'
- 启动客户端: 'node index.js'
- 客户端启动后,将连接到 MCP 服务器并等待用户输入。
服务器配置
MCP 客户端需要配置以下信息才能连接到 MCP 服务器。这些配置通常在客户端的初始化阶段完成。
{ "serverName": "example-server", "command": "node", "args": ["server/index.js"] }
配置参数说明:
- 'serverName': MCP 服务器的名称,由服务端定义,客户端用于标识连接的服务器。(本示例中为 "example-server")
- 'command': 启动 MCP 服务器的命令。 (本示例中使用 Node.js 运行,所以命令为 "node")
- 'args': 启动命令的参数,用于指定服务器入口文件。(本示例中服务器入口文件为 "server/index.js")
注意: 实际的 MCP 客户端可能需要更详细的配置,例如服务器地址、端口、传输协议等。本示例客户端已硬编码连接到 'http://localhost:3001/sse',实际应用中可能需要将服务器地址配置化。
基本使用方法
- 启动服务器 后,再 启动客户端。
- 客户端成功连接服务器后,在命令行中输入你的问题或指令。
- AI 模型 (Gemini) 将接收你的输入,并根据需要调用 MCP 服务器提供的工具来处理请求。
- 你将在命令行中看到 AI 模型的回复和工具执行的结果。
示例交互:
- 提问 "What's 25 plus 17?",AI 模型会调用 'addTwoNumbers' 工具进行计算并返回结果。
- 提问 "Post a tweet that says 'Hello from my MCP project!'", AI 模型会调用 'createPost' 工具在 Twitter 上发布推文。
信息
分类
AI与计算