Cursor + MCP для 1С: работающая инструкция с картинками

28.09.26

Интеграция - Нейросети

Подключаем Cursor к 1C: Platform Tools MCP на Windows: установка расширений, packagedef, IPC, токен и mcp.json. Восемь шагов со снимками экрана, проверка env_status, разбор MODULE_NOT_FOUND и конфликта портов. Исправляем ошибки предыдущей статьи и объясняем, как агент получает метаданные из XML. Стенд: Cursor 3.19.7, Platform Tools 0.9.6, MCP 0.3.0.

Cursor + MCP для 1С: работающая инструкция с картинками

Целевая аудитория: разработчики 1С, которые хотят подключить ИИ-агента Cursor к своему проекту через расширения 1C: Platform Tools и попробовали сделать это по статье 2795749.

Ключевые технологии: Cursor 3.x, Model Context Protocol (MCP), расширения yellow-hammer «1C: Platform Tools» и «1C: Platform Tools MCP», OneScript/opm (packagedef), выгрузка конфигурации в XML.

Оглавление:
  1. Что MCP-сервер Platform Tools делает на самом деле
  2. Шаг 1. Открыть редактор в Cursor 3.x
  3. Шаг 2. Поставить расширения и обновить их
  4. Шаг 3. Инициализировать проект (packagedef)
  5. Шаг 4. Перезапустить окно и найти панели 1С
  6. Шаг 5. Включить IPC расширения
  7. Шаг 6. Записать .cursor/mcp.json
  8. Шаг 7. Включить сервер в Cursor
  9. Шаг 8. Проверка: «Покажи состояние окружения 1С»
  10. Грабли: MODULE_NOT_FOUND и два окна Cursor
  11. А как агенту увидеть метаданные?
  12. Что было не так в первой статье
  13. Что дальше

22 сентября мы опубликовали статью «Cursor + MCP: собираем идеальное рабочее место 1С-разработчика за 15 минут». По состоянию на 24 сентября у неё было 6163 просмотра, 6 плюсов и 7 минусов. Критика в комментариях была по делу. Мы сверили статью с документацией расширений и с живой установкой и нашли в ней ошибки, в том числе в главном тезисе: MCP-сервер Platform Tools не передаёт агенту объектную модель конфигурации.

Эта статья - продолжение той и первая часть новой серии. В ней мы заново проходим установку и исправляем найденные ошибки. Дальше «первая статья» - это 2795749, а «часть 1» - эта. Каждый шаг ниже пройден на реальном стенде 24–25.09.26. Снимки экрана сделаны на этом стенде; где снимка нет, приведён текст интерфейса. В конце таблица: что было написано в первой статье и как на самом деле.

Всё, что нужно для повторения, приведено прямо в статье: packagedef (шаг 3), .cursor/mcp.json и шаблон этого файла для git (шаг 6), скрипт проверки MCP-сервера без Cursor (шаг 7). Демо-конфигурацию Нано-УТ мы не выкладываем: для шагов этой части подойдёт выгрузка в XML любой Вашей конфигурации.

Стенд, на котором всё снято:

  • Windows 11 Pro;
  • Cursor 3.19.7 (установлен через winget, пакет Anysphere.Cursor), бесплатный план;
  • «1C: Platform Tools» 0.9.6 и «1C: Platform Tools MCP» 0.3.0;
  • платформа 1С:Предприятие 8.3.27.2130;
  • Node.js установлен, OneScript и vanessa-runner - нет;
  • проект - выгрузка демо-конфигурации Нано-УТ в XML, каталог src/cf/. Проект лежит вне OneDrive.

Расширения активно обновляются. Если у Вас версии новее, интерфейс может отличаться в деталях. Сверяйте версии в первую очередь.

Что MCP-сервер Platform Tools делает на самом деле

Сначала о главном, потому что от этого зависят ожидания.

«1C: Platform Tools» - расширение для VS Code и совместимых редакторов (Cursor, Windsurf, VSCodium). «1C: Platform Tools MCP» - второе расширение, которое публикует команды первого как инструменты MCP для ИИ-агента. Оба расширения - community-проект организации yellow-hammer на GitHub под лицензией MIT. Фирма «1С» к ним отношения не имеет.

По документации MCP-сервер даёт агенту «доступ к командам расширения: тесты, профили запуска, сборка и загрузка конфигурации… работа с базой». Это пульт управления: создать базу из исходников, загрузить или выгрузить cf/cfe, собрать epf, запустить тесты, проверить синтаксис, поднять OData, запустить пайплайн.

