使用说明

项目简介

Xmcp 是一个基于 Model Context Protocol (MCP) 构建的后端服务器,它作为一个 AI 驱动的 Twitter (X) 推文发布工具的后端。该项目利用 Google Gemini API 生成推文内容,并通过 Twitter API 将推文发布到用户的 Twitter 账户。作为一个 MCP 服务器,Xmcp 主要提供工具 (Tools) 功能,允许 MCP 客户端(例如,AI 助手)调用预定义的工具来执行特定任务,例如发布推文。

主要功能点

  • AI 推文生成: 集成 Google Gemini API,根据用户指令或主题生成推文内容。
  • 推文发布工具: 提供 'createPost' 工具,允许 MCP 客户端调用以发布推文到 Twitter。
  • OAuth 2.0 认证: 使用 OAuth 2.0 安全地认证 Twitter API 访问。
  • 可扩展的工具注册: 展示了如何通过 MCP 服务器注册和提供工具,方便后续扩展更多功能。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/debasmitaas/Xmcp.git
    cd Xmcp
  2. 安装依赖: 确保已安装 Node.js 和 npm。然后运行:

    npm install
  3. 配置环境变量:

    • 在项目根目录下创建 '.env' 文件。
    • 你还需要创建另一个 '.env' 文件来添加你的 AI API 密钥 (根据代码注释,可能需要两个 '.env' 文件,但根据实际代码,一个 '.env' 文件就足够了,存放所有密钥即可)。
    • 在 '.env' 文件中添加以下环境变量,替换为你的实际密钥:
      GEMINI_API_KEY=你的Google_Gemini_API_密钥
      TWITTER_API_KEY=你的Twitter_API_密钥
      TWITTER_API_SECRET=你的Twitter_API_密钥Secret
      TWITTER_ACCESS_TOKEN=你的Twitter_Access_Token
      TWITTER_ACCESS_TOKEN_SECRET=你的Twitter_Access_Token_Secret
      请注意: 你需要拥有 Google Gemini API 密钥 和 Twitter 开发者账号及 API 凭据。
  4. 启动 MCP 服务器: 在项目根目录下,运行以下命令启动 MCP 服务器:

    npm start

    服务器默认运行在 'http://localhost:3001/sse'。

服务器配置

MCP 客户端需要配置以下信息才能连接到 Xmcp 服务器。以下是一个 JSON 格式的配置示例,通常在 MCP 客户端的应用配置中进行设置:

{
  "serverName": "XmcpServer",  // MCP 服务器名称,可自定义
  "command": "npm",         // 启动服务器的命令
  "args": ["start"],        // 启动服务器命令的参数,这里表示运行 'npm start'
  "transport": {            // 配置传输协议
    "type": "sse",          // 使用 SSE (Server-Sent Events) 协议
    "url": "http://localhost:3001/sse" // SSE 连接地址,与服务器启动地址一致
  }
}

配置说明:

  • '"serverName"': 为 MCP 服务器指定一个易于识别的名称。
  • '"command"' 和 '"args"': 指定启动 MCP 服务器的命令。对于 Node.js 项目,通常使用 'npm start' 或 'node server/index.js'。
  • '"transport"': 定义客户端与服务器通信的传输协议。
    • '"type": "sse"': 指定使用 Server-Sent Events 协议进行通信。
    • '"url": "http://localhost:3001/sse"': 指定 SSE 连接的 URL,确保与服务器实际运行的地址一致。

基本使用方法

  1. 启动 MCP 服务器 (Xmcp Server)。
  2. 配置并运行 MCP 客户端,客户端需要连接到 'http://localhost:3001/sse' 这个地址。仓库中 'client/index.js' 文件本身就是一个简单的 MCP 客户端示例,你可以参考它进行开发或者直接运行体验。
  3. 在 MCP 客户端中,你可以指示 AI 模型使用 'createPost' 工具来发布推文。例如,在 'client/index.js' 的命令行交互中,你可以输入类似 "帮我发一条关于今天天气真好的推文" 的指令。
  4. AI 模型会根据你的指令,调用 'createPost' 工具,并将生成的推文内容作为参数传递给该工具。
  5. Xmcp 服务器接收到工具调用请求后,会调用 'createPost' 函数,使用 Twitter API 将推文发布到配置的 Twitter 账户。
  6. 你可以在你的 Twitter 账户上看到发布的推文。

简单示例 (MCP 客户端交互,参考 'client/index.js'):

在客户端命令行中,你可以直接输入你想发布的推文内容,例如:

You: 今天天气真好,适合出去走走!

如果 AI 模型判断需要调用 'createPost' 工具,它会自动调用并将生成的推文内容传递给 Xmcp 服务器进行发布。 你可能需要在与 AI 的对话中引导它使用 'createPost' 工具,具体取决于你使用的 LLM 和 Prompt 策略。

此外,服务器还注册了一个 'addTwoNumbers' 工具作为示例,展示了如何添加更多工具。你可以通过类似的方式扩展 Xmcp 服务器的功能。

信息

分类

开发者工具