Cover image
Try Now
2025-04-01

Dies sind MCP -Server in lokal

3 years

Works with Finder

1

Github Watches

1

Github Forks

0

Github Stars

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を作成します

    • GitHubの設定 > 開発者設定 > Personal access tokenに移動
    • このトークンがアクセスできるリポジトリを選択(Public、All、または特定のリポジトリ)
    • repoスコープ(「プライベートリポジトリの完全な制御」)を選択
      • または、公開リポジトリのみを操作する場合はpublic_repoスコープのみを選択
    • 生成されたトークンをコピー
  2. .envファイルにトークンを設定:

    GITHUB_PERSONAL_ACCESS_TOKEN=ghp_your_token_here
    

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

ビルド手順

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

起動手順(docker runの場合)

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

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

# .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に以下の設定を追加してください:

{
  "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 エンドポイント)

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

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"
          }
        }
      }
    ]
  }'

リポジトリ検索

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

ファイル内容取得

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ライセンスのもとで提供されています。

相关推荐

  • NiKole Maxwell
  • I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

  • Bora Yalcin
  • Evaluator for marketplace product descriptions, checks for relevancy and keyword stuffing.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Callycode Limited
  • A geek-themed horoscope generator blending Bitcoin prices, tech jargon, and astrological whimsy.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Khalid kalib
  • Write professional emails

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • Beniyam Berhanu
  • Therapist adept at identifying core issues and offering practical advice with images.

  • apappascs
  • Entdecken Sie die umfassendste und aktuellste Sammlung von MCP-Servern auf dem Markt. Dieses Repository dient als zentraler Hub und bietet einen umfangreichen Katalog von Open-Source- und Proprietary MCP-Servern mit Funktionen, Dokumentationslinks und Mitwirkenden.

  • OffchainLabs
  • GO -Umsetzung des Ethereum -Beweises des Anteils

  • huahuayu
  • Ein einheitliches API-Gateway zur Integration mehrerer Ethercan-ähnlicher Blockchain-Explorer-APIs mit Modellkontextprotokoll (MCP) für AI-Assistenten.

  • deemkeen
  • Steuern Sie Ihren MBOT2 mit einer Power Combo: MQTT+MCP+LLM

    Reviews

    3 (1)
    Avatar
    user_LcC5UqzY
    2025-04-16

    As a dedicated user of my-mcp-servers, I appreciate the seamless experience this tool provides for managing Minecraft servers. The user-friendly interface and robust features demonstrate yuki-koma2's expertise in software development. I highly recommend it to anyone looking for efficient server management solutions. Check it out at https://github.com/yuki-koma2/my-mcp-servers.