Инструментов для чтения метаданных (реквизиты, табличные части, структура объектов) в MCP нет. Это сделано намеренно: в исходном коде расширения (src/shared/mcpCommandPolicy.ts) команды группы metadata.* перечислены в HIDDEN_PREFIXES, то есть не публикуются как MCP-инструменты. Дерево метаданных в расширении есть, но только в интерфейсе редактора, для человека. Как агенту всё-таки получить метаданные, разберём отдельно.

Схема: Cursor : MCP-сервер : расширение 1C: Platform Tools : платформа 1С; метаданные агент читает из файлов проекта

Рис. 1. Кто с кем связан. Агент говорит с MCP-сервером через stdio, сервер с расширением - по TCP на localhost (с токеном, если он задан, см. шаг 6). Метаданные (реквизиты, табличные части) агент берёт из XML-файлов проекта сам: команды metadata.* в MCP не публикуются.

Шаг 1. Открыть редактор в Cursor 3.x

Cursor 3.x после запуска показывает окно агентов, а не привычный редактор с деревом файлов. Редактор открывается кнопкой IDE в правом верхнем углу. Все дальнейшие шаги выполняются в нём.

Шаг 2. Поставить расширения и обновить их

В Cursor расширения ставятся из Open VSX (в VS Code - из VS Marketplace; без доступа к маркетплейсу можно поставить файл .vsix из релизов на GitHub). В поиске расширений найдите и установите оба:

  • 1C: Platform Tools;
  • 1C: Platform Tools MCP.

Издатель обоих - yellow-hammer.

У нас сначала установились версии 0.9.5 и 0.2.3, хотя на GitHub уже вышли 0.9.6 и 0.3.0. Через пару минут Cursor сам обновил их до 0.9.6 и 0.3.0. Поэтому после установки откройте карточку каждого расширения и проверьте версию. Если она отстаёт от последнего релиза на GitHub, обновите расширение.

Карточка расширения 1C: Platform Tools, версия 0.9.6

Рис. 2. Панель Extensions: 1 установленное расширение «1C: Platform Tools» от yellow-hammer, 2 поле Version в карточке - 0.9.6. Сверьте с последним релизом на GitHub.

Карточка расширения 1C: Platform Tools MCP, версия 0.3.0

Рис. 3. 1 «1C: Platform Tools MCP», 2 версия 0.3.0. В описании расширения прямо написано, что Cursor добавляет новый сервер выключенным. Об этом шаг 7.

Шаг 3. Инициализировать проект (packagedef)

Откройте каталог проекта (File → Open Folder). Пока в нём нет файла packagedef, расширение работает в урезанном режиме: видны только панели «1С: Проекты» и «1С: Администрирование». Это нормально. Расширение активируется, когда в рабочей области есть каталог с файлом packagedef.

Писать packagedef руками не нужно. Панель «1С: Проекты» открывает страницу «Начало работы с 1C: Platform Tools» с кнопками:

  • Открыть проект;
  • Создать проект;
  • Инициализировать текущий;
  • Инициализировать структуру.

Нажмите Инициализировать текущий. Та же операция есть в палитре команд («1С: Зависимости: Инициализировать проект») и в MCP (инструменты project_init и deps_initPackagedef).

У нас получился такой packagedef:

packagedef
1
2
3
4
5
6
7
8
9
Описание.Имя("project-1с")
    .Версия("1.0.0")
    .ВерсияСреды("2.0.0")
    .ЗависитОт("add")
    .ЗависитОт("vanessa-automation-single")
    .ЗависитОт("vanessa-runner", "3.0.0")
    .РазработкаЗависитОт("1testrunner")
    .РазработкаЗависитОт("oneunit")
;

Две вещи, которые в первой статье были описаны неверно:

  • packagedef - это файл проекта и зависимостей менеджера пакетов OneScript (opm). Это не «стандартный способ описания проекта 1С», и 1С:EDT на него не ориентируется: у EDT свой формат проекта, а расширение переводит EDT-проект в XML отдельной командой.
  • .ВерсияСреды("2.0.0") - минимальная версия движка OneScript, а не версия платформы 1С:Предприятие.

Заодно расширение создало каталог build/ и само скачало portable JRE 21 и md-sparrow, которые нужны для дерева метаданных в интерфейсе.

Шаг 4. Перезапустить окно и найти панели 1С

После появления packagedef перезапустите окно: Ctrl+Shift+P → Developer: Reload Window. Расширение активируется по событию workspaceContains:packagedef, и без перезапуска полный набор панелей может не появиться.

