GitHub仓库内容访问服务

一个提供访问GitHub仓库内容的MCP服务器,允许AI助手浏览和读取指定GitHub仓库中的文件。

  • by loglmhq
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 loglmhq/mcp-server-github-repo

使用说明

MCP GitHub存储库服务器

一个MCP(模型上下文协议)服务器,提供对GitHub存储库内容的访问。此服务器允许AI助手浏览和读取指定GitHub存储库中的文件。

演示

特性

资源

  • 通过URI访问GitHub存储库中的任何文件
  • 列出存储库内容并导航目录
  • 支持特定于分支的文件访问
  • 文件内容以纯文本形式提供

资源URI

  • 基本URL格式: https://api.github.com/repos/{owner}/{repo}/contents/{path}
  • 支持文件和目录
  • 文件通过以下方式提供 text/plain MIME类型
  • 目录已送达 application/x-directory MIME类型

配置

服务器需要以下环境变量:

GITHUB_PERSONAL_ACCESS_TOKEN=your_github_token
GITHUB_OWNER=repository_owner
GITHUB_REPO=repository_name
GITHUB_BRANCH=branch_name  # Optional

发展

安装依赖项:

npm install

构建服务器:

npm run build

对于自动重建的开发:

npm run watch

安装

要与Claude Desktop一起使用,请添加服务器配置:

配置位置

  • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "mcp-server-github-repo": {
      "command": "/path/to/mcp-server-github-repo/build/index.js"
    }
  }
}

API实现

服务器实现了三个主要的MCP端点:

  1. ListResources -列出存储库中的文件和目录
  2. ReadResource -检索特定文件的内容

认证

服务器使用GitHub个人访问令牌进行身份验证。确保您的令牌具有访问存储库内容的适当权限。

错误处理

服务器包括以下错误处理:

  • 缺少环境变量
  • GitHub API 错误
  • 无效路径(例如,试图将目录作为文件读取)
  • 身份验证失败

调试

由于MCP服务器通过stdio进行通信,调试可能具有挑战性。使用MCP检查器进行调试:

npm run inspector

这将提供一个URL,用于访问浏览器中的调试工具。

安全说明

  • 确保您的GitHub个人访问令牌安全
  • 考虑使用具有最低所需权限的令牌
  • 访问大型存储库时,请注意存储库大小限制

许可证

麻省理工学院