模型上下文协议(MCP)服务器项目
该项目演示了客户端应用程序和MCP(模型上下文协议)服务器之间的集成,允许人工智能与工具执行功能进行交互。
项目概述
此应用程序由两个主要组件组成:
- A. 客户端 它连接到谷歌的Gemini AI模型和MCP服务器
- 一 MCP服务器 注册并为AI模型提供工具
该系统允许用户通过命令行界面与Gemini AI模型进行交互。AI可以响应用户查询,并执行托管在MCP服务器上的专用工具,例如发布推文或执行计算。
建筑
├── client/ # Client application
│ ├── .env # Environment variables for client
│ ├── index.js # Client implementation
│ └── package.json # Client dependencies
└── server/ # MCP server
├── .env # Environment variables for server
├── index.js # Server implementation
├── mcp.tool.js # Tool implementations
└── package.json # Server dependencies特性
- 使用谷歌Gemini模型的AI聊天界面
- 通过MCP协议执行工具
- 可用工具:
- addTwoNumbers:执行两个数字的加法 - createPost:在推特/X上创建帖子
设置和安装
先决条件
- Node.js(v14或更高版本)
- npm或纱线
- Twitter/X API证书
服务器安装程序
- 导航到服务器目录:
cd server- 安装依赖项:
npm install- 配置
.env使用您的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- 启动服务器:
node index.js客户端设置
- 导航到客户端目录:
cd client- 安装依赖项:
npm install- 配置
.env使用Gemini API密钥文件:
GEMINI_API_KEY=your_gemini_api_key- 启动客户端:
node index.js用法
- 先启动服务器,然后启动客户端
- 当客户端连接时,您将看到输入提示
- 键入您的问题或请求
- 人工智能将直接响应,或在需要时使用其中一种工具
交互示例:
- “25加17等于多少?”(使用addTwoNumbers工具)
- “发布一条推文,说‘我的MCP项目你好!’”(使用createPost工具)
运作原理
- 客户端通过SSE(服务器发送事件)连接到MCP服务器
- 服务器使用Zod验证在输入模式中注册可用工具
- 用户查询被发送到谷歌的Gemini AI模型
- 如果AI确定应该使用一个工具,它会调用一个函数
- 函数调用通过MCP客户端路由到MCP服务器
- 服务器执行请求的工具并返回结果
- 结果将呈现给用户并添加到聊天历史记录中
使用的技术
- @模型上下文协议/sdk -用于MCP实施
- @谷歌/genai -用于Gemini AI集成
- 快速 -Web服务器框架
- 推特-api-v2 -Twitter API客户端
- 动物圈 -架构验证