После перезапуска появляются панели «1С: Инструменты», «1С: Метаданные» и «1С: Свойства». На нашем стенде в выпадающем списке панелей Cursor 3.19.7 их не было. Открыть их можно через View → Open View… → 1С: Инструменты.

Выпадающий список панелей Cursor: есть 1С: Проекты и 1С: Администрирование, нет 1С: Инструменты

Рис. 4. Выпадающий список панелей Cursor 3.19.7: 1 из панелей расширения здесь только «1С: Проекты» и «1С: Администрирование». «1С: Инструменты» в списке нет.

Список View : Open View… с пунктами 1С: Инструменты, 1С: Метаданные, 1С: Свойства

Рис. 5. View → Open View…: 1 здесь есть все панели расширения - «1С: Инструменты», «1С: Метаданные», «1С: Свойства».

Шаг 5. Включить IPC расширения

После установки MCP-расширения Cursor показал уведомление: «MCP-серверу нужен IPC расширения 1c-platform-tools: без него инструменты недоступны» с кнопкой [Включить]. Нажмите её.

Кнопка записывает в пользовательские настройки:

settings.json (фрагмент)
1
"1c-platform-tools.ipc.enabled": true

После этого расширение поднимает локальный TCP-сервер на 127.0.0.1:40241 (порт по умолчанию). Мы проверили это на стенде командой PowerShell Get-NetTCPConnection. MCP-сервер подключается к расширению именно по этому порту и передаёт токен из переменной ONEC_IPC_TOKEN.

В первой статье было написано, что связь идёт «через локальный канал (stdio/IPC) - без отдельного сетевого порта». Это неверно: порт есть, пусть и только на localhost. Если порт 40241 уже кем-то занят, это надо учитывать.

Шаг 6. Записать .cursor/mcp.json

Cursor не поддерживает провайдер MCP-серверов VS Code, поэтому сервер подключается через файл .cursor/mcp.json в проекте. Писать его руками не нужно.

Откройте 1С: Инструменты → Команды → Навыки для AI → Настроить MCP для Cursor. Это обычный клик в дереве, палитра команд не нужна. Та же команда есть в палитре под именем «Настроить MCP для Cursor (.cursor/mcp.json)».

Панель 1С: Инструменты, узел Навыки для AI, пункт Настроить MCP для Cursor

Рис. 6. Панель «1С: Инструменты» → «Команды»: 1 узел «Навыки для AI» и пункт «Настроить MCP для Cursor». Один клик - и файл .cursor/mcp.json записан.

Cursor покажет уведомление «Конфиг MCP для Cursor записан в …/.cursor/…». У нас получился такой файл (имя пользователя заменено):

.cursor/mcp.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
  "mcpServers": {
    "mcp-1c-platform-tools": {
      "disabled": false,
      "command": "node",
      "args": [
        "c:/Users/<user>/.cursor/extensions/yellow-hammer.mcp-1c-platform-tools-0.3.0-universal/out/src/index.js"
      ],
      "env": {
        "ONEC_IPC_HOST": "127.0.0.1",
        "ONEC_IPC_PORT": "40241",
        "ONEC_IPC_TOKEN": ""
      }
    }
  }
}

Обратите внимание на путь в args: в нём есть номер версии расширения (0.3.0). К этому вернёмся в разделе про грабли.

И на пустой ONEC_IPC_TOKEN. С пустым токеном расширение принимает команды от любого процесса на этой машине, о чём честно пишет в свой лог (Output → «1C Platform Tools»): «токен не задан: команды примет любой процесс этой машины, задайте 1c-platform-tools.ipc.token». Мы это проверили: скрипт проверки MCP-сервера (его текст - в шаге 7) без всякого токена запустил на стенде команду установки OneScript (её Cursor ещё переспросил, но далеко не все команды спрашивают). Среди команд есть и такие, что пересоздают базу. Токен ограничивает доступ к IPC для процессов, которые его не знают; он не защищает от процесса, способного прочитать настройки или mcp.json от имени того же пользователя.

