GitHub MCP服务器
用于GitHub与实时事件流集成的模型上下文协议(MCP)服务器。
特性
- 通过服务器发送事件(SSE)实时显示GitHub存储库事件
- 用于GitHub数据访问的RESTful API
- Docker支持生产就绪配置
- 安全环境变量配置
快速开始
使用Docker Compose
- 克隆存储库:
git clone https://github.com/Joseph19820124/github-mcp-server-joseph.git
cd github-mcp-server-joseph- 设置环境变量:
cp .env.example .env- 编辑
.env文件并添加您的GitHub令牌:
GITHUB_TOKEN=your_github_personal_access_token
PORT=3000- 启动服务器:
docker-compose up -d替代方案:直接运行Docker
您还可以直接使用环境变量运行容器:
# Build the image
docker build -t github-mcp-server .
# Run with environment variable
docker run -d \
--name github-mcp-server \
-p 3000:3000 \
-e GITHUB_TOKEN=your_github_personal_access_token \
-e PORT=3000 \
github-mcp-server:latest地方发展
# Install dependencies
npm install
# Set environment variables
export GITHUB_TOKEN=your_github_personal_access_token
export PORT=3000
# Start the server
npm startGitHub令牌设置
- 转到GitHub设置→ 开发人员设置→ 个人访问令牌
- 生成具有以下权限的新令牌:
- repo (用于访问存储库) - read:org (用于组织数据) - user (供用户参考)
- 复制令牌并在环境配置中使用它
API终点
GET /health-健康检查GET /sse/github/:owner/:repo-实时事件的SSE端点GET /api/repos/:owner/:repo-获取存储库信息GET /api/repos/:owner/:repo/commits-获取存储库提交
环境变量
| 变量 | 描述 | 必填 | 默认 |
|---|---|---|---|
GITHUB_TOKEN | GitHub个人访问令牌 | 是 | - |
PORT | 服务器端口 | 否 | 3000 |
NODE_ENV | 环境(开发/生产) | 否 | 开发 |
安全
- 永远不要将GitHub令牌提交给版本控制
- 使用环境变量进行敏感配置
- Docker镜像不包含任何硬编码的令牌
- 所有令牌都是在运行时通过环境变量注入的
健康检查
服务器包括一个健康检查端点,位于 /health 返回:
{
"status": "healthy",
"timestamp": "2025-07-06T11:00:00.000Z"
}生产部署
对于生产部署,请使用提供的 docker-compose.prod.yml:
docker-compose -f docker-compose.prod.yml up -d这包括:
- Nginx反向代理
- 健康检查
- 日志轮转
- 重新启动策略
故障排除
常见问题
- “凭据错误”错误:检查您的GitHub令牌权限
- 端口已在使用中:更改PORT环境变量
- Docker构建失败:确保Docker正在运行,并且您可以访问互联网
日志
查看容器日志:
docker-compose logs -f github-mcp-server贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 彻底测试
- 提交拉取请求
许可证
这个项目是开源的,可以在MIT许可证下使用。
