MCP GitHub 仓库服务器基于模型上下文协议(MCP),可让AI助手便捷地浏览与读取指定GitHub仓库内的文件,实现对仓库内容的高效访问。
服务器运行依赖以下环境变量,请按需配置:
GITHUB_PERSONAL_ACCESS_TOKEN=your_github_token
GITHUB_OWNER=repository_owner
GITHUB_REPO=repository_name
GITHUB_BRANCH=branch_name # 可选
npm install
npm run build
若需自动重建开发,可执行:
npm run watch
在Claude Desktop中使用时,需添加服务器配置:
~/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"
}
}
}
https://api.github.com/repos/{owner}/{repo}/contents/{path}text/plain MIME类型,目录使用 application/x-directory MIME类型。与Claude Desktop一起使用时,按上述配置位置添加服务器配置即可完成安装。
通过基本URL格式访问仓库资源,例如访问特定文件:
https://api.github.com/repos/owner/repo/contents/path/to/file.txt
若要访问特定分支的文件,可在URL中指定分支:
https://api.github.com/repos/owner/repo/contents/path/to/file.txt?ref=branch_name
服务器实现了三个主要MCP端点:
ListResources - 列出仓库中的文件和目录ReadResource - 获取特定文件的内容服务器使用GitHub个人访问令牌进行认证,请确保您的令牌具有适当的权限以访问仓库内容。
服务器包含以下错误处理机制:
由于MCP服务器通过stdio通信,调试可能具有挑战性。可使用MCP Inspector进行调试:
npm run inspector
这将提供一个访问浏览器中的调试工具的URL。
服务器借助GitHub API实现对仓库资源的访问,通过环境变量配置仓库信息和认证令牌。在处理请求时,根据不同的MCP端点和资源URI,调用相应的GitHub API接口获取资源,并对返回结果进行处理和格式化。同时,服务器包含完善的错误处理机制,以应对各种可能的异常情况。
本项目采用MIT许可证。
⚠️ 重要提示
请保持GitHub个人访问令牌的安全,考虑使用权限最小的令牌,并注意仓库大小限制,以免影响访问大型仓库。
💡 使用建议
在开发过程中,可使用
npm run watch命令进行带自动重建的开发,提高开发效率。调试时,使用MCP Inspector可更方便地进行问题排查。