github-mcp-server-sse

github-mcp-server-sse

0

The GitHub MCP Server is designed to provide a standardized interface for applications to interact with the GitHub API using the Model Context Protocol. It supports various functionalities including repository management and pull request handling, and can be operated through different methods such as standard input/output, SSE, and Docker containers.

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