GitHub仓库扫描工具

一个Cloudflare Worker,用于扫描GitHub仓库并提供文件、目录和内容的结构化视图,适用于与Smithery等MCP工具集成。

  • by dylandaubenspeck
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 dylandaubenspeck/mcp-github-ocr

使用说明

GitHub存储库扫描程序MCP

Cloudflare Worker扫描GitHub存储库,并提供存储库文件、目录和内容的结构化视图。非常适合与Smithery和其他MCP工具集成。

特性

  • 📁 扫描任何公共或私有GitHub存储库(使用适当的令牌)
  • 🧠 创建存储库文件和目录的结构化树视图
  • 📝 显示文件内容以便于查看
  • 🚀 将存储库数据缓存24小时以提高性能
  • 🔄 提供HTML和JSON输出格式
  • 🔒 安全-用户提供自己的GitHub令牌

API使用

web界面

访问浏览器中已部署的worker URL以访问web界面。

编程访问

向发出GET请求 /scan 端点具有以下参数:

/scan?url=REPO_URL&token=YOUR_GITHUB_TOKEN&format=json

参数:

  • url:GitHub存储库URL(例如。,https://github.com/username/repo)
  • token:您的GitHub个人访问令牌 repo 或 public_repo 范围
  • format:(可选)响应格式,使用 json 用于机器可读输出

例子:

/scan?url=https://github.com/username/repo&token=ghp_xxxx&format=json

响应格式

JSON响应包括:

{
  "success": true,
  "data": {
    "name": "repository-name",
    "owner": "owner-name",
    "projectStructure": {
      "files": ["root-level-file1", "root-level-file2"],
      "directories": {
        "dir1": {
          "files": ["file-in-dir1"],
          "directories": {}
        }
      }
    },
    "fileContents": {
      "file-path": "file content",
      "dir1/file-in-dir1": "content of file in dir1"
    },
    "timestamp": 1679000000000
  },
  "cached": false,
  "timestamp": 1679000000000
}

部署

Cloudflare员工

  1. 克隆此存储库
  2. 安装依赖项 npm install
  3. 使用部署 npm run deploy

码头工人

Dockerfile包含在支持Docker容器的平台上进行部署:

docker build -t github-repo-scanner .
docker run -p 8787:8787 github-repo-scanner

Smithery集成

这个工人的设计很容易与Smithery集成。在Smithery部署时:

  1. 分叉或克隆此存储库
  2. 使用Smithery平台进行部署
  3. 用户在使用该工具时需要提供自己的GitHub令牌

GitHub代币

需要具有以下范围的GitHub个人访问令牌:

  • repo 私有存储库的范围
  • public_repo 公共存储库的范围

在以下位置创建令牌:https://github.com/settings/tokens

许可证

麻省理工学院