article
README
🚀 GitHub 仓库 MCP 协议服务器
本项目实现了 Model Context Protocol (MCP) 服务器,可提供对 GitHub 仓库内容的访问权限,让 AI 助手能够浏览并读取指定 GitHub 仓库中的文件。
🚀 快速开始
本服务器允许 AI 助手访问 GitHub 仓库内容,若要使用,可参考后续的配置、安装等步骤。
✨ 主要特性
资源
- 可通过 URI 访问仓库中的任意文件。
- 能列出仓库内容并进行目录导航。
- 支持对特定分支的文件进行访问。
- 文件内容以纯文本形式提供。
资源 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 # 可选
与 Claude 桌面配合使用
添加服务器配置:
配置位置
- MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"mcp-server-github-repo": {
"command": "/path/to/mcp-server-github-repo/build/index.js"
}
}
}
💻 使用示例
开发环境操作
安装依赖项
npm install
构建服务器
npm run build
带有自动重建功能的开发
npm run watch
调试
由于 MCP 服务器通过 stdio 通信,调试可能具有挑战性。使用 MCP 检查器进行调试:
npm run inspector
这将提供一个可在浏览器中访问调试工具的 URL。
📚 详细文档
API 实现
服务器实现了三个主要的 MCP 端点:
ListResources- 列出仓库中的文件和目录。ReadResource- 获取特定文件的内容。
认证
服务器使用 GitHub 个人访问令牌进行认证。确保您的令牌具有适当的权限以访问仓库内容。
错误处理
服务器包含以下错误处理功能:
- 环境变量缺失。
- GitHub API 错误。
- 无效路径(例如尝试将目录读取为文件)。
- 认证失败。
🔧 技术细节
演示

📄 许可证
本项目采用 MIT 许可证。
⚠️ 重要提示
- 请妥善保管您的 GitHub 个人访问令牌。
- 考虑使用权限最小的令牌。
- 注意仓库大小限制,特别是在访问大型仓库时。
微信扫一扫