使用说明

项目简介

本项目是一个 MCP (Model Context Protocol) 服务器,旨在帮助用户更方便地管理和检索自己在 GitHub 上 Star 的仓库。它通过抓取用户的 Star 仓库信息、处理仓库的 README 文件,并利用 Cloudflare AutoRAG 提供语义搜索功能,最终以 MCP 接口的形式对外提供服务,方便 AI Agent 等 MCP 客户端调用。

主要功能点

  • 自动同步 GitHub Star 仓库: 定期抓取用户 GitHub Star 仓库列表和 README 文件。
  • 语义搜索: 基于 Cloudflare AutoRAG 提供对 Star 仓库内容(主要是 README)的自然语言语义搜索能力。
  • MCP 兼容 API: 提供符合 MCP 协议标准的 API 接口,方便集成到各类 MCP 客户端,特别是 AI Agent。
  • 工具 (Tool) 注册: 注册 'search_github_stars' 工具,允许客户端通过该工具进行仓库搜索。

安装步骤

  1. 克隆仓库: 将 GitHub 仓库 'ccbikai/github-stars' 克隆到本地。
  2. 安装依赖: 确保已安装 Node.js (推荐 v22) 和 PNPM,然后在项目根目录下运行 'pnpm install' 安装项目依赖。
  3. 配置 Cloudflare R2:
    • 创建一个 Cloudflare R2 存储桶 (Bucket) 用于存储仓库数据。
    • 配置 R2 访问凭证(账户 ID、访问密钥 ID、秘密访问密钥)。
  4. 配置 GitHub Secrets: 在 GitHub 仓库的 Settings -> Secrets and variables -> Actions 中添加以下 Secrets:
    • 'GH_TOKEN': GitHub Personal Access Token,需要 'repo' 权限。
    • 'R2_ACCOUNT_ID': Cloudflare 账户 ID。
    • 'R2_ACCESS_KEY_ID': R2 访问密钥 ID。
    • 'R2_SECRET_ACCESS_KEY': R2 秘密访问密钥。
    • 'R2_BUCKET': R2 存储桶名称。
  5. 配置 Cloudflare AutoRAG:
    • 在 Cloudflare 中创建一个 AutoRAG 实例。
    • 在 Cloudflare Worker 的环境变量中设置 'AUTO_RAG_NAME' 为 AutoRAG 实例的名称。
  6. 部署到 Cloudflare Workers: 运行 'pnpm deploy' 将项目部署到 Cloudflare Workers。

服务器配置

对于 MCP 客户端,需要配置连接到 GitHub Star 搜索服务器的信息。以下是一个 JSON 格式的配置示例,通常在 MCP 客户端的服务器管理或连接设置中添加:

{
  "serverName": "GitHub Stars Search",
  "transport": "sse",
  "command": "https://your-worker-url.workers.dev",
  "protocol": "json-rpc",
  "apiVersion": "1.0",
  "description": "GitHub Star 搜索服务器,提供搜索 GitHub Star 仓库的功能。",
  "capabilities": [
    "tools"
  ]
}

配置参数说明:

  • 'serverName': 服务器名称,可以自定义,例如 "GitHub Stars Search"。
  • 'transport': 传输协议,本项目使用 SSE (Server-Sent Events)。
  • 'command': 服务器地址,替换 'https://your-worker-url.workers.dev' 为您部署的 Cloudflare Worker 的 URL。
  • 'protocol': 通信协议,本项目使用 JSON-RPC。
  • 'apiVersion': API 版本,当前版本为 "1.0"。
  • 'description': 服务器描述信息,可选。
  • 'capabilities': 服务器提供的能力列表,本项目提供 "tools" 能力。

基本使用方法

部署完成后,您可以使用任何兼容 MCP 协议的客户端连接到该服务器。客户端可以通过 JSON-RPC 请求调用服务器注册的工具。

示例:使用 'search_github_stars' 工具

客户端可以发送如下 JSON-RPC 请求来调用 'search_github_stars' 工具,搜索包含关键词 "自然语言处理" 的 GitHub Star 仓库:

{
  "jsonrpc": "2.0",
  "method": "call",
  "params": {
    "tool_call_id": "search-github-stars-1",
    "tool_name": "search_github_stars",
    "parameters": {
      "query": "自然语言处理"
    }
  },
  "id": 1
}

服务器会返回包含搜索结果的 JSON-RPC 响应。具体的响应格式请参考仓库 'README.md' 中的 API Reference 部分。

信息

分类

开发者工具