Как закрыть:

  1. В настройках Cursor (Ctrl+,) найдите 1c-platform-tools.ipc.token и впишите длинную случайную строку.
  2. Ещё раз выполните «Настроить MCP для Cursor»: расширение возьмёт токен из этой настройки и запишет его в ONEC_IPC_TOKEN.
  3. Не коммитьте .cursor/mcp.json: теперь в нём секрет, а ещё путь к профилю пользователя. Добавьте этот файл в .gitignore, а в репозиторий положите шаблон без токена, например .cursor/mcp.json.example:
    .cursor/mcp.json (шаблон для git)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    {
      "mcpServers": {
        "mcp-1c-platform-tools": {
          "disabled": false,
          "command": "node",
          "args": [
            "c:/Users/<ПОЛЬЗОВАТЕЛЬ>/.cursor/extensions/yellow-hammer.mcp-1c-platform-tools-<ВЕРСИЯ>-universal/out/src/index.js"
          ],
          "env": {
            "ONEC_IPC_HOST": "127.0.0.1",
            "ONEC_IPC_PORT": "40241",
            "ONEC_IPC_TOKEN": ""
          }
        }
      }
    }
  4. Снова включите сервер (шаг 7): после правки mcp.json Cursor его выключает.

Мы проверили это на стенде 25.09.26. Токен действует сразу, перезапуск не нужен: вызов без токена получает UNAUTHORIZED, и MCP-сервер показывает агенту только один служебный инструмент. После повторного «Настроить MCP для Cursor» токен попал в mcp.json, и все 108 инструментов вернулись.

Одна тонкость. На нашем стенде после перезапуска Cursor иногда оставался «1 tool enabled»: сервер стартовал раньше IPC, что подтверждала ошибка ECONNREFUSED 127.0.0.1:40241 в логе. Reload не помог, а после запроса «Покажи состояние окружения 1С» сервер переподключился и снова показал 108 инструментов. Само число «1» не определяет причину: проверьте лог, поскольку при неверном токене тоже остаётся один служебный инструмент.

Шаг 7. Включить сервер в Cursor

Настройки MCP в Cursor 3.x переехали. В Cursor Settings теперь висит баннер «Plugins, MCPs, Skills, and Rules have moved to Customize». Нажмите Open Customize → MCPs.

Сервер mcp-1c-platform-tools будет в списке в состоянии Disabled, хотя в mcp.json стоит "disabled": false. Так и задумано: по документации MCP-расширения «новый сервер Cursor добавляет выключенным». Именно на этом месте застрял автор комментария №11 к первой статье, а в ней об этом не было ни слова.

Как включить:

  1. Щёлкните по строке сервера. Откроется «Configure mcp-1c-platform-tools».
  2. Включите переключатель у источника .cursor/mcp.json.
  3. Статус сменится на «Local: Connecting…», затем на Connected.

На нашем стенде после подключения Cursor показал 108 tools enabled. Число зависит от версий расширений: список инструментов собирается из команд расширения, так что у Вас оно может отличаться.

Customize : MCPs: сервер mcp-1c-platform-tools в состоянии Disabled

Рис. 7. Customize → MCPs: 1 сервер mcp-1c-platform-tools в состоянии Disabled, хотя в .cursor/mcp.json записано "disabled": false.

Окно Configure mcp-1c-platform-tools: источник .cursor/mcp.json включён, Local: Connected

Рис. 8. «Configure mcp-1c-platform-tools»: 1 переключатель источника .cursor/mcp.json включён, 2 среда Local - Connected. Ниже - список инструментов, каждый можно отключить отдельно.

Какие группы инструментов мы получили (0.9.6 / 0.3.0)

Список снят скриптом, который запрашивает у MCP-сервера перечень инструментов (текст скрипта - в следующем спойлере). Группы по префиксам:

  • project_* - проект и его структура;
  • deps_* - зависимости (initPackagedef, installOscript, install и др.);
  • infobase_* - информационные базы (create, updateDb, init, initFromSrc, dumpDt, restoreDt и др.);
  • cf_* - конфигурация (load, loadInc, dump, compile, decompile, makeDist и др.);
  • cfe_* - расширения конфигурации, включая cfe_borrowObject;
  • epf_* - внешние обработки и отчёты;
  • test_* - тесты (xunit, vanessa, yaxunit, mutatos, allure и др.);
  • syntaxCheck_run - синтаксический контроль;
  • run_enterprise, run_designer - запуск клиента и конфигуратора;
  • odata_query, odata_setup - OData;
  • pipelines_run - пайплайны;
  • env_*, serviceFiles_*, session_*, tasks_*, debug_*, properties_show, edt_*, server_*.

Инструментов чтения метаданных среди них нет.

Скрипт запускает MCP-сервер так же, как Cursor, по параметрам из .cursor/mcp.json, и выводит список инструментов. С аргументом он вызывает один инструмент без параметров. Удобно, когда непонятно, кто виноват: Cursor или связка «MCP-сервер - расширение».

Сохраните его в проекте как tools/mcp-check.mjs и запускайте из корня проекта, пока проект открыт в Cursor и IPC включён (шаг 5). Нужен только Node.js, пакеты ставить не надо.

