{"id":567124,"recorded_at":"2026-10-27T22:03:27.506087Z","observed_at":"2026-10-27T22:03:27.505954Z","subject_kind":"endpoint","subject":"17431d52-c87b-445c-a124-4c054812d842","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":32,"tools":[{"description":"Заметка в память проекта (до ~300 символов; грабли и правки — 600). Пиши по ходу: одно наблюдение — одна заметка. kind: decision — сделанный выбор (полочка «Решения»), fact — как устроено, preference — как любит пользователь, progress — что сделано, pitfall — грабли «симптом → причина → лечение» (полочка «Грабли»), correction — «раньше X, теперь Y». Решение пиши формулой «что решали → выбрали X вместо Y, потому что Z»: ✓ «Очередь задач: Redis вместо Kafka — один инстанс, 200 rps». ✗ «Используем Redis» — следующая сессия переспорит то же самое.","inputSchema":{"properties":{"kind":{"default":"fact","type":"string"},"project_id":{"type":"integer"},"text":{"type":"string"}},"required":["project_id","text"],"type":"object"},"name":"add_note"},{"description":"Поручение следующей сессии агента: хвост из «Осталось», который не успел сделать. Пользователь видит его в мини-аппе, следующая сессия — в list_tasks.","inputSchema":{"properties":{"project_id":{"type":"integer"},"text":{"type":"string"}},"required":["project_id","text"],"type":"object"},"name":"add_task"},{"description":"Архивировать проект: уходит из списка, слот освобождается, данные целы. Зови, когда пользователю нужен слот под новый. Вернуть из архива и удалить проект может только он сам, в мини-аппе.","inputSchema":{"properties":{"project_id":{"type":"integer"}},"required":["project_id"],"type":"object"},"name":"archive_project"},{"description":"Спросить пользователя кнопками в Telegram, когда упёрся в развилку, которую решает он сам («какую БД берём?»). НЕ для мелочей, решаемых здравым смыслом. options — 2–4 коротких варианта (по умолчанию Да/Нет). Молчит — вернётся id для check_confirmation.","inputSchema":{"properties":{"options":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null},"question":{"type":"string"}},"required":["question"],"type":"object"},"name":"ask_user"},{"description":"Вложение для notify_me: скриншот после правки интерфейса, PDF, лог. В проект не сохраняется, живёт до отправки.","inputSchema":{"properties":{"filename":{"type":"string"},"size_bytes":{"type":"integer"}},"required":["filename","size_bytes"],"type":"object"},"name":"attach_file"},{"description":"Забрать ответ пользователя на вопрос ask_user (если тот вернул id). Зови не чаще раза в минуту-другую.","inputSchema":{"properties":{"ask_id":{"type":"string"}},"required":["ask_id"],"type":"object"},"name":"check_confirmation"},{"description":"Закрыть поручение из list_tasks: result — что сделано (1–2 фразы, до 500 символов, пользователь прочитает это в Telegram). Зови СРАЗУ по факту, не пачкой в конце. Не закрывай то, за что не брался.","inputSchema":{"properties":{"result":{"type":"string"},"task_id":{"type":"string"}},"required":["task_id","result"],"type":"object"},"name":"complete_task"},{"description":"Завести проект в Чипе. Зови по просьбе пользователя — или предложи сам, если работаете над задачей без проекта. Название — по сути задачи, до 60 символов.","inputSchema":{"properties":{"name":{"type":"string"}},"required":["name"],"type":"object"},"name":"create_project"},{"description":"Остановить дело или отозвать неподтверждённое. Списано только за сделанные шаги, остаток вернётся.","inputSchema":{"properties":{"errand_id":{"type":"string"}},"required":["errand_id"],"type":"object"},"name":"errand_cancel"},{"description":"Многошаговое дело в фоне (поиск, таблица, отчёт, презентация): план и цена ДО запуска, ничего не списывает. files — имена из list_files. run_at/ready_by — только если срок назвал сам пользователь.","inputSchema":{"properties":{"files":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null},"goal":{"type":"string"},"project_id":{"default":0,"type":"integer"},"ready_by":{"default":false,"type":"boolean"},"run_at":{"default":"","type":"string"}},"required":["goal"],"type":"object"},"name":"errand_plan"},{"description":"Отчёт и файлы готового или остановленного дела. Ссылки временные — скачай сразу.","inputSchema":{"properties":{"errand_id":{"type":"string"}},"required":["errand_id"],"type":"object"},"name":"errand_result"},{"description":"Запустить дело из errand_plan. Решает пользователь: без его автоодобрения для IDE уйдёт кнопка в Telegram или на сайт. max_credits — цена, которую он видел. Платно, кредитами пользователя.","inputSchema":{"properties":{"errand_id":{"type":"string"},"max_credits":{"type":"integer"},"mode":{"enum":["quick","thorough"],"type":"string"}},"required":["errand_id","mode","max_credits"],"type":"object"},"name":"errand_start"},{"description":"Ход дела: шаги, потрачено из цены, вопрос к пользователю. Без id — последние дела из IDE. Не чаще раза в минуту.","inputSchema":{"properties":{"errand_id":{"default":"","type":"string"}},"type":"object"},"name":"errand_status"},{"description":"Завершить двухфазную загрузку файла: зови ПОСЛЕ того, как curl из ответа upload_project_file отработал успешно.","inputSchema":{"properties":{"upload_id":{"type":"string"}},"required":["upload_id"],"type":"object"},"name":"finalize_upload"},{"description":"Сгенерировать картинку 1024×1024. ПЛАТНО: списывает с баланса пользователя ~3 кредита — зови по его запросу, не «на пробу». С project_id PNG ляжет в файлы проекта, без него — временная ссылка, скачай сразу.","inputSchema":{"properties":{"project_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null},"prompt":{"type":"string"}},"required":["prompt"],"type":"object"},"name":"generate_image"},{"description":"Контекст проекта: инструкции, поручения, оглавление карты, память, файлы, диалоги. Зови ОДИН раз, когда берёшься за проект впервые; вернулся в знакомый — whats_new, он дешевле. depth: \"brief\" (сводки аннотациями, по умолчанию) или \"full\" (дословно).","inputSchema":{"properties":{"depth":{"default":"","type":"string"},"project_id":{"type":"integer"}},"required":["project_id"],"type":"object"},"name":"get_project_context"},{"description":"Оглавление карты проекта: полочки-статьи с актуальным знанием, которые Чип ведёт по журналу (не лента). Сама статья — read_map_section.","inputSchema":{"properties":{"project_id":{"type":"integer"}},"required":["project_id"],"type":"object"},"name":"get_project_map"},{"description":"Файлы базы знаний проекта: имя, размер, читаемость. Зови перед read_project_file, если точное имя неизвестно.","inputSchema":{"properties":{"project_id":{"type":"integer"}},"required":["project_id"],"type":"object"},"name":"list_files"},{"description":"Проекты пользователя: id, название, последняя активность, открытые поручения. Нужен project_id — сюда; список меняется редко, не перечитывай.","inputSchema":{"properties":{},"type":"object"},"name":"list_projects"},{"description":"Поручения тебе в этом проекте: их ставит пользователь и прошлая сессия (add_task, хвосты «Осталось»). Зови в начале работы и когда ищешь, чем заняться дальше. Сделанное закрывай complete_task — незакрытое всплывёт снова.","inputSchema":{"properties":{"project_id":{"type":"integer"}},"required":["project_id"],"type":"object"},"name":"list_tasks"},{"description":"Сообщение пользователю в Telegram: итог долгой задачи («тесты зелёные», «сборка упала»), важное событие. НЕ для болтовни и не для вопросов — вопрос задавай в сессии. До 1000 символов. Показать скриншот, PDF или лог — сначала attach_file, потом сюда upload_id.","inputSchema":{"properties":{"text":{"type":"string"},"upload_id":{"default":"","type":"string"}},"required":["text"],"type":"object"},"name":"notify_me"},{"description":"Журнал проекта дословно, новые сверху: сводки сессий и заметки-вехи. Зови за «что было N сессий назад»; поиск по теме — search_project. offset 0 — свежие, дальше листай по подсказке в конце ответа.","inputSchema":{"properties":{"offset":{"default":0,"type":"integer"},"project_id":{"type":"integer"}},"required":["project_id"],"type":"object"},"name":"read_journal"},{"description":"Статья одной полочки карты — актуальное знание по теме («Решения», «Грабли»…). Зови по оглавлению из get_project_context или get_project_map.","inputSchema":{"properties":{"project_id":{"type":"integer"},"section":{"type":"string"}},"required":["project_id","section"],"type":"object"},"name":"read_map_section"},{"description":"Диалог пользователя с Чипом внутри проекта: сводка и последние реплики. Сценарий: надиктовал план с телефона — забери целиком, а не пересказ. Без session_id — самый свежий; id диалогов в get_project_context.","inputSchema":{"properties":{"project_id":{"type":"integer"},"session_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null}},"required":["project_id"],"type":"object"},"name":"read_project_dialog"},{"description":"Текст файла из базы знаний проекта, страницами. Без page у длинного документа придёт оглавление — выбери раздел и позови с page=N; дальше листай по подсказке в конце ответа.","inputSchema":{"properties":{"filename":{"type":"string"},"page":{"default":0,"type":"integer"},"project_id":{"type":"integer"}},"required":["project_id","filename"],"type":"object"},"name":"read_project_file"},{"description":"Переименовать проект (до 60 символов). Только по явной просьбе пользователя.","inputSchema":{"properties":{"name":{"type":"string"},"project_id":{"type":"integer"}},"required":["project_id","name"],"type":"object"},"name":"rename_project"},{"description":"Сводка рабочей сессии — в журнал проекта. Зови В КОНЦЕ сессии или перед долгой паузой, один раз — не дроби. Структура: Сделано → Решения и почему (включая отвергнутые) → Грабли → Осталось. До 6000 символов, на языке пользователя.","inputSchema":{"properties":{"project_id":{"type":"integer"},"text":{"type":"string"}},"required":["project_id","text"],"type":"object"},"name":"save_session_summary"},{"description":"Поиск по знанию проекта: полочки карты, журнал, память, диалоги. Зови за конкретным фактом или старым решением, которого нет в контексте. Без project_id — по всем проектам сразу. Запрос — 1–3 ключевых слова, не предложение. kind сужает память до вида (decision, pitfall, fact, preference, progress, correction); since (ISO, как курсор) режет старое.","inputSchema":{"properties":{"kind":{"default":"","type":"string"},"project_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null},"query":{"type":"string"},"since":{"default":"","type":"string"}},"required":["query"],"type":"object"},"name":"search_project"},{"description":"Напоминание пользователю в Telegram — для отложенных проверок и дедлайнов. when — ISO-время («2026-07-25T10:00»), без пояса = локальное время пользователя. Текст до 200 символов.","inputSchema":{"properties":{"text":{"type":"string"},"when":{"type":"string"}},"required":["text","when"],"type":"object"},"name":"set_reminder"},{"description":"Выгрузить файл в проект (md, txt, csv, json, pdf, docx, xlsx и др.) — пользователь откроет его с телефона. Зови, когда результат нужен ему в Чипе; код оставляй в репозитории. До ~20k символов — сразу в content, крупнее — укажи size_bytes и загрузи по инструкции из ответа. Картинки — generate_image. ПЛАТНО для многостраничного PDF: оглавление к нему списывает кредиты пользователя.","inputSchema":{"properties":{"content":{"default":"","type":"string"},"filename":{"type":"string"},"project_id":{"type":"integer"},"size_bytes":{"default":0,"type":"integer"}},"required":["project_id","filename"],"type":"object"},"name":"upload_project_file"},{"description":"Изменения в проекте с твоего прошлого захода: журнал, поручения, файлы, полочки карты, диалоги. Зови ПЕРВЫМ, как взялся за проект: в знакомом — только дельта, впервые — сразу полный контекст. Скажет «изменений много» — добери get_project_context. since — из «Курсора» прошлого ответа, session — метка твоей ветки: покажу соседние сессии этого токена.","inputSchema":{"properties":{"project_id":{"type":"integer"},"session":{"default":"","type":"string"},"since":{"default":"","type":"string"}},"required":["project_id"],"type":"object"},"name":"whats_new"},{"description":"Тариф, занятость слотов проектов и (на платном тарифе) остатки дневных лимитов. Зови в начале сессии и когда другой тул отказал по лимиту.","inputSchema":{"properties":{},"type":"object"},"name":"whoami"}]},"body_sha256":"0a1f1d01db68867c9b77ff573c149c60751eec619cb121f86f2425db811383b0","prev_id":null,"leaf":"0x7243224ae8eb752644f2a258235ddef1505315331154e38b349bc91e9a29961d","leaf_text":"{\"body\":\"0a1f1d01db68867c9b77ff573c149c60751eec619cb121f86f2425db811383b0\",\"id\":567124,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793138607505954,\"prev\":null,\"subject\":\"17431d52-c87b-445c-a124-4c054812d842\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-10-27","leaves":273461,"root":"0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795","chained":"0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4","anchor_chain":"eip155:5042002","anchor_tx":"0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4","anchor_block":69414147},"proof":["0x724365f9f55b6c868409d62d6bdc97dce553afef158847f42e23210c7316018f","0xfe9cbe759f56f3d69e7f51c6b8df152044fe57a33b2bc1c7cd030d0557e720f2","0x601ed597a80e03f51216b82cc3365f3c297b964f5a79ae8cb1ee898b5c14af8e","0x3ca2a191652136432b79e356037178edccee03a221fde2175b81dd146a542cee","0xdc25345e68c699de8061e1a8985ccc84f3d289735c8966ef11cb1b852ff0a0a0","0x05bd369d967bdd05f16d620fea67f824a43f1c217e20bca5a469e7d05f156759","0xc7448934195affc4651e7c59d043dfcdcc30ad61acac3bc94cd99445b85cf7d1","0x247708d881056efa5f3ad1b8d663f15a54cbfe195d3aaa898872ebc6c3bc4551","0x620cef3315dc1bfae1aed0304bfac899f8105261659f1b36d31f7fbe4e21389d","0x7e07aef950a1f04523ad921bae323b1afe6ce5d980427f507591afaeca83c945","0x36f1c88d0589e24531b7c2fe9c066893e7b891db974b9e8f5e5ebc201c6cf9ef","0x8a2168d13e43e2c8b0f508ca779f90beef60501499eeab439eb7d23816a97bc4","0x2926e99aefa0ff2e14a67a3ae10a7f6e753ce4b799c6fe531f8cbf8d33b31a66","0xb2ae53d841a55a805fb4078b1a7d44e08a81aba4be3690bac3a5b4c366bf39da","0x275720ecabb68df33eee92ae4fd70572a8d952d6c61c061c2869cfc3217aa5c5","0x23cf9bb4337ee8be7fcae368fd69d24c62c11fb45882127b4cd919bb96a19996","0x0e01aa9525097570a6edaf32bfc959de57bf5c24317cf10c0716affea85ca60d","0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585","0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699"]}