AIGitVerse MCP

GitVerse MCP
New

GitVerse MCP — это удаленный MCP-сервер GitVerse. Он позволяет подключать AI-клиенты и агентные среды к репозиториям, файлам, запросам на слияние, релизам и workflow GitVerse через единый HTTP endpoint.

Общая информация

Model Context Protocol (MCP) — это открытый протокол обмена контекстом и инструментами между AI-моделью и внешними системами.

С помощью MCP AI-клиент может:

  1. Подключиться к MCP-серверу.
  2. Получить список доступных инструментов.
  3. Вызвать нужный инструмент по запросу пользователя.
  4. Получить результат в стандартизированном формате MCP.

Подробнее о самом протоколе см. в официальной документации MCP.

Когда использовать GitVerse MCP

GitVerse MCP нужен, когда AI должен работать не только с локальным кодом, но и с данными GitVerse:

  • читать информацию о репозитории, ветках и содержимом файлов;
  • создавать и обновлять репозитории, ветки, теги и файлы;
  • создавать запросы на слияние и читать список измененных файлов;
  • работать с релизами;
  • запускать workflow вручную;
  • получать информацию о пользователях.

Типовые сценарии:

  • «покажи ветки в репозитории owner/repo»;
  • «прочитай README.md из репозитория и объясни структуру проекта»;
  • «создай запрос на слияние из feature/login в master»;
  • «подготовь релиз по тегу v1.2.0»;
  • «запусти workflow с параметрами».

Начало работы с GitVerse MCP

Для подключения GitVerse MCP нужны:

  1. MCP-совместимый клиент с поддержкой удаленных MCP-серверов по HTTP и пользовательских HTTP-заголовков.
  2. API-токен GitVerse.
  3. Endpoint GitVerse MCP: https://gitverse.ru/mcp.

GitVerse MCP использует тот же токен авторизации, что и Публичный API. Токен можно получить в разделе Управление токенами.

При создании токена для GitVerse MCP отметьте сущности, с которыми планируется работа. Для read-only сценариев достаточно Чтения, для создания и изменения сущностей потребуется Запись.

Набор доступных операций определяется правами пользователя, для которого создан токен.

⚠️

GitVerse MCP требует аутентификацию. Незаполненный заголовок Authorization: Bearer ... приводит к ответу 401 Unauthorized.

Пример подключения GitVerse MCP

Ниже показан пример JSON-конфигурации для подключения GitVerse MCP:

{
  "servers": {
    "gitverse": {
      "type": "http",
      "url": "https://gitverse.ru/mcp",
      "headers": {
        "Authorization": "Bearer ${input:gitverse_token}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "gitverse_token",
      "description": "GitVerse access token",
      "password": true
    }
  ]
}

Если клиент умеет читать токен из переменных окружения, его можно хранить отдельно:

export GITVERSE_TOKEN=your_token_here

И затем подставлять его в конфигурацию клиента как Bearer $GITVERSE_TOKEN.

Реальный формат конфигурации зависит от MCP-клиента.

Пример низкоуровневого подключения

В большинстве MCP-клиентов подключение выполняется автоматически. Примеры ниже полезны, если нужно вручную проверить подключение или понять формат обмена.

1. initialize

POST /mcp HTTP/1.1
Host: gitverse.ru
Content-Type: application/json
Accept: application/json, text/event-stream
Authorization: Bearer <GITVERSE_TOKEN>
 
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {
    "protocolVersion": "2024-11-05",
    "capabilities": {
      "roots": {
        "listChanged": true
      },
      "sampling": {}
    },
    "clientInfo": {
      "name": "Example MCP Client",
      "version": "1.0.0"
    }
  }
}

Сервер отвечает 200 OK, возвращает JSON-RPC result и выставляет заголовок Mcp-Session-Id, который нужно передавать в последующих ручных вызовах:

HTTP/1.1 200 OK
Content-Type: application/json
Mcp-Session-Id: mcp-session-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
 
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "protocolVersion": "2024-11-05",
    "capabilities": {
      "logging": {},
      "tools": {
        "listChanged": true
      }
    },
    "serverInfo": {
      "name": "GitVerse MCP Server",
      "version": "<server-version>"
    }
  }
}

2. notifications/initialized

После initialize клиент отправляет уведомление notifications/initialized:

POST /mcp HTTP/1.1
Host: gitverse.ru
Content-Type: application/json
Accept: application/json, text/event-stream
Authorization: Bearer <GITVERSE_TOKEN>
Mcp-Session-Id: mcp-session-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
 
{
  "jsonrpc": "2.0",
  "method": "notifications/initialized",
  "params": {}
}

3. tools/list

После notifications/initialized клиент получает список доступных инструментов:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/list",
  "params": {
    "cursor": null
  }
}

Полный список инструментов см. на странице GitVerse MCP tools.

При ручном HTTP-вызове используйте тот же Authorization: Bearer <GITVERSE_TOKEN> и Mcp-Session-Id, который сервер вернул на шаге initialize.

4. tools/call

Для первого read-only вызова удобно использовать get_my_user_info:

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "get_my_user_info",
    "arguments": {}
  }
}

В ответе инструмента полезные данные находятся в result.content[0].text. Это JSON-строка с объектом Result внутри:

{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\"Result\":{\"login\":\"example-user\",\"name\":\"Example User\",\"html_url\":\"https://gitverse.ru/example-user\"}}"
      }
    ]
  }
}

Доступные инструменты

GitVerse MCP включает 23 инструмента для работы со следующими сущностями:

  • репозитории;
  • файлы;
  • релизы;
  • задачи;
  • запросы на слияние;
  • CI/CD;
  • пользователи.

Подробный каталог с описаниями инструментов см. на странице GitVerse MCP tools.

Что дальше

  1. Изучите GitVerse MCP tools для полного списка доступных инструментов.
  2. Получите или обновите токен в разделе Управление токенами.

Вы нашли что искали?