mcpField
M
MCP GitHub Server

MCP GitHub Server

ローカル
github.com/dev-leva1バージョン管理184 週間前に更新

MCP GitHub Server について

MCP GitHub Serverは、API経由でGitHubのコンテンツを管理するためのGitHub APIインターフェースです。リポジトリ、ファイル、ブランチ、コミットの読み取りと作成に対応します。

主な機能

  1. 01ユーザーのリポジトリ一覧取得
  2. 02リポジトリ情報とファイルの読み取り
  3. 03リポジトリとファイルの作成
  4. 04ブランチの一覧取得と作成
  5. 05コミットの検索と作成

活用シーン

  1. 01ユーザーのGitHubリポジトリの確認
  2. 02リポジトリファイルの読み取りや追加
  3. 03ブランチ作成と複数ファイルの変更のコミット

MCP 対応

MCP GitHub Serverという名称ですが、READMEにはMCPインターフェースやMCPクライアントに提供する機能の説明がありません。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

README(原文)English

プロジェクトの README より

この README の日本語訳はまだありません。以下は英語の原文です。日本語の紹介はページ上部をご覧ください。

MCP GitHub Server

Сервер для работы с GitHub API, предоставляющий удобный интерфейс для взаимодействия с репозиториями GitHub.

Установка

  1. Клонируйте репозиторий:
git clone https://github.com/fills/mcp-github-server.git
cd mcp-github-server
  1. Установите зависимости:
npm install
  1. Создайте файл .env в корне проекта и добавьте следующие переменные:
PORT=3000
GITHUB_TOKEN=your_github_token_here

Для получения GitHub токена:

  1. Перейдите в настройки вашего аккаунта GitHub
  2. Выберите "Developer settings" -> "Personal access tokens" -> "Tokens (classic)"
  3. Нажмите "Generate new token"
  4. Выберите необходимые разрешения (рекомендуется: repo, user)
  5. Скопируйте токен и вставьте его в файл .env

Запуск

Для запуска в режиме разработки:

npm run dev

Для запуска в продакшн режиме:

npm start

API Endpoints

Базовый маршрут
  • GET / - Проверка работоспособности сервера
Репозитории
  • GET /api/repos/:username - Получение списка репозиториев пользователя
  • GET /api/repos/:username/:repo - Получение информации о конкретном репозитории
  • POST /api/repos - Создание нового репозитория
    • Тело запроса: { "name": "repo-name", "description": "description", "private": false }
Файлы
  • GET /api/repos/:username/:repo/contents/:path - Получение содержимого файла из репозитория
  • POST /api/repos/:username/:repo/contents/:path - Создание нового файла в репозитории
    • Тело запроса: { "content": "file content", "message": "commit message" }
Ветки
  • GET /api/repos/:username/:repo/branches - Получение списка веток репозитория
  • POST /api/repos/:username/:repo/branches - Создание новой ветки в репозитории
    • Тело запроса: { "name": "branch-name", "sha": "commit-sha" }
Коммиты
  • GET /api/repos/:username/:repo/commits - Получение списка коммитов репозитория
    • Параметры запроса: sha, path, author, since, until, per_page, page
  • POST /api/repos/:username/:repo/commits - Создание нового коммита
    • Тело запроса:
    { 
      "message": "commit message", 
      "branch": "branch-name", 
      "changes": {
        "path/to/file1.txt": "content of file1",
        "path/to/file2.txt": "content of file2"
      }
    }
    

Примеры использования

Получение списка репозиториев пользователя
GET http://localhost:3000/api/repos/octocat
Создание нового репозитория
POST http://localhost:3000/api/repos
Content-Type: application/json

{
  "name": "test-repo",
  "description": "Тестовый репозиторий",
  "private": true
}
Создание файла в репозитории
POST http://localhost:3000/api/repos/username/repo-name/contents/path/to/file.txt
Content-Type: application/json

{
  "content": "Содержимое файла",
  "message": "Добавлен новый файл"
}
Создание новой ветки
POST http://localhost:3000/api/repos/username/repo-name/branches
Content-Type: application/json

{
  "name": "feature-branch",
  "sha": "optional-commit-sha"
}
Создание коммита с несколькими файлами
POST http://localhost:3000/api/repos/username/repo-name/commits
Content-Type: application/json

{
  "message": "Добавлены новые файлы",
  "branch": "feature-branch",
  "changes": {
    "file1.txt": "Содержимое файла 1",
    "dir/file2.txt": "Содержимое файла 2"
  }
}

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。