使用说明
模型上下文协议(MCP)演示
该项目展示了模型上下文协议(MCP)与谷歌Gemini AI的集成,实现了一个执行加法操作的简单计算器工具。
项目结构
mcp.server.js:使用添加工具实现MCP服务器mcp.client.js:连接到MCP服务器和Gemini AI的客户端实现.env:API密钥的配置文件(不包括在存储库中)
先决条件
- 系统上已安装Node.js
- Google Gemini API密钥
- 已安装必需的npm包
设置
- 安装所需的依赖项:
npm install @modelcontextprotocol/sdk @google/genai dotenv express zod
- 创建一个
.env文件,并添加您的Gemini API密钥:
GEMINI_API_KEY=your_api_key_here
文件详细信息
mcp.server.js
此文件使用简单的添加工具设置MCP服务器:
- 用途
McpServer和StdioServerTransport来自MCP SDK - 注册一个接受两个数字作为输入的“添加”工具
- 使用Zod进行输入/输出模式验证
- 返回结果的结构化内容和文本表示
主要特点:
- 输入模式:两个数字(
a和b) - 输出模式:返回结果的总和
- 使用StdioServerTransport进行通信
mcp.client.js
此文件实现了以下客户端:
- 连接到MCP服务器
- 与谷歌的Gemini AI集成
- 处理自然语言添加请求
主要特点:
- 使用Google Gemini AI进行自然语言处理
- 列出MCP服务器中的可用工具
- 根据AI响应执行工具调用
- 处理函数调用和响应
用法
- 通过运行客户端启动应用程序:
node mcp.client.js
- 客户将:
- 连接到MCP服务器
- 列出可用工具
- 处理“添加200和3”请求
- 显示AI响应和工具执行结果
交互示例
输入:
Add 200 and 3
该系统将:
- 使用Gemini AI解析请求
- 识别数字和操作
- 调用相应的工具
- 返回结果
错误处理
该系统包括以下错误处理:
- API密钥无效
- 连接问题
- 输入类型无效
- 工具执行失败
环境变量
所需的环境变量:
GEMINI_API_KEY:您的Google Gemini API密钥
备注
- 确保服务器和客户端都使用相同的Node.js版本运行
- 服务器使用Zod进行运行时类型检查
- 客户端自动生成服务器进程
- 函数调用是异步处理的
