项目简介

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 凭据,方便配置和安全。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/kumarprakhar14/MCP-AI-Agent.git
    cd MCP-AI-Agent
  2. 安装服务器依赖:

    cd server
    npm install
  3. 配置服务器环境变量: 在 '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

  4. 安装客户端依赖:

    cd client
    npm install
  5. 配置客户端环境变量: 在 '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' 目录下执行。

基本使用方法

  1. 启动 MCP 服务器: 在终端中,进入 'MCP-AI-Agent/server' 目录,运行命令:

    npx nodemon ./index.js

    服务器将在 'http://localhost:3001' 启动,并监听 SSE 连接。

  2. 启动 MCP 客户端: 在另一个终端中,进入 'MCP-AI-Agent/client' 目录,运行命令:

    npx nodemon ./index.js

    客户端将连接到运行在 'http://localhost:3001' 的 MCP 服务器。

  3. 与 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 协议。

信息

分类

通信与社交