API, MCP и скилл для агента
Подключите Codex, Claude Code или Cursor к трекеру откликов, встречам, заметкам и контекстам Sobes
Через MCP и REST API ИИ-агент вроде Codex, Claude Code или Cursor может вести ваш трекер откликов, читать сохранённые встречи и контексты и пополнять заметки. Например: «перенеси карточку Ozon в Финалы», «покажи воронку за месяц», «разбери мои ответы на последнем собеседовании», «сохрани разбор в заметки». Для работы нужна активная подписка.
1. Создайте токен
На sobes.tech откройте Аккаунт → Интеграции → API и MCP и нажмите Создать токен. Задайте название, права и срок действия, по умолчанию 90 дней.
| Право | Что даёт |
|---|---|
| Чтение трекера | Доска, карточки, архив, статистика и напоминания. Сюда же входят названия, оценки и вердикт прикреплённых к карточкам встреч. |
| Изменение трекера | Создание, правка, перенос, архивация и удаление карточек и колонок, прикрепление встреч к карточкам. Включает чтение трекера. |
| Чтение встреч, итогов и транскриптов | Список встреч, их итоги и полная расшифровка с перепиской. |
| Чтение заметок | Список заметок и папок, текст любой заметки, в том числе тестовых проектов. |
| Создание и изменение заметок | Создание и правка обычных заметок. Включает чтение заметок. |
| Чтение контекстов | Список контекстов, все их поля и какой из них активен. |
- Токен показывается один раз: скопируйте его сразу.
- Заводите отдельный токен на каждое приложение. Так любой из них можно отозвать, не трогая остальные, и отзыв действует сразу.
- Агент видит только инструменты, на которые у токена есть права.
- По умолчанию отмечены только права трекера и встреч. Права уже выданного токена не меняются: чтобы дать доступ к заметкам или контекстам, создайте новый токен.
- Если подписка закончится, токены перестанут работать и заработают снова после продления.
2. Подключите MCP
Передайте токен в переменной окружения SOBES_API_TOKEN процессу клиента. В сам файл конфигурации токен не записывайте. Затем добавьте конфигурацию и перезапустите клиент. Эти же конфигурации есть в кабинете в «Интеграции → API и MCP».
Codex: ~/.codex/config.toml
[mcp_servers.sobes]
url = "https://backend.sobes.tech/mcp"
bearer_token_env_var = "SOBES_API_TOKEN"Claude Code: .mcp.json в корне проекта
{
"mcpServers": {
"sobes": {
"type": "http",
"url": "https://backend.sobes.tech/mcp",
"headers": { "Authorization": "Bearer ${SOBES_API_TOKEN}" }
}
}
}Cursor: ~/.cursor/mcp.json
{
"mcpServers": {
"sobes": {
"url": "https://backend.sobes.tech/mcp",
"headers": { "Authorization": "Bearer ${env:SOBES_API_TOKEN}" }
}
}
}3. Установите скилл
Скилл объясняет агенту, как правильно работать с трекером и встречами Sobes: в каком порядке вызывать инструменты, как читать длинные расшифровки и как не создать дубликаты. Один файл подходит для всех трёх клиентов. Скачайте SKILL.md, сохраните его по пути ниже и перезапустите клиент.
| Клиент | Куда сохранить |
|---|---|
| Codex | ~/.agents/skills/sobes-tech/SKILL.md |
| Claude Code | ~/.claude/skills/sobes-tech/SKILL.md |
| Cursor | ~/.cursor/skills/sobes-tech/SKILL.md |
Что может агент
С трекером агент может всё то же, что вы делаете руками: читать доску, карточки, их историю, архив и статистику, выгружать статистику в PDF, создавать и менять карточки и колонки, импортировать карточки списком, переносить карточки между этапами, прикреплять встречи и настраивать напоминания.
Встречи агент только читает: список, итоги и расшифровку всех подчатов, включая сообщения до сброса контекста. Создавать и удалять встречи и запускать генерацию итогов он не может. Изображения, видео, рассуждения модели и вызовы инструментов через API не отдаются.
Контексты агент тоже только читает. Заметки он может создавать и править, но тестовые проекты только читает: у них меняются лишь «Использовать в RAG» и папка.
С правом на изменение заметок агент влияет на ответы Copilot: созданные им заметки по умолчанию попадают в RAG, и на встрече Copilot будет опираться на них. Давайте это право только агенту, которому доверяете содержимое.
Чтобы не затереть правку, сделанную в приложении, агент может передать версию прочитанной заметки: если заметку тем временем изменили, его правка не пройдёт.
Чтение ничего не меняет: пустая доска сама не создаётся, недостающие итоги не генерируются. Чтобы завести доску с этапами по умолчанию и карточками из уже проведённых встреч с вакансиями, у агента есть отдельная команда tracker_initialize.
Удаление карточки стирает её историю и убирает её из статистики воронки, прикреплённые встречи при этом сохраняются. Если карточка просто больше не нужна на доске, её лучше архивировать.
REST API
MCP и REST построены на одних и тех же операциях. Полное описание: OpenAPI.
curl --fail-with-body --silent --show-error \
-H "Authorization: Bearer $SOBES_API_TOKEN" \
https://backend.sobes.tech/api/v1/tracker/boardЧтение трекера
| MCP | REST |
|---|---|
tracker_get_board | GET /tracker/board |
tracker_list_columns | GET /tracker/columns |
tracker_list_cards, tracker_get_card | GET /tracker/cards, GET /tracker/cards/{id} |
tracker_list_archive | GET /tracker/archive |
tracker_get_settings | GET /tracker/settings |
tracker_get_card_history | GET /tracker/cards/{id}/history |
tracker_get_stats, tracker_export_stats_pdf | GET /tracker/stats, GET /tracker/stats/pdf |
Изменение трекера
| MCP | REST |
|---|---|
tracker_initialize | POST /tracker/initialize |
tracker_create_card, tracker_update_card | POST /tracker/cards, PATCH /tracker/cards/{id} |
tracker_move_card, tracker_archive_card | PATCH /tracker/cards/{id}/move, PATCH /tracker/cards/{id}/archive |
tracker_delete_card | DELETE /tracker/cards/{id} |
tracker_import_cards | POST /tracker/cards/import |
tracker_create_column, tracker_update_column | POST /tracker/columns, PUT /tracker/columns/{id} |
tracker_reorder_columns, tracker_delete_column | PATCH /tracker/columns/reorder, DELETE /tracker/columns/{id} |
tracker_archive_column_cards | POST /tracker/columns/{id}/archive-cards |
tracker_attach_meeting, tracker_detach_meeting | POST /tracker/cards/{id}/meetings, DELETE /tracker/cards/{id}/meetings/{meetingId} |
tracker_update_settings | PUT /tracker/settings |
Чтение встреч
| MCP | REST |
|---|---|
list_meetings, get_meeting | GET /meetings, GET /meetings/{id} |
get_meeting_summary, get_meeting_transcript | GET /meetings/{id}/summary, GET /meetings/{id}/transcript |
Заметки
| MCP | REST |
|---|---|
list_notes, list_note_folders | GET /notes, GET /notes/folders |
get_note | GET /notes/{id} |
create_note, update_note | POST /notes, PATCH /notes/{id} |
Контексты
| MCP | REST |
|---|---|
list_contexts, get_context | GET /contexts, GET /contexts/{id} |
Ошибки и лимиты
| Код | Что значит |
|---|---|
| 401 | Токен неверный, просрочен или отозван. |
| 403 | У токена нет нужного права или закончилась подписка. |
| 404 | Объект не найден. Чужие объекты тоже отвечают 404. |
| 409 | Повтор с тем же ключом, но другим телом запроса, расшифровка изменилась во время чтения или заметку изменили после того, как агент её прочитал. В двух последних случаях прочитайте данные заново. |
| 429 | Больше 120 запросов в минуту на токен или 600 на аккаунт. Повторите запрос через время из заголовка Retry-After. |
В MCP ошибки самих инструментов приходят не HTTP-кодом, а текстом результата, например {"error":"card_not_found"}.
Создание карточки, колонки и заметки принимает requestId или заголовок Idempotency-Key. Если повторить запрос с тем же ключом в течение 24 часов, вернётся прежний результат, и дубликат не появится.