Запуск проверки MCP
1
2
node tools/mcp-check.mjs
node tools/mcp-check.mjs env_status

Вызывайте так только безопасные инструменты вроде env_status: скрипт ничего не переспрашивает, а среди инструментов есть пересоздание базы.

tools/mcp-check.mjs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
// Проверка MCP-сервера 1C: Platform Tools без Cursor.
// Запускает сервер по параметрам из .cursor/mcp.json, получает список инструментов
// и, если передан аргумент, вызывает один инструмент без параметров.
//
//   node tools/mcp-check.mjs              - список инструментов
//   node tools/mcp-check.mjs env_status   - вызвать env_status
//
// Нужен открытый в Cursor/VS Code проект с включённым IPC (1c-platform-tools.ipc.enabled).

import { spawn } from "node:child_process";
import { readFileSync } from "node:fs";

const cfg = JSON.parse(readFileSync(".cursor/mcp.json", "utf8")).mcpServers["mcp-1c-platform-tools"];
const server = spawn(cfg.command, cfg.args, { env: { ...process.env, ...cfg.env }, stdio: ["pipe", "pipe", "inherit"] });

let buf = "";
const waiting = new Map();
server.stdout.on("data", (chunk) => {
  buf += chunk;
  let i;
  while ((i = buf.indexOf("\n")) >= 0) {
    const line = buf.slice(0, i).trim();
    buf = buf.slice(i + 1);
    if (!line) continue;
    const msg = JSON.parse(line);
    waiting.get(msg.id)?.(msg);
  }
});

let nextId = 1;
function request(method, params) {
  const id = nextId++;
  server.stdin.write(JSON.stringify({ jsonrpc: "2.0", id, method, params }) + "\n");
  return new Promise((resolve) => waiting.set(id, resolve));
}

const init = await request("initialize", {
  protocolVersion: "2025-06-18",
  capabilities: {},
  clientInfo: { name: "mcp-check", version: "1.0.0" },
});
console.log(`Сервер: ${init.result.serverInfo.name} ${init.result.serverInfo.version}`);
server.stdin.write(JSON.stringify({ jsonrpc: "2.0", method: "notifications/initialized" }) + "\n");

const tool = process.argv[2];
if (tool) {
  const res = await request("tools/call", { name: tool, arguments: {} });
  console.log(JSON.stringify(res.result ?? res.error, null, 2));
} else {
  const { result } = await request("tools/list", {});
  console.log(`Инструментов: ${result.tools.length}`);
  for (const t of result.tools) console.log(`${t.name}\t${(t.description ?? "").split("\n")[0]}`);
}
server.kill();

Шаг 8. Проверка: «Покажи состояние окружения 1С»

В первой статье проверкой был вопрос «Какие объекты есть в корне конфигурации?». Этот вопрос не проверяет MCP вообще: агент ответит на него, прочитав файлы проекта. Документация MCP-расширения предлагает другую проверку, и её мы и рекомендуем.

Откройте чат агента и напишите:

Покажи состояние окружения 1С

Агент должен сам вызвать инструмент env_status. По документации в ответе будут активный профиль запуска, версия платформы и путь к базе.

У нас агент вызвал env_status (в чате видно «1 tool») и вывел таблицу:

  • профиль - default, схема настроек v2;
  • env.json - файла нет;
  • vanessa-runner - не определена;
  • строки подключения нет;
  • OData - автономный сервер не запущен.

Затем он предложил создать служебные файлы. Для чистого проекта без базы это правильная картина: MCP работает, а окружение ещё не настроено.

Если агент ответил без вызова инструмента, такая проверка ещё не подтверждает работу MCP. Попросите его явно вызвать env_status. Если инструмент недоступен, проверьте подключение по шагу 7.

Чат агента: запрос Покажи состояние окружения 1С и таблица из env_status

Рис. 9. Проверка в чате: 1 под запросом видно «1 tool» - агент вызвал env_status, а не ответил по памяти. Таблица честно показывает пустое окружение: env.json нет, vanessa-runner не определена, OData не запущен. Путь к проекту на снимке заменён на <user>.

Грабли: MODULE_NOT_FOUND и два окна Cursor

MODULE_NOT_FOUND после обновления расширения

В .cursor/mcp.json записан путь к index.js, и в этом пути есть версия расширения (…mcp-1c-platform-tools-0.3.0-universal…). Когда расширение обновляется, каталог старой версии пропадает, и сервер падает с ошибкой MODULE_NOT_FOUND.

