关于 GitHub MCP Server
GitHub MCP Server 是用 Go 编写的服务,为 LLM 应用提供访问 GitHub API 的标准化接口。它支持仓库与文件操作,以及创建和评审 Pull Request,并可通过 stdio 或 SSE 运行。
主要功能
- 01搜索和创建仓库
- 02读取、创建和更新文件
- 03推送多个文件
- 04Fork 仓库
- 05创建和查看 Pull Request
- 06添加 Pull Request 评审
适用场景
- 01查找符合条件的仓库
- 02更新 GitHub 仓库中的文件
- 03一次提交多个文件的更改
- 04创建并评审 Pull Request
MCP 相关
该服务将 GitHub 仓库、文件和 Pull Request 操作作为 MCP 工具提供。它支持 stdio 和 SSE 传输,并使用 GitHub 令牌认证。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
来自项目 READMEGitHub MCP Server
Model Context Protocol (MCP) を使用したGitHub統合サーバーです。このサーバーはLLM(大規模言語モデル)アプリケーションがGitHub APIと通信するための標準化されたインターフェースを提供します。
機能
このサーバーは以下の機能を提供します:
- リポジトリの検索
- リポジトリの作成
- ファイルの内容の取得
- ファイルの作成・更新
- 複数ファイルの一括プッシュ
- リポジトリのフォーク
- Pull Requestの作成
- Pull Requestの詳細取得
- Pull Requestへのレビュー追加
インストール
go get github.com/yamagai/github-mcp-server-sse
使用方法
標準入出力モード (Stdio)
# 環境変数でGitHubトークンを設定
export GITHUB_TOKEN=your_github_token
# サーバーを起動(デフォルトは標準入出力モード)
github-mcp
# または明示的に標準入出力モードを指定
github-mcp -t stdio
SSEモード
# 環境変数でGitHubトークンを設定(または各リクエストのAuthorizationヘッダーで指定)
export GITHUB_TOKEN=your_github_token
# デフォルトポート(8080)でSSEサーバーを起動
github-mcp -t sse
# カスタムポートでSSEサーバーを起動
github-mcp -t sse -p 3000
SSEモードでは、HTTPリクエストのAuthorizationヘッダーにGitHubトークンを含めることもできます:
curl -H "Authorization: Bearer YOUR_GITHUB_TOKEN" http://localhost:8080/events
Dockerコンテナでの使用
SSEモードでサーバーを実行するDockerコンテナが提供されています。
ビルド方法
# Dockerイメージをビルド
docker build -t github-mcp-server-sse .
実行方法
# 環境変数でGitHubトークンを指定して実行
docker run -p 8080:8080 -e GITHUB_TOKEN=your_github_token github-mcp-server-sse
# カスタムポートで実行(環境変数でポートを指定)
docker run -p 3000:3000 -e GITHUB_TOKEN=your_github_token -e PORT=3000 github-mcp-server-sse
ツール一覧
| ツール名 | 説明 |
|---|---|
| search_repositories | GitHubリポジトリを検索します |
| create_repository | 新しいGitHubリポジトリを作成します |
| get_file_contents | GitHubリポジトリからファイルの内容を取得します |
| create_or_update_file | GitHubリポジトリにファイルを作成または更新します |
| push_files | 複数のファイルを一度にGitHubリポジトリにプッシュします |
| fork_repository | GitHubリポジトリをフォークします |
| create_pull_request | GitHubリポジトリに新しいPull Requestを作成します |
| get_pull_request | GitHubリポジトリからPull Requestの詳細を取得します |
| create_pull_request_review | Pull Requestにレビューを作成します |
開発
# 依存関係の解決
go mod tidy
# ビルド
go build
# テスト
go test ./...
コマンドラインオプション
| オプション | 短縮形 | 説明 | デフォルト値 |
|---|---|---|---|
| --transport | -t | 使用するトランスポートタイプ (stdio または sse) | stdio |
| --port | -p | SSEサーバーのポート番号 | 8080 |
参考
このプロジェクトはMCP-Goライブラリを使用しています。詳細なドキュメントについては、そちらを参照してください。
ライセンス
MIT
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。