GitHub星标仓库搜索服务

一个基于Cloudflare的MCP服务器,允许用户使用自然语言搜索和查询GitHub星标仓库。

  • by miantiao-me
  • JavaScript
  • 本地部署
  • 118 星标
  • 更新于
在 GitHub 查看 ccbikai/github-stars

使用说明

GitHub之星MCP服务器

Cloudflare支持的MCP(模型上下文协议)服务器,允许您使用自然语言搜索和查询GitHub星级存储库。

英语| 简体中文


概述

该项目通过以下方式创建了一个可搜索的GitHub星级存储库数据库:

  1. 使用GitHub API获取您的所有星级存储库
  2. 从每个存储库中提取和处理README文件
  3. 将处理后的数据上传到Cloudflare R2存储
  4. 使用Cloudflare AutoRAG创建嵌入以实现高效搜索
  5. 公开允许通过自然语言查询这些存储库的MCP服务器

特性

  • 自动获取和处理GitHub星级存储库
  • 通过GitHub Actions安排每周更新
  • 存储存储库元数据和README内容
  • 通过Cloudflare AutoRAG提供语义搜索功能
  • 公开与MCP兼容的API,以便与AI代理集成

设置

先决条件

  • Node.js(建议使用v22)
  • PNPM包管理器
  • GitHub个人访问令牌 repo 范围
  • Cloudflare帐户

配置

  1. 克隆此存储库

  2. 设置Cloudflare R2:

    • 创建R2桶
    • 配置R2访问凭据
  3. 为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存储桶名称
  4. 配置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 deploy

GitHub Action将自动执行以下操作:

  1. 每周运行以更新您的星号存储库
  2. 将处理后的文件上传到R2
  3. 重建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结果