1C OData MCP

io.github.alexgrebeshok-coder由 GitHub 账号 alexgrebeshok-coder 发布v1.0.1更新于 Oct 28, 2026

Read-only MCP server for 1C:Enterprise via OData with metadata and query builder tools.

已验证STDIO仅桌面数据库商业与电商

概览

AI 生成的概览

只读的 MCP 服务器,让助手通过标准 OData 接口浏览和查询 1C:Enterprise 数据库。

可以做什么
  • 检查连接状态与配置
  • 列出可用的 OData 实体,并查看元数据、字段、类型、主键与关联
  • 根据结构化输入构建并校验 OData 的 filter、select 与 orderby 参数
  • 查询实体并统计记录数量,可带过滤条件
  • 通过写入工具创建、修改或删除实体,默认先预览
  • 汇总账户、销售、往来单位等典型财务实体
适用场景
适用于已发布 OData 接口的 1C:Enterprise 系统(会计、ERP、贸易管理或自研配置),希望用自然语言提问而不必导出表格或手写 OData 地址时使用。
运行要求
通过 npx 在本机运行,需要 Node.js 18 或更高版本。需要已发布 OData 接口的 1C:Enterprise 数据库,以及 ONEC_BASE_URL、ONEC_USERNAME、ONEC_PASSWORD(或由 ONEC_CONFIG_PATH 指定的 JSON 配置文件)。可选:ONEC_DATABASE、ONEC_METADATA_CACHE_TTL_MS、ONEC_WRITABLE。
安装前请注意
ONEC_PASSWORD 中的密码会以 Basic Auth 随每个请求发送,并可能保存在 MCP 客户端配置或本地配置文件中。默认只读;只有在启用 ONEC_WRITABLE 且写入调用显式设置 dryRun 为 false 时才会真正发出 POST、PATCH、DELETE 请求,可写账号可能修改或删除业务数据。日常使用建议配置专用的只读 OData 用户。

安装

在 SourceWeft 中

  1. 打开 控制台中的 1C OData MCP,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

onec-odata-mcp

[npm] [MCP Registry] [License: MIT]

Подключи 1С к Claude за 5 минут

Даёт Claude (Desktop, Code, любой MCP-клиент) доступ на чтение к базе 1С:Предприятие через стандартный OData. Вместо выгрузки в Excel или ручного написания OData-урлов — спрашиваешь по-русски, получаешь структурированные данные из справочников и документов.

Работает с любой конфигурацией 1С, где опубликован OData (Бухгалтерия, ERP, Управление торговлей, самописные конфигурации).

📸 TODO: скриншот/видео 5-минутной настройки — добавить после первого прогона с реальной базой.

Шаг 1 — установка

Ничего ставить локально не нужно, npx подтянет пакет при первом запуске:

One-liner (after npm publish):

bash
npx -y onec-odata-mcp

Set ONEC_BASE_URL, ONEC_USERNAME, and ONEC_PASSWORD in your MCP client config (see below).

From source:

bash
npx -y onec-odata-mcp

(Для разработки из исходников: npm install && npm run build.)

Шаг 2 — подключи к Claude

Вариант А — командой claude mcp add (Claude Code):

bash
claude mcp add onec-odata \  -e ONEC_BASE_URL=https://1c.example.com/your_db/odata/standard.odata \  -e ONEC_USERNAME=odata_user \  -e ONEC_PASSWORD=your_password \  -- npx -y onec-odata-mcp

Вариант Б — вручную в claude_desktop_config.json (Claude Desktop: Settings → Developer → Edit Config):

json
{  "mcpServers": {    "onec-odata": {      "command": "npx",      "args": ["-y", "onec-odata-mcp"],      "env": {        "ONEC_BASE_URL": "https://1c.example.com/your_db/odata/standard.odata",        "ONEC_USERNAME": "odata_user",        "ONEC_PASSWORD": "your_password"      }    }  }}

Готовый сниппет лежит в examples/claude_desktop_config.json.

Опционально: ONEC_DATABASE (подсказка имени базы), ONEC_METADATA_CACHE_TTL_MS (TTL кэша метаданных, по умолчанию 1 час), ONEC_WRITABLE=true (разрешить реальную запись через odata_write; по умолчанию false). Либо вместо переменных окружения — JSON-файл ~/.onec-odata/onec-config.json с полями baseUrl, username, password (и опционально "writable": true), путь к которому задаётся через ONEC_CONFIG_PATH.

