trackmcp
Back to directory
yuki-koma2

my-mcp-servers

View on GitHub

this is mcp servers in local

1 stars PythonServers & Infrastructure Updated Sep 6, 2025

Documentation

Dockerized GitHub MCP Server

GitHubのAPIと連携し、リポジトリのファイル操作、リポジトリ管理、検索機能などを提供するModel Context Protocol(MCP)サーバーをDockerコンテナとして提供します。

機能

  • 自動ブランチ作成: ファイル作成/更新時やpush時に、存在しないブランチを自動的に作成
  • 包括的なエラーハンドリング: 一般的な問題に対する明確なエラーメッセージを提供
  • Gitヒストリー保持: 操作は強制pushを使わず適切なGitヒストリーを維持
  • バッチ操作: 単一ファイルと複数ファイルの両方の操作をサポート
  • 高度な検索: コード、イシュー/PR、ユーザーの検索をサポート

セットアップ

1. GitHub Personal Access Tokenの準備

1. GitHub Personal Access Tokenを作成します

    2. `.env`ファイルにトークンを設定:

    code
    GITHUB_PERSONAL_ACCESS_TOKEN=ghp_your_token_here

    2. Dockerによるビルドと起動

    ビルド手順

    bash
    # Dockerイメージのビルド
    docker build -t mcp/github -f src/github/Dockerfile .

    起動手順(docker runの場合)

    bash
    docker run -it --rm -e GITHUB_PERSONAL_ACCESS_TOKEN=$GITHUB_PERSONAL_ACCESS_TOKEN -p 5000:5000 mcp/github

    複数コンテナ起動(docker-compose)

    bash
    # .envファイルを作成してトークンを設定
    cp .env.template .env
    # 環境変数を編集
    nano .env
    # 起動
    docker-compose up -d

    これにより、2つの異なるポート(5002と5003)でGitHub MCPサーバーが起動します。

    コンテナはttyモードで起動し、stdioインターフェースを通じて通信を待機します。

    3. Cursorでの使用方法

    MCPサーバーは標準入出力(stdio)を介して通信するように設計されています。Cursorと連携するには、`claude_desktop_config.json`に以下の設定を追加してください:

    json
    {
      "mcpServers": {
        "github": {
          "command": "docker",
          "args": [
            "run",
            "-i",
            "--rm",
            "-e",
            "GITHUB_PERSONAL_ACCESS_TOKEN",
            "mcp/github"
          ],
          "env": {
            "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_your_token_here"
          }
        }
      }
    }

    この設定により、Cursorが必要なときにだけMCPサーバーを起動し、処理が完了すると自動的に終了します。

    使用方法

    MCPサーバーは、ツール名とその入力パラメータを含むメッセージ形式でリクエストを受け付けます。

    リクエスト例(/respond エンドポイント)

    ファイルの作成または更新

    bash
    curl -X POST http://localhost:5002/respond \
      -H "Content-Type: application/json" \
      -d '{
        "messages": [
          {
            "role": "user",
            "content": {
              "tool_name": "create_or_update_file",
              "input": {
                "owner": "your-username",
                "repo": "your-repo",
                "path": "example.txt",
                "content": "Hello, world!",
                "message": "Add example file",
                "branch": "main"
              }
            }
          }
        ]
      }'

    リポジトリ検索

    bash
    curl -X POST http://localhost:5002/respond \
      -H "Content-Type: application/json" \
      -d '{
        "messages": [
          {
            "role": "user",
            "content": {
              "tool_name": "search_repositories",
              "input": {
                "query": "modelcontextprotocol"
              }
            }
          }
        ]
      }'

    ファイル内容取得

    bash
    curl -X POST http://localhost:5002/respond \
      -H "Content-Type: application/json" \
      -d '{
        "messages": [
          {
            "role": "user",
            "content": {
              "tool_name": "get_file_contents",
              "input": {
                "owner": "octocat",
                "repo": "Hello-World",
                "path": "README.md"
              }
            }
          }
        ]
      }'

    サポートしているツール

    GitHub MCPサーバーは以下の機能を提供します:

    1. `create_or_update_file` - リポジトリに単一ファイルを作成/更新

    2. `push_files` - 複数ファイルを一度のコミットでプッシュ

    3. `search_repositories` - GitHubリポジトリを検索

    4. `create_repository` - 新しいGitHubリポジトリを作成

    5. `get_file_contents` - ファイルまたはディレクトリの内容を取得

    6. `create_issue` - 新しいイシューを作成

    7. `create_pull_request` - 新しいプルリクエストを作成

    8. `fork_repository` - リポジトリをフォーク

    9. `create_branch` - 新しいブランチを作成

    10. `list_commits` - ブランチのコミット一覧を取得

    11. `list_issues` - リポジトリのイシュー一覧を取得

    12. `update_issue` - 既存のイシューを更新

    13. `add_issue_comment` - イシューにコメントを追加

    14. `search_code` - コードを検索

    15. `search_issues` - イシューとプルリクエストを検索

    16. `search_users` - GitHubユーザーを検索

    17. `get_issue` - 特定のイシューの詳細を取得

    18. `get_pull_request` - 特定のプルリクエストの詳細を取得

    19. `list_pull_requests` - プルリクエスト一覧を取得

    20. `create_pull_request_review` - プルリクエストのレビューを作成

    21. `merge_pull_request` - プルリクエストをマージ

    22. `get_pull_request_files` - プルリクエストの変更ファイル一覧を取得

    23. `get_pull_request_status` - プルリクエストのステータスを取得

    24. `update_pull_request_branch` - プルリクエストのブランチを更新

    25. `get_pull_request_comments` - プルリクエストのコメントを取得

    26. `get_pull_request_reviews` - プルリクエストのレビューを取得

    詳細な各ツールの入力パラメータや使用方法については、公式リポジトリのドキュメントを参照してください。

    注意事項

    • アクセストークン: GitHub Personal Access Tokenは必要なスコープ(repoまたはpublic_repo)を持つものを使用してください。APIレート制限にも注意してください。
    • リクエスト形式: MCPのプロトコルに準拠し、各メッセージはroleとcontent(中にtool_nameとinput)を含む必要があります。
    • stdioモード: このMCPサーバーはHTTPサーバーではなく、標準入出力(stdio)を介して通信するよう設計されています。Cursorなどのツールから呼び出して使用するのが最適です。

    ライセンス

    このプロジェクトは、元のMCP serverと同じMITライセンスのもとで提供されています。

    Frequently asked questions

    What is my-mcp-servers?

    my-mcp-servers is this is mcp servers in local

    How do I install my-mcp-servers?

    Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

    Is my-mcp-servers open source?

    Yes — it is hosted on GitHub at https://github.com/yuki-koma2/my-mcp-servers and has 1 stars.

    Related MCP tools

    Run your own MCP server? See who uses it and what to fix.

    Measure it with TrackMCP