Platform Help
MCP routing
- Документацию спрашивает MCP
unica инструментом unica.docs. source —
один вид источника, а не имя поставщика. Список закрыт: platform-help,
development-standard, configuration-documentation. Неизвестное имя
отклоняется кодом unsupported_source, который перечисляет допустимые.
source: "platform-help" — интерфейс программирования и механика платформы
(Синтакс-помощник, справка конфигуратора, руководства площадки вендора).
source: "development-standard" — сервер стандартов разработки.
- Без
source спрашиваются оба сразу: справка платформы и стандарты. Это
единственный смысл умолчания — встроенная справка конфигурации в него не
входит.
source: "configuration-documentation" пока отвечает unsupported_source с
названной причиной: её читатель ещё не переведён на границу отмены рабочего
пространства. Называйте это границей поверхности, а не отсутствием ответа.
unica.docs может ответить задачей (status: "working"). Тогда возьмите
taskId из ответа и дождитесь результата через unica.task.result. Ответ
«задача принята» не является ответом на вопрос.
- Полного текста страницы канонический провод не отдаёт: инструмента,
открывающего страницу по
documentId, он не публикует. Доказательство —
это documentId, applicableVersion и фрагмент попадания вместе; называйте
их в ответе, чтобы читатель мог открыть ту же страницу сам, и не выдавайте
фрагмент за прочитанную страницу.
- For project context, use
unica.search, unica.view {}, and
unica.check.
- Runtime идёт через
unica.run: вызов без op отдаёт словарь операций и
контракт каждой — argsSchema, execution, previewRequired,
ifRevRequiredOnApply. Контракт вызова бери оттуда, а не из этого текста;
выбирай только операцию с implemented: true и не выдумывай аргументов
записи с argsSchema: null; превью исполнением не является. Не обходи
контракт прямым runner-ом.
- Когда вопрос об API зависит от структуры метаданных, читай её
unica.view по
логическому адресу объекта.
- Do not call internal standards, runtime, or package adapters directly.
Чтение ответа
Ответ приходит секциями, по секции на поставщика, в порядке реестра.
- Каждая секция несёт
sourceKind и authority, каждое попадание в ней —
applicableVersion и documentId. Ответ обязан называть источник, версию и
documentId страницы: без него читатель не может вернуться к той же странице.
language секции — локаль, которой источник ответил на самом деле, а не
запрошенная. Если они расходятся, назовите подстановку локали в ответе:
справка поставляется не во всех локалях, и запрос на одной локали молча
отвечал бы страницами другой.
- Секция со смыслом источника
development-standard не закрывает вопрос о
сигнатуре или механике платформы, каким бы уместным ни выглядел её текст. Это
правило чтения, а не правило вызова. Симметрично: секция
configuration-documentation описывает прикладную конфигурацию и не
доказывает поведение самой платформы.
- Установка платформы старше в интерфейсе программирования, руководства
площадки — в описательном слое: механизмы целиком, форматы адресов,
администрирование. Расхождение их версий называйте в ответе.
- Отказ
provider_unavailable означает, что ни один поставщик не дал
результата: справка не установлена либо сетевой выход закрыт политикой.
Назовите условие среды, а не отвечайте по памяти.
Workflow
- State the exact platform/API question: object, method/property, platform
version, infobase mode, client/server context.
- Вызовите
unica.docs с именем объекта или члена — или с естественной
формулировкой вопроса: поиск пословный, морфологический и нечёткий
(ADR-0037), точная подстрока и порядок слов не требуются, опечатка в имени
не прячет страницу.
- Если ответ пришёл задачей, дождитесь его через
unica.task.result.
- Read
applicableVersion in the hit. Если она расходится с версией проекта,
назовите расхождение в ответе.
- Назовите
documentId попадания дословно вместе с ответом. Если фрагмента
не хватает, чтобы утверждение стояло, скажите это прямо и не достраивайте
страницу по памяти.
- Validate against local project context with
unica.view {} and targeted
unica.search if the answer depends on project conventions.
- For code examples, check syntax with
unica.check; report runtime
behavior as unverified.
Platform context
- Read
../../references/platform/compatibility-modes.md for every question about a
compatibility mode or version-sensitive behavior. Resolve the runtime
platform, literal mode, effective compatibility version, and
feature-specific boundary separately.
- Read
../../references/platform/platform-mechanics.md when the answer depends on runtime context, auth, temporary storage, data separation, background jobs, or client/server boundaries.
- Read
../../references/platform/runtime-diagnostics.md when a platform question is really about a startup/runtime failure and needs evidence before an answer.
- Do not give a platform answer from memory when version, mode, or context can change the behavior. Resolve that first, then answer.
Stop rules
- Do not present a
development-standard section as proof of platform API behavior or exact method signatures.
- Справка отвечает, что и с какими типами вызывать. Целостное описание механизма — за пределами источника: сообщите границу источника вместо ответа по памяти.
- Если секция вернула
unavailable с причиной version-missing, назовите, какой установки или версии документа не хватает (отказ перечисляет доступные). Не подставляйте справку соседней версии.
- Если секция вернула
unavailable с причиной policy-denied — сетевой выход запрещён политикой unica.toml самим пользователем. Назовите это решением проекта, а не сбоем, и отвечайте из оставшихся секций.
- Если ни один поставщик не дал подтверждения, сообщите
platform-help contract gap и назовите требуемую версию и контекст.
MCP examples
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "unica.docs",
"arguments": {
"cwd": "<workspace>",
"query": "СтрНайти",
"source": "platform-help"
}
}
}
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "unica.docs",
"arguments": {
"cwd": "<workspace>",
"query": "как удалить элемент массива"
}
}
}
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "unica.task.result",
"arguments": { "taskId": "<taskId из ответа unica.docs>", "waitMs": 7000 }
}
}
1---2name: platform-help3description: Справка платформы 1С и объектной модели BSL. Используй когда нужно уточнить метод, свойство, конструктор, поведение API, версию платформы, совместимость или стандартное решение задачи.4---56# Platform Help78## MCP routing910- Документацию спрашивает MCP `unica` инструментом `unica.docs`. `source` —11 один вид источника, а не имя поставщика. Список закрыт: `platform-help`,12 `development-standard`, `configuration-documentation`. Неизвестное имя13 отклоняется кодом `unsupported_source`, который перечисляет допустимые.14- `source: "platform-help"` — интерфейс программирования и механика платформы15 (Синтакс-помощник, справка конфигуратора, руководства площадки вендора).16 `source: "development-standard"` — сервер стандартов разработки.17- Без `source` спрашиваются оба сразу: справка платформы и стандарты. Это18 единственный смысл умолчания — встроенная справка конфигурации в него не19 входит.20- `source: "configuration-documentation"` пока отвечает `unsupported_source` с21 названной причиной: её читатель ещё не переведён на границу отмены рабочего22 пространства. Называйте это границей поверхности, а не отсутствием ответа.23- `unica.docs` может ответить задачей (`status: "working"`). Тогда возьмите24 `taskId` из ответа и дождитесь результата через `unica.task.result`. Ответ25 «задача принята» не является ответом на вопрос.26- Полного текста страницы канонический провод не отдаёт: инструмента,27 открывающего страницу по `documentId`, он не публикует. Доказательство —28 это `documentId`, `applicableVersion` и фрагмент попадания вместе; называйте29 их в ответе, чтобы читатель мог открыть ту же страницу сам, и не выдавайте30 фрагмент за прочитанную страницу.31- For project context, use `unica.search`, `unica.view {}`, and32 `unica.check`.33- Runtime идёт через `unica.run`: вызов без `op` отдаёт словарь операций и34контракт каждой — `argsSchema`, `execution`, `previewRequired`,35`ifRevRequiredOnApply`. Контракт вызова бери оттуда, а не из этого текста;36выбирай только операцию с `implemented: true` и не выдумывай аргументов37записи с `argsSchema: null`; превью исполнением не является. Не обходи38контракт прямым runner-ом.39- Когда вопрос об API зависит от структуры метаданных, читай её `unica.view` по40 логическому адресу объекта.41- Do not call internal standards, runtime, or package adapters directly.4243## Чтение ответа4445Ответ приходит секциями, по секции на поставщика, в порядке реестра.4647- Каждая секция несёт `sourceKind` и `authority`, каждое попадание в ней —48 `applicableVersion` и `documentId`. Ответ обязан называть источник, версию и49 `documentId` страницы: без него читатель не может вернуться к той же странице.50- `language` секции — локаль, которой источник ответил на самом деле, а не51 запрошенная. Если они расходятся, назовите подстановку локали в ответе:52 справка поставляется не во всех локалях, и запрос на одной локали молча53 отвечал бы страницами другой.54- Секция со смыслом источника `development-standard` не закрывает вопрос о55 сигнатуре или механике платформы, каким бы уместным ни выглядел её текст. Это56 правило чтения, а не правило вызова. Симметрично: секция57 `configuration-documentation` описывает прикладную конфигурацию и не58 доказывает поведение самой платформы.59- Установка платформы старше в интерфейсе программирования, руководства60 площадки — в описательном слое: механизмы целиком, форматы адресов,61 администрирование. Расхождение их версий называйте в ответе.62- Отказ `provider_unavailable` означает, что ни один поставщик не дал63 результата: справка не установлена либо сетевой выход закрыт политикой.64 Назовите условие среды, а не отвечайте по памяти.6566## Workflow67681. State the exact platform/API question: object, method/property, platform69 version, infobase mode, client/server context.702. Вызовите `unica.docs` с именем объекта или члена — или с естественной71 формулировкой вопроса: поиск пословный, морфологический и нечёткий72 (ADR-0037), точная подстрока и порядок слов не требуются, опечатка в имени73 не прячет страницу.743. Если ответ пришёл задачей, дождитесь его через `unica.task.result`.754. Read `applicableVersion` in the hit. Если она расходится с версией проекта,76 назовите расхождение в ответе.775. Назовите `documentId` попадания дословно вместе с ответом. Если фрагмента78 не хватает, чтобы утверждение стояло, скажите это прямо и не достраивайте79 страницу по памяти.806. Validate against local project context with `unica.view {}` and targeted81 `unica.search` if the answer depends on project conventions.827. For code examples, check syntax with `unica.check`; report runtime83 behavior as unverified.8485## Platform context8687- Read `../../references/platform/compatibility-modes.md` for every question about a88 compatibility mode or version-sensitive behavior. Resolve the runtime89 platform, literal mode, effective compatibility version, and90 feature-specific boundary separately.91- Read `../../references/platform/platform-mechanics.md` when the answer depends on runtime context, auth, temporary storage, data separation, background jobs, or client/server boundaries.92- Read `../../references/platform/runtime-diagnostics.md` when a platform question is really about a startup/runtime failure and needs evidence before an answer.93- Do not give a platform answer from memory when version, mode, or context can change the behavior. Resolve that first, then answer.9495## Stop rules9697- Do not present a `development-standard` section as proof of platform API behavior or exact method signatures.98- Справка отвечает, что и с какими типами вызывать. Целостное описание механизма — за пределами источника: сообщите границу источника вместо ответа по памяти.99- Если секция вернула `unavailable` с причиной `version-missing`, назовите, какой установки или версии документа не хватает (отказ перечисляет доступные). Не подставляйте справку соседней версии.100- Если секция вернула `unavailable` с причиной `policy-denied` — сетевой выход запрещён политикой `unica.toml` самим пользователем. Назовите это решением проекта, а не сбоем, и отвечайте из оставшихся секций.101- Если ни один поставщик не дал подтверждения, сообщите `platform-help contract gap` и назовите требуемую версию и контекст.102103## MCP examples104105```json106{107 "jsonrpc": "2.0",108 "method": "tools/call",109 "params": {110 "name": "unica.docs",111 "arguments": {112 "cwd": "<workspace>",113 "query": "СтрНайти",114 "source": "platform-help"115 }116 }117}118```119120```json121{122 "jsonrpc": "2.0",123 "method": "tools/call",124 "params": {125 "name": "unica.docs",126 "arguments": {127 "cwd": "<workspace>",128 "query": "как удалить элемент массива"129 }130 }131}132```133134```json135{136 "jsonrpc": "2.0",137 "method": "tools/call",138 "params": {139 "name": "unica.task.result",140 "arguments": { "taskId": "<taskId из ответа unica.docs>", "waitMs": 7000 }141 }142}143```144