mcpField
G
GitHub MCP Server

GitHub MCP Server

本地服务
github.com/yamagai版本控制082 周前更新

关于 GitHub MCP Server

GitHub MCP Server 是用 Go 编写的服务,为 LLM 应用提供访问 GitHub API 的标准化接口。它支持仓库与文件操作,以及创建和评审 Pull Request,并可通过 stdio 或 SSE 运行。

主要功能

  1. 01搜索和创建仓库
  2. 02读取、创建和更新文件
  3. 03推送多个文件
  4. 04Fork 仓库
  5. 05创建和查看 Pull Request
  6. 06添加 Pull Request 评审

适用场景

  1. 01查找符合条件的仓库
  2. 02更新 GitHub 仓库中的文件
  3. 03一次提交多个文件的更改
  4. 04创建并评审 Pull Request

MCP 相关

该服务将 GitHub 仓库、文件和 Pull Request 操作作为 MCP 工具提供。它支持 stdio 和 SSE 传输,并使用 GitHub 令牌认证。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"github-mcp-server-sse": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
启动命令docker run -i --rm build

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocibuild

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

来自项目 README

GitHub 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_repositoriesGitHubリポジトリを検索します
create_repository新しいGitHubリポジトリを作成します
get_file_contentsGitHubリポジトリからファイルの内容を取得します
create_or_update_fileGitHubリポジトリにファイルを作成または更新します
push_files複数のファイルを一度にGitHubリポジトリにプッシュします
fork_repositoryGitHubリポジトリをフォークします
create_pull_requestGitHubリポジトリに新しいPull Requestを作成します
get_pull_requestGitHubリポジトリからPull Requestの詳細を取得します
create_pull_request_reviewPull Requestにレビューを作成します

開発

# 依存関係の解決
go mod tidy

# ビルド
go build

# テスト
go test ./...

コマンドラインオプション

オプション短縮形説明デフォルト値
--transport-t使用するトランスポートタイプ (stdio または sse)stdio
--port-pSSEサーバーのポート番号8080

参考

このプロジェクトはMCP-Goライブラリを使用しています。詳細なドキュメントについては、そちらを参照してください。

ライセンス

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。