Начиная с версии 0.1.10 MCP-расширение чинит это само: при запуске оно переписывает путь, если тот ведёт на другую установку этого же расширения (так сказано в его README и видно в коде, out/src/cursorConfig.js). Путь, прописанный вручную, например на сборку из исходников, расширение не трогает, его придётся править руками.

Мы проверили это на стенде 25.09.26: вписали в путь версию 0.2.3 - с неё у нас начиналась установка, но её каталога после обновления уже нет - и перезапустили Cursor. Вот что произошло:

  1. Первый запуск всё равно упал. Cursor стартовал сервер в 11:59:20, а расширение активировалось и переписало путь только в 11:59:33 (в его логе: «Конфиг Cursor обновлён»). Сервер к этому моменту уже упал с MODULE_NOT_FOUND.
  2. Интерфейс ошибку почти не показывает. Сначала в списке висит зелёная точка и «0 tools enabled». Потом сервер уходит в группу «Needs Attention» и выключается: Cursor выключает сервер после любой правки .cursor/mcp.json, в том числе сделанной расширением. В окне сервера написано только «MCP error -32000: Connection closed», а причину видно лишь по кнопке Show Output.
  3. Переключатель и Reload не помогли. Путь в файле уже был правильным, но переподключился сервер только после перезапуска Cursor.

Что делать, если после обновления расширения MCP-инструменты пропали:

  1. Проверить путь в .cursor/mcp.json: номер версии должен совпадать с карточкой расширения. Если путь не исправился сам (например, вы писали его руками), выполните «Настроить MCP для Cursor» ещё раз.
  2. Перезапустить Cursor.
  3. Снова включить сервер, как в шаге 7.

Пока Cursor открыт, обновление ничего не ломает: уже запущенный процесс сервера продолжает работать. Ошибка появляется при следующем запуске.

Customize : MCPs: сервер в группе Needs Attention; в Output ошибка Cannot find module, MODULE_NOT_FOUND

Рис. 10. MODULE_NOT_FOUND в Cursor 3.19.7: 1 сервер попал в группу «Needs Attention» и выключен, 2 причина видна только в Output (кнопка Show Output в окне сервера): Cannot find module …mcp-1c-platform-tools-0.2…, code: 'MODULE_NOT_FOUND'. Имя пользователя в пути заменено на <user>.

Два окна Cursor с разными проектами

IPC-порт по умолчанию один на всех: 40241. Если открыть второй проект во втором окне Cursor, второе окно сообщит, что порт уже используется, а агент может попасть не в тот проект. Это видно по ошибке WORKSPACE_MISMATCH.

Лечение по документации: задать каждому проекту свой порт в .vscode/settings.json этого проекта. Порт, на который смотрит MCP-сервер, указан в .cursor/mcp.json в переменной ONEC_IPC_PORT. Точный рецепт - в docs/index.md репозитория yellow-hammer/mcp-1c-platform-tools, раздел «Несколько окон».

А как агенту увидеть метаданные?

Это был главный тезис первой статьи, и он был неверным. Там говорилось, что MCP-сервер передаёт агенту «полную объектную модель» и «сериализацию графа», а реквизиты справочника агент получает через MCP. Как показано выше, таких инструментов в MCP-сервере нет.

Метаданные агент читает сам, из файлов проекта. Выгрузка конфигурации в файлы - это XML-описания объектов и модули BSL рядом с ними, например:

  • Catalogs/Номенклатура.xml - описание справочника: реквизиты, табличные части, свойства;
  • Catalogs/Номенклатура/Ext/ObjectModule.bsl - модуль объекта.

Файлов с расширением .1c, о которых писала первая статья, в выгрузке нет. Файла Справочник.Номенклатура.bsl тоже нет.

Дерево src/cf/Catalogs и открытый Номенклатура.xml с реквизитом Артикул

Рис. 11. Метаданные - это обычные файлы: 1 Catalogs/Номенклатура.xml в дереве проекта, 2 описание реквизита «Артикул» (строка, 20 символов) внутри XML. Именно это агент и читает, без всякого MCP.

Для небольших вопросов («какие реквизиты у справочника Номенклатура») этого достаточно: агент откроет XML и прочитает. Для вопросов про связи (где используется объект, кто вызывает функцию, что сломается при изменении) чтения отдельных файлов мало. Для этого мы используем граф знаний конфигурации, про него есть отдельная статья об Analyzer 1C.

Что было не так в первой статье

