REST API и MCP-сервер
Всё, что сообщают ваши посетители, доступно и вне веб-приложения: как небольшой REST API для ваших скриптов и интеграций и как MCP-сервер, к которому напрямую подключаются AI-агенты для кода — Claude Code, Cursor, Copilot, Codex. У обоих те же ключи API и те же данные.
Ключи API
Ключи создаются в веб-приложении в разделе Account → API keys. Дайте ключу имя и выберите, что он видит: все проекты аккаунта, включая те, что создадите позже, или только выбранные. Ключ показывается один раз — скопируйте его сразу, приложение хранит только хеш. Ключ можно отозвать в любой момент; агенты и скрипты, которые им пользовались, перестают работать мгновенно.
Передавайте ключ с каждым запросом:
Authorization: Bearer rm_…
Ключ читает и меняет только сообщения тех проектов, которые ему дали. Он не может создавать проекты, менять настройки виджета или что-то удалять.
REST-эндпоинты
Базовый адрес: https://api.revisionme.com. Ответы в JSON; ошибки приходят как {"error": "…"} с привычными кодами (401 плохой ключ, 404 не найдено или нет доступа, 400 некорректные данные).
| Запрос | Что возвращает |
|---|---|
GET /v1/projects | Проекты, которые видит ключ: {projects: [{id, name, website}]}. |
GET /v1/issues | Сообщения, новые первыми: {total, issues: […]}. Параметры: project (id), status — open (по умолчанию), resolved, rejected или all, limit (по умолчанию 50, максимум 200). |
GET /v1/issues/:id | Одно сообщение со всеми полями плюс markdown — тот же бриф для AI-агента, что и кнопка Copy for AI agent. |
GET /v1/issues/:id/screenshot | Перенаправление (302) на PNG-скриншот. |
PATCH /v1/issues/:id | Тело {"status": "resolved"} и/или {"important": true}. Возвращает обновлённое сообщение. |
Пример с curl:
curl https://api.revisionme.com/v1/issues?status=open \
-H "Authorization: Bearer rm_…"
curl -X PATCH https://api.revisionme.com/v1/issues/-OabC123 \
-H "Authorization: Bearer rm_…" -H "Content-Type: application/json" \
-d '{"status": "resolved"}'
Объект issue
{
"id": "-OabC123",
"projectId": "-Nxyz",
"status": "open", // open | resolved | rejected
"important": false,
"date": "2026-10-09T12:40:00.000Z",
"url": "https://example.com/pricing",
"author": { "email": "anna@example.com", "id": null },
"selectedText": "Start you free trial",
"context": "…предложение вокруг выделения…",
"comment": "Typo: should be \"your\"",
"area": { "x": 20, "y": 1300, "w": 335, "h": 48 }, // null для сообщения о тексте
"viewport": { "width": 390, "height": 844, "scrollX": 0, "scrollY": 1180 },
"browser": { "name": "Mobile Safari", "version": "18" },
"os": { "name": "iOS", "version": "18" },
"language": "en-US",
"screenshotUrl": "https://…/snapshots/…png",
"shareUrl": "https://revisionme.com/app/#/share/-OabC123",
"markdown": "## Visual feedback on the site (Revisionme)\n…" // только GET /v1/issues/:id
}
MCP-сервер
MCP — это способ, которым AI-агенты для кода общаются с внешними инструментами. Сервер Revisionme живёт по адресу https://api.revisionme.com/mcp (Streamable HTTP, без сессий) и требует того же заголовка Authorization. Ничего устанавливать не нужно.
Claude Code — одна команда в папке проекта вашего сайта:
claude mcp add --transport http revisionme https://api.revisionme.com/mcp \
--header "Authorization: Bearer rm_…"
Cursor, Windsurf, VS Code, Codex и другие — привычный mcp.json (уровня проекта или пользователя):
{
"mcpServers": {
"revisionme": {
"url": "https://api.revisionme.com/mcp",
"headers": { "Authorization": "Bearer rm_…" }
}
}
}
Агент получает четыре инструмента:
list_projects— проекты, которые видит ключ;list_issues— сообщения, по умолчанию открытые (project,status,limit);get_issue— одно сообщение: Markdown-бриф, все поля и скриншот как изображение, чтобы агент видел то, что видел посетитель;update_issue—resolvedпосле исправления,rejected, когда ничего делать не нужно,open, чтобы открыть снова; флагimportant.
Дальше просто попросите: «Возьми открытые сообщения из Revisionme, исправь их по очереди и отметь каждое решённым». Сервер несёт и короткие инструкции, так что агент знает порядок действий без ваших объяснений. Когда комментарий посетителя непонятен, хороший агент скажет об этом вместо того, чтобы гадать — сообщения пишут живые люди.
Инструкция для вашего агента
MCP-сервер объясняет агенту, как пользоваться инструментами, но агент должен ещё знать, что такое Revisionme в вашем проекте и когда смотреть сообщения. Кнопка Copy instructions for your agent в разделе Account → API keys кладёт этот текст в буфер; вставьте его в чат с агентом один раз или держите в CLAUDE.md, AGENTS.md или .cursorrules, чтобы каждая сессия знала:
## Revisionme: visual feedback from the visitors of this site
The website of this project has the Revisionme widget. Visitors, clients and testers
mark problems right on the live page. Every report has the page URL, the text the
visitor selected or the area they marked, their comment, the viewport and browser,
and a screenshot.
The reports are available through the Revisionme MCP server (tools: list_projects,
list_issues, get_issue, update_issue). If it is not connected yet, ask me for an API
key (Revisionme → Account → API keys) and add the server. Claude Code:
claude mcp add --transport http revisionme https://api.revisionme.com/mcp \
--header "Authorization: Bearer <key>"
Other clients (Cursor, Windsurf, VS Code, Codex): an entry in mcp.json with
"url": "https://api.revisionme.com/mcp" and the same Authorization header.
How to work with the reports:
- When I ask you to check the feedback, or before you start working on the site,
call list_issues (open reports) and tell me what is new.
- For each report you take on: get_issue, read the brief and look at the screenshot,
find the place in the source code (search for the selected text, use the URL for
the route) and fix it.
- After the fix, call update_issue with status "resolved". If a report needs no
change (duplicate, not a bug, cannot reproduce), tell me instead of marking it
rejected, unless I say otherwise.
- Reports are written by real people: when a comment is unclear, ask me rather
than guess.
- Never print the API key or write it into files other than the MCP configuration.
Правьте под себя — например, разрешите агенту самому отклонять сообщения или попросите проверять фидбек в начале каждой сессии.
Кнопка Copy for AI agent в веб-приложении остаётся для разового случая: одно сообщение, вставленное в любой чат, без ключа.
Ограничения и что дальше
Формальных лимитов на запросы пока нет; будьте разумны (агент, опрашивающий сервер каждые несколько секунд, это не разумно). Ключи принадлежат одному аккаунту; командный доступ есть в планах, как и вебхуки (POST на ваш URL на каждое новое сообщение) и CLI, записывающий сообщения файлами в ваш репозиторий. Вопросы и пожелания: hello@revisionme.com.