Skip to content
Эта страница создана и переведена с помощью ИИ. Если вы заметили неточности, помогите нам улучшить её. Редактировать на GitHub

MCP-сервер

OpenPR включает встроенный MCP-сервер (Model Context Protocol), предоставляющий 34 инструмента для AI-ассистентов для управления проектами, задачами, спринтами, метками, комментариями, предложениями и файлами. Сервер поддерживает три транспортных протокола одновременно.

Транспортные протоколы

ПротоколСценарий использованияЭндпоинт
HTTPВеб-интеграции, плагины OpenClawPOST /mcp/rpc
stdioClaude Desktop, Codex, локальный CLIstdin/stdout JSON-RPC
SSEПотоковые клиенты, интерфейсы реального времениGET /sse + POST /messages

Мультипротокол

В режиме HTTP все три протокола доступны на одном порту: /mcp/rpc (HTTP), /sse + /messages (SSE) и /health (проверка работоспособности).

Конфигурация

Переменные окружения

ПеременнаяОбязательнаяОписаниеПример
OPENPR_API_URLДаБазовый URL API-сервераhttp://localhost:3000
OPENPR_BOT_TOKENДаТокен бота с префиксом opr_opr_abc123...
OPENPR_WORKSPACE_IDДаUUID рабочего пространства по умолчаниюe5166fd1-...

Claude Desktop / Cursor / Codex (stdio)

Добавьте в конфигурацию вашего MCP-клиента:

json
{
  "mcpServers": {
    "openpr": {
      "command": "/path/to/mcp-server",
      "args": ["--transport", "stdio"],
      "env": {
        "OPENPR_API_URL": "http://localhost:3000",
        "OPENPR_BOT_TOKEN": "opr_your_token_here",
        "OPENPR_WORKSPACE_ID": "your-workspace-uuid"
      }
    }
  }
}

Режим HTTP

bash
# Запустить MCP-сервер
./target/release/mcp-server --transport http --bind-addr 0.0.0.0:8090

# Проверить
curl -X POST http://localhost:8090/mcp/rpc \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Режим SSE

bash
# 1. Подключиться к SSE-потоку (возвращает эндпоинт сессии)
curl -N -H "Accept: text/event-stream" http://localhost:8090/sse
# -> event: endpoint
# -> data: /messages?session_id=<uuid>

# 2. POST-запрос к возвращённому эндпоинту
curl -X POST "http://localhost:8090/messages?session_id=<uuid>" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"projects.list","arguments":{}}}'
# -> Ответ приходит через SSE-поток как event: message

Docker Compose

yaml
mcp-server:
  build:
    context: .
    dockerfile: Dockerfile.prebuilt
    args:
      APP_BIN: mcp-server
  environment:
    - OPENPR_API_URL=http://api:8080
    - OPENPR_BOT_TOKEN=opr_your_token
    - OPENPR_WORKSPACE_ID=your-workspace-uuid
  ports:
    - "8090:8090"
  command: ["./mcp-server", "--transport", "http", "--bind-addr", "0.0.0.0:8090"]

Справочник инструментов (34 инструмента)

Проекты (5)

ИнструментОбязательные параметрыОписание
projects.listСписок всех проектов в рабочем пространстве
projects.getproject_idПолучить детали проекта с количеством задач
projects.createkey, nameСоздать проект
projects.updateproject_idОбновить название/описание
projects.deleteproject_idУдалить проект

Рабочие элементы / Задачи (11)

ИнструментОбязательные параметрыОписание
work_items.listproject_idСписок задач в проекте
work_items.getwork_item_idПолучить задачу по UUID
work_items.get_by_identifieridentifierПолучить по человекочитаемому ID (например, API-42)
work_items.createproject_id, titleСоздать задачу с опциональными state, priority, description, assignee_id, due_at, attachments
work_items.updatework_item_idОбновить любое поле
work_items.deletework_item_idУдалить задачу
work_items.searchqueryПолнотекстовый поиск по всем проектам
work_items.add_labelwork_item_id, label_idДобавить одну метку
work_items.add_labelswork_item_id, label_idsДобавить несколько меток
work_items.remove_labelwork_item_id, label_idУдалить метку
work_items.list_labelswork_item_idСписок меток задачи

Комментарии (3)

ИнструментОбязательные параметрыОписание
comments.creatework_item_id, contentСоздать комментарий с опциональными вложениями
comments.listwork_item_idСписок комментариев к задаче
comments.deletecomment_idУдалить комментарий

Файлы (1)

ИнструментОбязательные параметрыОписание
files.uploadfilename, content_base64Загрузить файл (base64), возвращает URL и имя файла

Метки (5)

ИнструментОбязательные параметрыОписание
labels.listСписок всех меток рабочего пространства
labels.list_by_projectproject_idСписок меток для проекта
labels.createname, colorСоздать метку (color: hex, например, #2563eb)
labels.updatelabel_idОбновить название/цвет/описание
labels.deletelabel_idУдалить метку

Спринты (4)

ИнструментОбязательные параметрыОписание
sprints.listproject_idСписок спринтов в проекте
sprints.createproject_id, nameСоздать спринт с опциональными start_date, end_date
sprints.updatesprint_idОбновить название/даты/статус
sprints.deletesprint_idУдалить спринт

Предложения (3)

ИнструментОбязательные параметрыОписание
proposals.listproject_idСписок предложений с опциональным фильтром статуса
proposals.getproposal_idПолучить детали предложения
proposals.createproject_id, title, descriptionСоздать предложение по управлению

Участники и поиск (2)

ИнструментОбязательные параметрыОписание
members.listСписок участников рабочего пространства и их ролей
search.allqueryГлобальный поиск по проектам, задачам, комментариям

Формат ответа

Все ответы MCP-инструментов следуют этой структуре:

Успех

json
{
  "code": 0,
  "message": "success",
  "data": { ... }
}

Ошибка

json
{
  "code": 400,
  "message": "error description"
}

Аутентификация токенами ботов

MCP-сервер аутентифицируется через токены ботов (префикс opr_). Создавайте токены ботов в Workspace Settings > Bot Tokens.

Каждый токен бота:

  • Имеет отображаемое имя (отображается в лентах активности)
  • Ограничен одним рабочим пространством
  • Создаёт сущность пользователя bot_mcp для целостности журнала аудита
  • Поддерживает все операции чтения/записи, доступные участникам рабочего пространства

Интеграция агентов

Для кодирующих агентов OpenPR предоставляет:

  • AGENTS.md (apps/mcp-server/AGENTS.md) — Паттерны рабочего процесса и примеры инструментов для агентов.
  • Skill Package (skills/openpr-mcp/SKILL.md) — Управляемый skill с шаблонами рабочих процессов и скриптами.

Рекомендуемый рабочий процесс агента:

  1. Загрузите AGENTS.md для семантики инструментов.
  2. Используйте tools/list для перечисления доступных инструментов во время выполнения.
  3. Следуйте паттернам рабочего процесса: поиск -> создание -> метка -> комментарий.

Следующие шаги

Released under the Apache-2.0 License.