使用说明
项目简介
本项目是一个MCP(Model Context Protocol)服务器,旨在通过标准化的MCP协议,向LLM客户端提供访问GitHub和X(Twitter)API的能力。它内置了多个工具,可以帮助LLM应用获取代码仓库信息、社交媒体用户数据等,从而增强LLM的上下文理解和信息检索能力。
主要功能点
- GitHub 信息查询:
- 获取GitHub仓库的详细信息(如仓库名、描述、星标数等)。
- 列出GitHub仓库的 issues,并可按状态过滤。
- X (Twitter) 信息查询:
- 获取X用户的个人资料信息(如用户名、粉丝数、简介等)。
- 获取X用户的最新推文。
- 上下文管理: 服务器会缓存已查询到的GitHub仓库和X用户信息,方便后续操作基于上下文进行。
- 易于扩展: 基于 FastMCP 框架构建,可以方便地添加更多工具和功能。
安装步骤
- 克隆仓库:
git clone https://github.com/trymeuj/github-x-servers-personal.git cd github-x-servers-personal - 安装依赖:
确保你的Python环境中已安装 'fastmcp', 'httpx', 'python-dotenv' 等库。如果未安装,可以使用 pip 安装:
pip install fastmcp httpx python-dotenv - 配置API Token:
在项目根目录下创建 '.env' 文件,并填入 GitHub 和 X (Twitter) 的 API Token。你需要自行在 GitHub 和 X 开发者平台申请API Token。
请替换 'YOUR_GITHUB_PERSONAL_ACCESS_TOKEN' 和 'YOUR_X_BEARER_TOKEN' 为你实际的Token。GITHUB_TOKEN=YOUR_GITHUB_PERSONAL_ACCESS_TOKEN X_BEARER_TOKEN=YOUR_X_BEARER_TOKEN
服务器配置
MCP客户端需要配置以下信息以连接到此服务器。这是一个 JSON 格式的配置示例,你需要将其提供给你的 MCP 客户端:
{ "serverName": "github-x-api", // 服务器名称,与代码中 FastMCP 初始化时的名称一致 "command": "python", // 启动服务器的命令,这里使用 python 解释器 "args": ["github-x.py"], // 启动命令的参数,指向服务器主程序文件 "transport": "stdio" // 使用 stdio 作为传输协议,这是代码中 'mcp.run(transport='stdio')' 指定的 }
配置参数说明:
- 'serverName': 服务器的名称,必须与 'github-x.py' 中 'FastMCP("github-x-api")' 初始化时设置的名称 '"github-x-api"' 一致。
- 'command': 运行服务器程序的命令。通常是 'python' 或 'python3',取决于你的Python环境配置。
- 'args': 传递给 'command' 的参数,用于指定要运行的服务器脚本文件,这里是 'github-x.py'。
- 'transport': 指定MCP客户端与服务器通信的传输协议。这里设置为 'stdio',表示使用标准输入输出流进行通信。这需要与 'github-x.py' 中 'mcp.run(transport='stdio')' 的配置保持一致。
基本使用方法
-
启动服务器: 在项目根目录下,打开终端并运行命令:
python github-x.py服务器将通过 stdio 监听 MCP 客户端的请求。你会在终端看到 API Token 的加载状态信息。
-
配置 MCP 客户端: 将上面提供的 JSON 格式的服务器配置信息填入你的 MCP 客户端的服务器配置中。
-
通过 MCP 客户端调用工具: 使用 MCP 客户端,你可以调用服务器提供的工具,例如:
- 调用 'github_get_repo' 工具,并传入 'owner' 和 'repo' 参数,即可获取指定 GitHub 仓库的信息。
- 调用 'x_get_user' 工具,并传入 'username' 参数,即可获取指定 X 用户的信息。
- 更多工具和参数请参考代码中的 '@mcp.tool()' 注解。
MCP 客户端会按照 MCP 协议与服务器进行通信,发送请求并接收响应,最终将结构化的信息呈现给用户或LLM应用。
注意:
- 确保你已正确配置 GitHub 和 X API 的 Token,否则服务器将无法正常访问 API。
- 服务器默认使用 'stdio' 传输协议,MCP 客户端也需要配置为使用 'stdio' 或兼容的协议进行连接。
- 工具的具体参数和功能请参考代码中的函数签名和文档字符串 ('docstring')。
信息
分类
网页与API