mcp-github-server

説明なし

GitHubスター

1

ユーザー評価

未評価

フォーク

0

イシュー

0

閲覧数

1

お気に入り

0

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"
  }
}
作者情報

0

フォロワー

14

リポジトリ

0

Gist

2

貢献数

トップ貢献者

スレッド