MCP GitHub存储库服务器
一个MCP(模型上下文协议)服务器,提供对GitHub存储库内容的访问。此服务器允许AI助手浏览和读取指定GitHub存储库中的文件。
演示
特性
资源
- 通过URI访问GitHub存储库中的任何文件
- 列出存储库内容并导航目录
- 支持特定于分支的文件访问
- 文件内容以纯文本形式提供
资源URI
- 基本URL格式:
https://api.github.com/repos/{owner}/{repo}/contents/{path} - 支持文件和目录
- 文件通过以下方式提供
text/plainMIME类型 - 目录已送达
application/x-directoryMIME类型
配置
服务器需要以下环境变量:
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端点:
ListResources-列出存储库中的文件和目录ReadResource-检索特定文件的内容
认证
服务器使用GitHub个人访问令牌进行身份验证。确保您的令牌具有访问存储库内容的适当权限。
错误处理
服务器包括以下错误处理:
- 缺少环境变量
- GitHub API 错误
- 无效路径(例如,试图将目录作为文件读取)
- 身份验证失败
调试
由于MCP服务器通过stdio进行通信,调试可能具有挑战性。使用MCP检查器进行调试:
npm run inspector这将提供一个URL,用于访问浏览器中的调试工具。
安全说明
- 确保您的GitHub个人访问令牌安全
- 考虑使用具有最低所需权限的令牌
- 访问大型存储库时,请注意存储库大小限制
许可证
麻省理工学院
