| 1 | { |
| 2 | "schema_version" 1, |
| 3 | "mcp_id" "agent-notes-mcp", |
| 4 | "title" "Agent Notes MCP", |
| 5 | "tools" [ |
| 6 | { |
| 7 | "name" "memory_health", |
| 8 | "description" "Быстрый health-check памяти: размер hot-context, обязательные секции, предупреждения по бюджету и рекомендации по compaction. Резолв scope: active_scope (если передан) → workspace-scope-map-v1 (по workspace_path) → опционально current: в секции active-scope (легаси) → иначе встроенный fallback (door-to-singularity)." |
| 9 | }, |
| 10 | { |
| 11 | "name" "route_context", |
| 12 | "description" "Подобрать релевантные секции из agent-notes.md по запросу и собрать компактный context-пакет (router-first). Не индексирует файлы knowledge/ — длинные playbook/kb подгружать отдельно через read_knowledge_file (напр. playbook-multi-project-context-v1.md, index-knowledge-router-v1.md). Резолв scope: active_scope (если передан) → workspace-scope-map-v1 (по workspace_path) → опционально current: в секции active-scope (легаси) → иначе встроенный fallback (door-to-singularity)." |
| 13 | }, |
| 14 | { |
| 15 | "name" "write_agent_notes", |
| 16 | "description" "Записать заметки агента (полная замена файла). Путь hot-файла: primary knowledge root из --config → {корень}/agent-notes.md; иначе workspace_path/.cascade-ide/agent-notes.md. ВНИМАНИЕ: перезаписывает файл целиком; для добавления блока без риска стереть остальное используйте append_agent_notes." |
| 17 | }, |
| 18 | { |
| 19 | "name" "append_agent_notes", |
| 20 | "description" "Добавить блок в конец заметок агента без перезаписи файла. Путь hot-файла: primary knowledge root из --config → {корень}/agent-notes.md; иначе workspace_path/.cascade-ide/agent-notes.md." |
| 21 | }, |
| 22 | { |
| 23 | "name" "read_agent_notes", |
| 24 | "description" "Прочитать заметки агента. Путь hot-файла: primary knowledge root из --config → {корень}/agent-notes.md; иначе workspace_path/.cascade-ide/agent-notes.md. Возвращает содержимое или пустую строку." |
| 25 | }, |
| 26 | { |
| 27 | "name" "read_hot_context", |
| 28 | "description" "Прочитать только горячий контекст (L0/L1) без загрузки архивного хвоста. Резолв scope: active_scope (если передан) → workspace-scope-map-v1 (по workspace_path) → опционально current: в секции active-scope (легаси) → иначе встроенный fallback (door-to-singularity)." |
| 29 | }, |
| 30 | { |
| 31 | "name" "upsert_agent_notes_section", |
| 32 | "description" "Точечно вставить/обновить секцию заметок по section_id без полной перезаписи файла. Секция оформляется маркерами <!-- section:ID --> ... <!-- /section:ID -->. Путь hot-файла — как у read_agent_notes." |
| 33 | }, |
| 34 | { |
| 35 | "name" "list_agent_notes_revisions", |
| 36 | "description" "Список ревизий заметок для rollback. Ревизии хранятся рядом с файлом заметок в подпапке .revisions." |
| 37 | }, |
| 38 | { |
| 39 | "name" "rollback_agent_notes", |
| 40 | "description" "Откатить заметки к выбранной ревизии (или к последней, если revision_file не задан). Текущее содержимое перед откатом тоже сохраняется как ревизия." |
| 41 | }, |
| 42 | { |
| 43 | "name" "search_agent_notes", |
| 44 | "description" "Поиск по заметкам с возвратом совпавших строк и номеров строк." |
| 45 | }, |
| 46 | { |
| 47 | "name" "extract_from_archive", |
| 48 | "description" "Точечное извлечение фактов из архивной ревизии без чтения всего файла." |
| 49 | }, |
| 50 | { |
| 51 | "name" "compact_hot_context", |
| 52 | "description" "Ужать hot-context: удалить дубли секций, нормализовать формат. По умолчанию preview, apply=true для записи." |
| 53 | }, |
| 54 | { |
| 55 | "name" "write_knowledge_file", |
| 56 | "description" "Записать файл в каталог knowledge/ (полная замена). Перед записью текущая версия сохраняется в knowledge/.revisions/ (если save_revision=true). Запись только в primary; read-only roots (knowledge_root_id=group) отклоняются." |
| 57 | }, |
| 58 | { |
| 59 | "name" "append_knowledge_file", |
| 60 | "description" "Добавить блок в конец файла в knowledge/ без перезаписи. Перед добавлением текущая версия сохраняется в knowledge/.revisions/ (если save_revision=true)." |
| 61 | }, |
| 62 | { |
| 63 | "name" "upsert_knowledge_section", |
| 64 | "description" "Вставить или обновить секцию в файле knowledge/ по section_id (маркеры <!-- section:ID --> ... <!-- /section:ID -->). Перед изменением текущая версия сохраняется в knowledge/.revisions/ (если save_revision=true)." |
| 65 | }, |
| 66 | { |
| 67 | "name" "delete_knowledge_file", |
| 68 | "description" "Удалить файл из каталога knowledge/. file_path — относительный путь (без '..'). Если файла нет — NO_CHANGES." |
| 69 | }, |
| 70 | { |
| 71 | "name" "delete_knowledge_section", |
| 72 | "description" "Удалить секцию из файла knowledge/ по section_id (блок между <!-- section:ID --> и <!-- /section:ID -->). Если секции нет — NO_CHANGES." |
| 73 | }, |
| 74 | { |
| 75 | "name" "read_knowledge_file", |
| 76 | "description" "Прочитать файл из каталога knowledge/. Корень: knowledge_path, knowledge_root_id (group, …) или primary из --config. Возвращает содержимое или пустую строку. Опционально offset (1-based) и limit. Для протоколов: playbook-multi-project-context-v1.md, index-knowledge-router-v1.md (route_context их не подставляет автоматически)." |
| 77 | }, |
| 78 | { |
| 79 | "name" "list_knowledge_files", |
| 80 | "description" "Список файлов в каталоге knowledge/ (без .revisions). Опционально subdir — подкаталог (например work). Возвращает path, size_bytes, modified_utc." |
| 81 | } |
| 82 | ] |
| 83 | } |
| 84 | |