使用说明
GitHub MCP服务器
GitHub存储库、问题、拉取请求、分支、标签、提交和搜索的模型上下文协议服务器。
它附带了5个类别和支持的34个工具:
- 托管密钥服务模式
usr_...用户密钥 - 自托管流式HTTP部署
- 本地MCP客户端的CLI/stdio使用情况
快速开始
选项1:托管密钥服务模式
首选基于路径的形式:
{
"mcpServers": {
"github": {
"transport": "streamable-http",
"url": "https://mcp.techmavie.digital/github/mcp/usr_YOUR_USER_KEY"
}
}
}
兼容性查询表单:
https://mcp.techmavie.digital/github/mcp?api_key=usr_YOUR_USER_KEY
选项2:自托管HTTP
使用基于标头的身份验证 /github/mcp:
{
"mcpServers": {
"github": {
"transport": "streamable-http",
"url": "https://mcp.techmavie.digital/github/mcp",
"headers": {
"X-API-Key": "YOUR_MCP_API_KEY",
"X-GitHub-Token": "YOUR_GITHUB_TOKEN"
}
}
}
}
MCP_API_KEY 必须在服务器上或自托管上配置 /mcp 请求将被拒绝。
对于安装在以下位置的部署 /github,set PUBLIC_BASE_PATH=/github 因此服务器卡通告正确的公共端点。
选项3:CLI/stdio
npm install -g mcp-github
GITHUB_PERSONAL_ACCESS_TOKEN=ghp_your_token_here mcp-github
客户端配置示例:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "mcp-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_your_token_here"
}
}
}
}
选项4:传统查询令牌模式
这仍然仅支持显式请求,并且已被弃用:
https://mcp.techmavie.digital/github/mcp?token=YOUR_GITHUB_TOKEN
服务器不再回退到自己的服务器 GITHUB_PERSONAL_ACCESS_TOKEN 为裸 /mcp HTTP请求。
身份验证模式
| 模式 | 端点 | 客户端身份验证 |
|---|---|---|
| 托管密钥服务 | POST /github/mcp/usr_... |
用户键入路径 |
| 托管密钥服务兼容性 | POST /github/mcp?api_key=usr_... |
查询字符串中的用户密钥 |
| 自托管 | POST /github/mcp |
X-API-Key 和 X-GitHub-Token 标题 |
| 遗产 | POST /github/mcp?token=... |
显式查询令牌,已弃用 |
| CLI | 标准输入 | GITHUB_PERSONAL_ACCESS_TOKEN 有人是。 |
工具类别
搜索工具(3)
search_repositoriessearch_codesearch_users
存储库工具(12)
get_repositoryget_commitlist_commitslist_branchescreate_or_update_filecreate_repositoryget_file_contentsfork_repositorycreate_branchlist_tagsget_tagpush_files
问题工具(7)
get_issueadd_issue_commentsearch_issuescreate_issuelist_issuesupdate_issueget_issue_comments
拉取请求工具(11)
get_pull_requestupdate_pull_requestlist_pull_requestsmerge_pull_requestget_pull_request_filesget_pull_request_statusupdate_pull_request_branchget_pull_request_commentscreate_pull_requestget_pull_request_review_commentscreate_pull_request_review_comment
实用工具(1)
hello
端点
| 端点 | 方法 | 描述 |
|---|---|---|
/health |
GET | 健康检查 |
/mcp/:userKey |
POST | 托管密钥服务端点 |
/mcp |
POST | 自托管端点 |
/mcp-debug/open |
POST | 启用时的诊断端点 |
/.well-known/mcp/server-card.json |
GET | 根级发现元数据 |
/analytics |
GET | 分析JSON,需要 X-API-Key |
/analytics/tools |
GET | 分析工具故障,需要 X-API-Key |
/analytics/dashboard |
GET | 分析仪表板外壳 |
如果此服务器安装在 /github,服务器卡路由仍然存在于主机根:
https://mcp.techmavie.digital/.well-known/mcp/server-card.json
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
PORT |
8080 |
HTTP端口 |
HOST |
0.0.0.0 |
绑定地址 |
GITHUB_PERSONAL_ACCESS_TOKEN |
unset | 仅限CLI/stdio令牌 |
MCP_API_KEY |
unset | 自托管需要 /mcp 和分析 |
KEY_SERVICE_URL |
unset | 托管密钥服务解析器URL |
KEY_SERVICE_TOKEN |
unset | 托管密钥服务承载令牌 |
ALLOWED_ORIGINS |
* |
逗号分隔的CORS列表 |
PUBLIC_BASE_PATH |
unset | 公共反向代理装载路径,例如 /github |
MCP_PROTOCOL_VERSION |
2025-11-25 |
HTTP服务器报告的协议版本 |
MCP_TRACE_HTTP |
false |
启用净化请求跟踪 |
ENABLE_MCP_DIAGNOSTICS |
false |
启用 /mcp-debug/open |
ANALYTICS_DIR |
/app/data |
分析存储目录 |
本地开发
npm install
npm run dev:http
构建并运行生产HTTP模式:
npm run build:tsc
npm run start:http
运行CLI模式:
GITHUB_PERSONAL_ACCESS_TOKEN=ghp_your_token_here npm run cli
项目结构
mcp-github/
|-- src/
| |-- index.ts
| |-- http-server.ts
| |-- cli.ts
| |-- tools/
| |-- resources/
|-- deploy/
| |-- DEPLOYMENT.md
| |-- nginx-mcp.conf
|-- .github/workflows/
|-- docker-compose.yml
|-- Dockerfile
|-- .env.sample
|-- package.json
|-- tsconfig.json
`-- README.md
安全须知
- 自托管
/mcp在以下情况下关闭失败MCP_API_KEY不见了。 - 分析失败时关闭
MCP_API_KEY不见了。 - 裸露的
/mcp请求不再继承服务器自己的PAT。 - 最近的分析仅存储哈希客户端IP。
- 请求范围的MCP服务器和传输用于HTTP请求。
?token=仅作为明确的已弃用兼容性路径可用。