Шаг 3 — первый запрос

Перезапусти Claude и спроси:

«Какие справочники и документы есть в базе 1С?»

Claude вызовет odata_list_entities, увидит список и дальше сам подберёт нужные инструменты под конкретный вопрос — без знания синтаксиса OData с твоей стороны.

Больше готовых промптов — в examples/prompts.md.

Инструменты

ИнструментЧто делаетПример вопроса
odata_configПроверяет статус подключения и настройки«Проверь, подключена ли 1С»
odata_list_entitiesСписок всех доступных OData-сущностей«Какие справочники и документы есть в базе?»
odata_metadataТипы и наборы сущностей из $metadata (кэш, TTL 1ч)вызывается автоматически перед сложными запросами
odata_explain_entityПоля, типы, ключи, связи конкретной сущности«Какие поля у справочника Контрагенты?»
odata_build_queryСтроит и проверяет $filter/$select/$orderby из структурированных параметров запросавызывается автоматически — Claude сам переводит «за июнь» в даты, тул собирает и валидирует фильтр
odata_queryЗапрос к сущности с готовыми OData-параметрами«Покажи остатки по счёту 51 за июнь»
odata_countКоличество записей, опционально с фильтром«Сколько контрагентов зарегистрировано в этом году?»
odata_writeСоздание/изменение/удаление сущности (POST/PATCH/DELETE)«Создай контрагента…» — сначала dry-run-превью
odata_financial_summaryАвтообнаружение типовых финансовых сущностей + счётчики«Дай сводку по счетам, реализациям и контрагентам»

Обычно агент сам комбинирует odata_build_query → odata_query/odata_count, тебе достаточно спросить своими словами.

Безопасность

  • По умолчанию только чтение. Флаг writable в конфиге базы (env ONEC_WRITABLE=true / "writable": true в ~/.onec-odata/onec-config.json) по умолчанию false. Без него реальные POST/PATCH/DELETE не уходят в 1С.
  • Запись — только через odata_write. У инструмента dryRun по умолчанию true: всегда сначала превью {dryRun: true, wouldExecute: …} без сетевого вызова. Реальная запись требует и writable: true на этой базе, и явного dryRun: false.
  • Пароль передаётся Basic Auth (base64 в заголовке каждого запроса — как требует OData) и хранится либо в env-переменных конфига твоего MCP-клиента (рекомендуется), либо в локальном файле ~/.onec-odata/onec-config.json. Сервер не логирует и не возвращает пароль в ответах инструментов.
  • Поля-секреты (password, token, apikey, secret и т.п. в названиях) автоматически исключены из подсказок «возможно, вы имели в виду» (src/query/fuzzy.ts), чтобы агент не подсвечивал их случайно.
  • Рекомендация: заведи в 1С отдельного OData-пользователя с ролью только на чтение для обычной работы; writable-учётку и ONEC_WRITABLE=true включай только осознанно.

Требования

  • Node.js ≥ 18
  • 1С:Предприятие с опубликованным OData-интерфейсом (веб-публикация → standard.odata)

Разработка

bash
npm installnpm run build   # type-check + сборка в dist/npm test

Детали и правила вклада — в CONTRIBUTING.md.

License

MIT


English (short)

MCP server giving Claude (or any MCP client) access to a 1C:Enterprise database via its standard OData endpoint. Read-only by default (writable: false); writes go through odata_write and always dry-run first unless you explicitly enable writable: true and pass dryRun: false. No spreadsheet exports, no hand-written OData URLs — ask in natural language, get structured data from catalogs and documents.

bash
npx -y onec-odata-mcp

Configure via ONEC_BASE_URL / ONEC_USERNAME / ONEC_PASSWORD env vars (see the Russian quick-start above for claude mcp add and claude_desktop_config.json snippets — the JSON is language-agnostic). Optional: ONEC_WRITABLE=true to allow real writes. Published on npm as onec-odata-mcp and listed in the official MCP Registry as io.github.alexgrebeshok-coder/onec-odata-mcp.

来源:README.md,提交 97a7f25

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.0.1最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分