Что было написано в статье 2795749 Как на самом деле
MCP-сервер передаёт агенту полную объектную модель, «сериализацию графа»; реквизиты справочника - через MCP MCP-сервер - пульт команд расширения. Команды metadata.* намеренно не публикуются в MCP. Метаданные агент читает из XML сам
Связь «через локальный канал (stdio/IPC) - без отдельного сетевого порта» TCP 127.0.0.1:40241 с токеном (если задан, иначе без защиты, см. шаг 6), включается настройкой 1c-platform-tools.ipc.enabled
Не сказано, что сервер после настройки выключен Cursor добавляет новый MCP-сервер выключенным, включать надо вручную (шаг 7)
Нет про MODULE_NOT_FOUND Путь в mcp.json содержит версию расширения. Расширение чинит его само, но на нашем стенде первый запуск Cursor после обновления упал; помогли перезапуск и повторное включение сервера
Нет про два окна Cursor Конфликт порта и WORKSPACE_MISMATCH, свой порт на проект
Проверка: «Какие объекты есть в корне конфигурации?» Официальная проверка - «Покажи состояние окружения 1С» (инструмент env_status)
Тест: «создать новый справочник через MCP» Такого инструмента нет
Метаданные в файлах .1c, модуль Справочник.Номенклатура.bsl XML (Catalogs/Номенклатура.xml) и модули Catalogs/Номенклатура/Ext/ObjectModule.bsl
packagedef создать вручную Кнопка «Инициализировать текущий» или команда «1С: Зависимости: Инициализировать проект»
packagedef - стандартный способ описания проекта 1С, EDT на него ориентируется Это формат OneScript/opm. У EDT свой формат проекта
.ВерсияСреды - версия платформы Минимальная версия OneScript
Модели на схеме: Claude 3.7 / GPT-4o Модели 2024-2025 годов, к сентябрю 2026 устарели
«Исключает галлюцинации», «ускоряет в разы» Ничем не подтверждено. В этой статье таких обещаний нет
Только HTML-схемы, ни одного снимка экрана Шаги пройдены на живом стенде, рисунки сняты там же. packagedef, mcp.json и скрипт проверки приведены в статье

Отдельно о цифре «15 минут» в заголовке первой статьи. Мы её не повторяем: время установки на стенде мы не замеряли, а обещать цифру без замера не будем.

Что дальше

После шага 8 MCP подключён, но агенту пока почти нечего делать: env_status сам сказал, что окружение пустое. Чтобы агент мог собирать конфигурацию и проверять свой код, нужны:

  1. OneScript и vanessa-runner (ставятся из дерева «Зависимости»);
  2. профиль запуска из узла «Служебные файлы»: env.json для vanessa-runner 2.x или autumn-properties.json для 3.x. В приведённом packagedef указан vanessa-runner 3.0.0, поэтому после его установки нужен второй формат;
  3. информационная база из исходников (infobase_initFromSrc);
  4. после этого - syntaxCheck_run и cf_compile прямо из чата.

Форматы профилей описаны в документации Platform Tools 0.9.6. Это тема следующей части. Её мы тоже пройдём на том же стенде и с теми же снимками экрана.

А у Вас MCP-сервер Platform Tools заработал с первого раза? На каком шаге застряли и какие версии Cursor и расширений у Вас стоят? Напишите в комментариях: если найдётся шаг, который у Вас выглядит иначе, мы добавим его в статью.

Теги: Cursor, MCP, Model Context Protocol, 1C: Platform Tools, yellow-hammer, ИИ-агент, 1С, BSL, packagedef, OneScript, opm, Open VSX, mcp.json, IPC, env_status, выгрузка конфигурации в XML, Analyzer 1C, AI для 1С, DevOps 1С

Вступайте в нашу телеграмм-группу Инфостарт

Cursor MCP Model Context Protocol 1C: Platform Tools yellow-hammer ИИ-агент 1С BSL packagedef OneScript opm Open VSX mcp.json IPC env_status выгрузка конфигурации в XML Analyzer 1C AI для 1С DevOps 1С

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

SALE! %

Банковские операции Обмен с интернет-банком Мастера заполнения Нейросети Разработчик Бухгалтер Пользователь 1С:Предприятие 8 1C:ERP 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:ERP. Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 1С:Розница 3.0 Платные (руб)

Корректируйте банковские документы быстро и легко! Создайте правило обработки — и оно автоматически применится при загрузке выписки (отбор по любому реквизиту или регулярному выражению). Решение заполняет расшифровку платежа, комиссию эквайринга, подбирает ведомости на выплату зарплаты, помечает дубли из банка на удаление и многое другое. Доплачивать за алгоритмы не нужно — они включены в решение. Обработка работает при загрузке из файлов клиент-банка и через DirectBank. Новое — искусственный интеллект: модель приводит нестандартные назначения платежа к виду, понятному алгоритмам, а ИИ-ассистент прямо в 1С консультирует по решению и разбирает код правил и алгоритмов. Поддерживаются локальные и облачные OpenAI-совместимые модели — данные могут не покидать ваш контур.

