关于 GitHub MCP Server
GitHub MCP Server 是面向需要通过 MCP 应用创建 GitHub 仓库的 Python 服务。其工具支持设置仓库名称、描述和可见性。
主要功能
- 01创建 GitHub 仓库
- 02设置仓库名称和描述
- 03选择公开或私有可见性
适用场景
- 01通过 MCP 客户端创建仓库
- 02创建时设置描述和可见性
MCP 相关
它通过标准输入/输出上的 JSON-RPC 实现 MCP,并提供 `create_repository` 工具。MCP 客户端可列出并调用该工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
GitHub MCP 服务
一个用于提供 GitHub 仓库管理功能的模型上下文协议(MCP)服务。
功能
- 创建仓库:创建可自定义设置的 GitHub 新仓库
前提条件
- Python 3.8 或更高版本
- 具有创建仓库权限的 GitHub Personal Access Token
安装
- 克隆此仓库:
git clone https://github.com/Joseph19820124/joseph-github-mcp-server.git
cd joseph-github-mcp-server
- 安装依赖项:
pip install -r requirements.txt
- 设置 GitHub 令牌:
export GITHUB_TOKEN="your_github_personal_access_token"
用法
运行 MCP 服务
python main.py
服务将启动,并通过 stdin/stdout 监听 MCP 请求。
可用工具
create_repository
创建一个新的 GitHub 仓库。
参数:
name(必填):仓库名称description(可选):仓库描述private(可选):仓库是否应为私有(默认值:false)
请求示例:
{
"method": "tools/call",
"params": {
"name": "create_repository",
"arguments": {
"name": "my-new-repo",
"description": "A sample repository",
"private": false
}
},
"id": "1"
}
响应示例:
{
"content": [
{
"type": "text",
"text": "{\n \"success\": true,\n \"repository\": {\n \"id\": 123456789,\n \"name\": \"my-new-repo\",\n \"full_name\": \"username/my-new-repo\",\n \"html_url\": \"https://github.com/username/my-new-repo\",\n \"clone_url\": \"https://github.com/username/my-new-repo.git\",\n \"ssh_url\": \"[email protected]:username/my-new-repo.git\",\n \"private\": false,\n \"description\": \"A sample repository\"\n }\n}"
}
],
"id": "1"
}
GitHub 令牌设置
要使用此 MCP 服务,你需要具有以下权限的 GitHub Personal Access Token:
-
前往 GitHub Settings > Developer settings > Personal access tokens
-
生成具有以下权限范围的新令牌:
repo(用于仓库访问)user(用于用户信息)
-
将令牌设置为环境变量:
export GITHUB_TOKEN="your_token_here"
开发
项目结构
joseph-github-mcp-server/
├── main.py # Main MCP server implementation
├── requirements.txt # Python dependencies
├── README.md # This file
└── pyproject.toml # Project configuration
测试
你可以通过发送 JSON-RPC 请求来测试服务:
- 启动服务:
python main.py
- 发送测试请求:
echo '{"method": "tools/list", "id": "1"}' | python main.py
MCP(模型上下文协议)
此服务实现了模型上下文协议,这是一种用于将 AI 应用与外部数据源和工具连接起来的开放标准。该协议使用通过 stdio 传输的 JSON-RPC 2.0 进行通信。
支持的 MCP 方法
tools/list:列出可用工具tools/call:执行指定工具
工具架构
create_repository 工具遵循 MCP 工具架构:
{
"name": "create_repository",
"description": "Create a new GitHub repository",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Repository name"
},
"description": {
"type": "string",
"description": "Repository description",
"default": ""
},
"private": {
"type": "boolean",
"description": "Whether the repository should be private",
"default": false
}
},
"required": ["name"]
}
}
许可证
MIT 许可证
贡献
欢迎提交 Pull Request。对于重大更改,请先创建 issue,讨论你希望进行的更改。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。