使用说明
GitHub MCP服务器
这个存储库Model Context Protocol (MCP) 用于测试服务器的实施和使用方法。
概要
Model Context Protocol (MCP) 是用于标准化大型语言模型(LLM)和客户端应用程序之间的通信的协议。通过使用该协议,代理可以有效地与外部工具和客户端应用程序协作。
GitHub MCP服务器GitHub API与合作,将信息库操作、代码检索、标题管理等功能LLM提供给代理。
特徴
- 存储库操作:创建存储库、添加、编辑文件和分支管理
- 代码搜索: GitHub查找上面的代码
- 伊修/PR管理:创建、更新、注释标题和拉式请求
- 认证管理: GitHub API安全认证
必要条件
- Node.js(v16.0.0)以上)
- npm 在工作空间的边缘yarn
- GitHub 帐户和个人访问令牌
安装方法
# リポジトリをクローン
git clone https://github.com/tomo-cps/mcp-test.git
cd mcp-test
# 依存パッケージのインストール
npm install
# または
yarn install
设定
.env创建文件并设置以下环境变量:
GITHUB_TOKEN=your_github_personal_access_token
PORT=3000
- GitHub 如何获取个人访问令牌:
- GitHub 登录
- 右上角的简档图标>Settings > Developer settings > Personal access tokens
- "Generate new token" 来修改标记元素的显示属性
- 必要な権限を选択(repo,user,read:org推奨)
- 生成令牌
.env保存到文件
启动服务器
# 開発モード
npm run dev
# または
yarn dev
# 本番モード
npm start
# または
yarn start
默认情况下,服务器 http://localhost:3000 中所述修改相应参数的值。
API 端点
这个MCP服务器提供以下主要端点:
/mcp/describe:描述可用功能和参数/mcp/execute:执行指定的命令/mcp/state:获取或更新当前状态
使用例
1.获取存储库信息
// クライアント側のコード例
const response = await fetch('http://localhost:3000/mcp/execute', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
command: 'get_repository',
params: {
owner: 'octocat',
repo: 'hello-world'
}
})
});
const data = await response.json();
console.log(data);
2.创建方案
// クライアント側のコード例
const response = await fetch('http://localhost:3000/mcp/execute', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
command: 'create_issue',
params: {
owner: 'your-username',
repo: 'your-repo',
title: 'バグ: ログイン画面で問題が発生',
body: '詳細な説明をここに記述します...',
labels: ['bug', 'priority:high']
}
})
});
const data = await response.json();
console.log(data);
故障排除
常见问题和解决方法:
- 验证错误: GitHub 请确保标记设置正确。
- 汇率限制: GitHub API 的规格化距离的幂函数。如果达到限制,请稍候再试。
- CORS 错误:在调用交叉原始文件时,服务器应正确CORS 请确保已设置页眉。
分发
- 分叉此存储库
- 创建特征分支(
git checkout -b feature/amazing-feature) - 提交更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 创建拉式请求
许可证
MIT License - 了解更多信息 许可证 请参见文件。
