GitHub之星MCP服务器
Cloudflare支持的MCP(模型上下文协议)服务器,允许您使用自然语言搜索和查询GitHub星级存储库。
英语| 简体中文
______________________________________________________________________
概述
该项目通过以下方式创建了一个可搜索的GitHub星级存储库数据库:
- 使用GitHub API获取您的所有星级存储库
- 从每个存储库中提取和处理README文件
- 将处理后的数据上传到Cloudflare R2存储
- 使用Cloudflare AutoRAG创建嵌入以实现高效搜索
- 公开允许通过自然语言查询这些存储库的MCP服务器
特性
- 自动获取和处理GitHub星级存储库
- 通过GitHub Actions安排每周更新
- 存储存储库元数据和README内容
- 通过Cloudflare AutoRAG提供语义搜索功能
- 公开与MCP兼容的API,以便与AI代理集成
设置
先决条件
- Node.js(建议使用v22)
- PNPM包管理器
- GitHub个人访问令牌
repo范围 - Cloudflare帐户
配置
- 克隆此存储库
- 设置Cloudflare R2:
- 创建R2桶 - 配置R2访问凭据
- 为CI/CD工作流配置GitHub Secrets:
- GH_TOKEN:用于获取星号存储库的GitHub令牌 - R2_ACCOUNT_ID:Cloudflare帐户ID - R2_ACCESS_KEY_ID:R2访问密钥 - R2_SECRET_ACCESS_KEY:R2密钥 - R2_BUCKET:R2存储桶名称
- 配置Cloudflare AutoRAG:
- 在Cloudflare中创建AutoRAG实例 - 设置 AUTO_RAG_NAME Cloudflare Worker中的环境变量 - MCP_API_KEY:用于保护MCP服务器访问的API密钥(生成安全随机字符串)
地方发展
在当地发展:
# Install dependencies
pnpm install
# Fetch your GitHub stars locally
pnpm dev:stars
# Run MCP server locally
pnpm dev:mcp部署
部署到Cloudflare Workers:
pnpm deployGitHub Action将自动执行以下操作:
- 每周运行以更新您的星号存储库
- 将处理后的文件上传到R2
- 重建AutoRAG索引
用法
部署后,您可以使用任何兼容MCP的客户端与MCP服务器进行交互:
API密钥验证
为了安全起见,MCP服务器需要API密钥身份验证。包括你的 MCP_API_KEY 在请求标头中:
Authorization: Bearer your-mcp-api-key端点
流式HTTP: https://your-worker-url.workers.dev
api参考
MCP工具: search_github_stars
搜索您的星型GitHub存储库。
参数:
query(string):搜索存储库的自然语言查询
答复:
- 包含匹配存储库和相关README内容的JSON结果