17500 руб.

20.12.2024    19755    104    32    

85

Нейросети Системный администратор Разработчик Аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С:Документооборот 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x Россия Платные (руб)

Задавайте вопросы базе 1С обычными словами: получайте данные, находите ошибки и связанные документы, проверяйте права, работайте с вложениями и контролируемо вносите изменения. Всё это работает в самой программе, а Codex и Claude подключаются по желанию.

16990 руб.

30.07.2026    13539    29    4    

28

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    71626    142    41    

150

Распознавание документов и образов Нейросети 1С:Предприятие 8 1С 8.3 1С 8.5 1C:Бухгалтерия 1С:Зарплата и Управление Персоналом 3.x Беларусь Россия Казахстан Армения Платные (руб)

ИИ-сканер документов с REST API для интеграции с 1С и корпоративными системами. Извлекайте данные из счетов, паспортов, дипломов, патентов и трудовых книжек за секунды. Точность человека - скорость машины. Приложение поддерживает восемь типов документов, четырех провайдеров ИИ (имеется возможность использования локальных ИИ), локальный REST API и экспорт в JSON. Важно! модель должна поддерживать функцию Vision (распознавание файлов и картинок). Запускайте используя локальные ИИ, без подписок и ограничений

6100 руб.

24.08.2026    610    3    0    

1

Нейросети 1С:Управление торговлей 11 Бесплатно (free)

Я не считаю покупку специализированных платных инструментов обязательной для разработки с ИИ: нужную обвязку тоже можно создать с агентом. Показываю этот подход на расширении УТ 11 с динамическим списком остатков. Одно задание Codex, 37 минут до проверки, работающая форма. Рассказываю, как устроено окружение, почему первую попытку пришлось переснять и что получилось в повторном прогоне.

17.09.2026    6210    106    Ibrogim    63    

20

Инструментарий разработчика Нейросети Разработчик 1С:Предприятие 8 Бесплатно (free)

Как мы в 42Clouds научили агента открывать формы, заполнять поля, проверять списки и собирать доказательные отчёты — и чем Answer42 отличается от Vanessa Automation MCP, Тестер, CodexTestBridge UI-worker и браузерных инструментов.

04.09.2026    2408    amoarok    17    

18

DevOps и автоматизация разработки Тестирование QA Групповая разработка (Git, хранилище) Разработчик 1С:Предприятие 8 Бесплатно (free)

Четыре года в интеграторе я работал с git и EDT. Git после хранилища полюбил сразу: видно, кто и что менял. С EDT сложнее: тормозит, ошибки при обновлении ERP, автономный сервер внутри него работает только с файловой базой. На новой работе команда захотела перейти на git, я развернул EDT, и оно на второй день разрушило проект при загрузке расширения. Тогда я решил дать команде git с привычным Конфигуратором и инструмент, который за минуту доносит коммит до базы через ibcmd, вместо получасовой загрузки из файлов. На новой работе разрешили ИИ, и я написал это приложение с его помощью: от чтения документации и первого ТЗ до идей в электричке. Впервые за годы снова почувствовал себя творцом, а не закрывателем задач. По дороге приросли выгрузка, объединение и проверка конфигурации по коммитам, YAxUnit и режим MCP-сервера. В статье: схемы, скриншоты, грабли и честный список ограничений. Ссылки пока нет: хочу понять, нужно ли это кому-то, кроме меня.

03.09.2026    11250    KatanaDragon511    29    

40

Нейросети Разработчик 1С:Предприятие 8 Россия Бесплатно (free)

Как связать 1С и Cursor через MCP так, чтобы AI-агент сам получал актуальную конфигурацию из информационной базы, находил нужный BSL-код, вносил изменения, загружал конфигурацию обратно и запускал 1С:Предприятие. В статье — настройка 1C: Platform Tools, 1C: Platform Tools MCP, OneScript, vanessa-runner и env.json, а также важные нюансы при работе с несколькими проектами, IPC-портами, большими конфигурациями и длительными операциями загрузки. Покажу полный практический цикл на тестовой базе без ручной выгрузки и загрузки XML через Конфигуратор.

28.08.2026    19572    rinat1c    18    

31
Для отправки сообщения требуется регистрация/авторизация