项目简介
MCP-AI-Agent 是一个演示项目,展示了如何使用 Model Context Protocol (MCP) 构建一个 AI 应用后端(MCP服务器),并与 Google Gemini AI 模型 和 Twitter (X) 集成。该项目包含一个 MCP 服务器和一个 MCP 客户端,客户端通过 SSE 与服务器通信,用户可以通过命令行与 AI 交互,并利用 AI 调用服务器提供的工具来操作 Twitter,例如发布推文。
主要功能点
- MCP 服务器实现: 实现了 MCP 协议,可以注册和执行工具。
- 工具注册与执行: 服务器端注册了 'createPost' (发布推文) 和 'addTwoNumbers' (加法计算) 两个工具,允许 AI 客户端调用。
- Twitter 集成: 通过 'twitter-api-v2' 库实现了与 Twitter API 的交互,可以发布推文。
- Gemini AI 集成: 客户端使用 Google Gemini AI 模型处理用户输入,并根据上下文和工具描述决定是否调用工具。
- SSE 通信: MCP 客户端和服务器之间使用 Server-Sent Events (SSE) 协议进行实时通信。
- 环境配置: 使用 '.env' 文件管理 API 密钥和 Twitter 凭据,方便配置和安全。
安装步骤
-
克隆仓库:
git clone https://github.com/kumarprakhar14/MCP-AI-Agent.git cd MCP-AI-Agent -
安装服务器依赖:
cd server npm install -
配置服务器环境变量: 在 'server' 目录下创建 '.env' 文件,并填入你的 Twitter API 密钥和凭据:
TWITTER_API_KEY=your_twitter_api_key TWITTER_API_SECRET=your_twitter_api_secret TWITTER_ACCESS_TOKEN=your_twitter_access_token TWITTER_ACCESS_TOKEN_SECRET=your_twitter_access_token_secret获取 Twitter API 密钥请参考 Twitter Developer Portal。
-
安装客户端依赖:
cd client npm install -
配置客户端环境变量: 在 'client' 目录下创建 '.env' 文件,并填入你的 Gemini API 密钥:
GEMINI_API_KEY=your_gemini_api_key获取 Gemini API 密钥请参考 Google AI Studio。
服务器配置
MCP 客户端需要以下配置信息才能连接到 MCP 服务器。以下是根据仓库信息生成的配置,客户端可以根据此配置启动并连接到 MCP 服务器:
{ "serverName": "MCP-AI-Agent Server", "command": "npx", "args": ["nodemon", "./index.js"], "cwd": "./server" }
配置项说明:
- 'serverName': MCP 服务器的名称,可以自定义,用于标识服务器。
- 'command': 启动 MCP 服务器的命令,这里使用 'npx' 来运行 'nodemon'。
- 'args': 启动命令的参数,'nodemon ./index.js' 表示使用 nodemon 运行 'server' 目录下的 'index.js' 文件。
- 'cwd': 命令的工作目录,设置为 './server',确保命令在 'server' 目录下执行。
基本使用方法
-
启动 MCP 服务器: 在终端中,进入 'MCP-AI-Agent/server' 目录,运行命令:
npx nodemon ./index.js服务器将在 'http://localhost:3001' 启动,并监听 SSE 连接。
-
启动 MCP 客户端: 在另一个终端中,进入 'MCP-AI-Agent/client' 目录,运行命令:
npx nodemon ./index.js客户端将连接到运行在 'http://localhost:3001' 的 MCP 服务器。
-
与 AI 交互: 在客户端终端中,你可以输入文本与 AI 进行对话。例如,你可以输入:
- '发布一条推文 "Hello, world! This is a test tweet from MCP-AI-Agent."' (AI 可能会调用 'createPost' 工具发布推文)
- '2 加 3 等于多少?' (AI 可能会调用 'addTwoNumbers' 工具进行计算)
AI 将根据你的输入和可用的工具进行响应,并在终端中显示结果。对于工具调用,你可能会看到 AI 调用工具的提示以及工具执行的结果。
注意: 请负责任地使用 Twitter API,并遵守 Twitter 的自动化规则。本项目仅用于学习和演示 MCP 协议。
信息
分类
通信与社交