Token导航 LogoToken导航TokenDH.com
1c Formsserver logo
运维云端stdio官方级别未说明来源级核验

1c Formsserver

MCP Server

用于生成、验证、转换和搜索1C:Enterprise管理表单的MCP服务器,支持Configurator、Managed和EDT三种格式。

工具数

18

提示词数

0

GitHub Stars

6

资源数

0
PythonClaude云端部署Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Desko77

提供方

Desko77

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -e .

详细介绍

1c成型机

MCP服务器用于生成、验证、转换和搜索托管1C:Enterprise表单。

支持三种格式: 配置器 (logform), 管理 (managed(d)和 东部夏令时间 (edt).

快速启动

Docker(推荐)

docker compose up -d

服务器可用 http://localhost:8011/mcp.

局部

pip install -e .
python -m mcp_forms

连接Claude Code

В settings.json:

{
  "mcpServers": {
    "1c-forms": {
      "url": "http://localhost:8011/mcp"
    }
  }
}

表单格式

服务器支持三种Form.xml/Form.form格式:

1、配置器(logform)管理(managed)EDT(edt)
文件Form.xmlForm.xmlForm.form
``````
要素``X1X1InputField
数据路径Объект.ПолеОбъект.ПолеОбъект.Поле
类型cfg:CatalogObject.XCatalogObject.XCatalogObject.X
同伴` + 没有 + `
灭绝的 不,不行。 ``

格式由根元素的名称空间自动定义。在所有三种格式之间转换,保留语义。

MCP工具(18)

形式生成

generate_form_template -快速生成模板模板模板。最好的开始。

Параметры:
  template: "catalog_element" | "document" | "data_processor"
  object_name: имя объекта ("Номенклатура", "ЗаказКлиента")
  fields: список полей (["Наименование", "Артикул"])
  format: "logform" (по умолчанию) | "managed" | "edt"

  Для document:
    header_fields: поля шапки (["Дата", "Номер", "Контрагент"])
    table_name: имя ТЧ ("Товары")
    table_columns: колонки ТЧ (["Номенклатура", "Количество", "Сумма"])

generate_form 生成任意JSON规范。对于非标准的形状。

Параметры:
  spec: {
    format: "logform" | "managed" | "edt",
    object_type: "Catalog" | "Document" | "DataProcessor",
    object_name: "Номенклатура",
    title: "Заголовок формы",
    attributes: [
      {name: "Объект", type_name: "CatalogObject.Номенклатура", is_main: true, save_data: true}
    ],
    elements: [
      {name: "Поле", data_path: "Объект.Поле", field_type: "InputField"},
      {name: "Группа", group_type: "UsualGroup", title: "Заголовок", direction: "Vertical",
       children: [{name: "Поле2", data_path: "Объект.Поле2"}]},
      {name: "Таблица", data_path: "Объект.Товары",
       columns: [{name: "Номенклатура", data_path: "Объект.Товары.Номенклатура"}]}
    ]
  }

generate_form_from_metadata -基于EDT元数据的自动生成。EDT最快的方法

Параметры:
  object_type: "Catalog" | "Document" | "DataProcessor"
  object_name: имя объекта
  format: "logform" | "managed" | "edt"
  include_table_parts: true | false (включать ТЧ, по умолчанию true)

list_form_templates -包含参数描述的可用模板列表。

验证

validate_form -检查form.xml/form.form错误。在每一代之后调用。

Параметры:
  xml_content: содержимое файла формы

Проверки:
  - logform: уникальность id, companion-элементы (ContextMenu, ExtendedTooltip),
             имена атрибутов, привязка DataPath → Attribute
  - edt: xsi:type у items, уникальность id (раздельно для items/attributes/commands),
          dataPath/segments, структура attributes
  - managed: базовая проверка структуры

get_form_info -快速查看表单:格式、元素数、属性数、结构。

validate_form_edt -高级验证:内置验证+EDT验证(如果EDT可用)。

Параметры:
  xml_content: содержимое формы
  form_fqn: FQN формы в EDT (напр. "Catalog.Номенклатура.Form.ФормаЭлемента"), опционально

转换

convert_form 格式之间的转换。

Параметры:
  xml_content: исходный XML
  target_format: "logform" | "managed" | "edt"

Маршруты:
  logform ↔ managed — напрямую
  logform ↔ edt    — напрямую
  managed ↔ edt    — через промежуточный logform

转换时:

  • Companion元素自动添加/转换
  • DataPath在格式之间转换(点符号)↔ segments)
  • 类型: cfg: Prefix自动添加/删除
  • 元素结构:标签↔ items/xsi:type

原理图和帮助

get_form_prompt -完整的Form.XML知识库:标签、属性、有效值。 必须在第一代之前调用 在会话中-没有这个LLM不知道有效的标签。

get_form_schema JSON是表单元素的目录,包含属性描述。

get_xcore_model_info -XCore EDT元模型:类(Formfield、FormGroup、Table、Button、Decoration)、枚举、属性。

搜索示例

search_form_examples 在文本知识库(FTS)或矢量知识库(Embeddings)中搜索表单。

Параметры:
  query: поисковый запрос ("форма справочника с таблицей")
  object_type: фильтр по типу ("Catalog", "Document")
  limit: количество результатов (по умолчанию 5)

index_forms -将Form.xml从配置目录索引到搜索数据库。

Параметры:
  directory: путь к конфигурации (напр. "/path/to/src")
  pattern: глоб-паттерн (по умолчанию "**/Form.xml")

get_form_example -从搜索结果中通过ID下载完整的XML示例。

EDT集成

需要启动 EDT-MCP 服务器EDT_ENABLED=true).

edt_status 检查EDT的可用性。在其他EDT工具前面调用。

get_object_metadata -从EDT项目获取对象的详细信息和表格部分。

Параметры:
  object_type: "Catalog" | "Document" | "DataProcessor" и др.
  object_name: "Номенклатура"

form_screenshot -PNG-来自EDT编辑器WYSIWYG的表单截图。

Параметры:
  form_fqn: "Catalog.Номенклатура.Form.ФормаЭлемента"

资料

get_server_info -服务器版本,工具列表,支持的格式。

标准情景

为EDT项目创建表单

1. get_form_prompt                    → загрузить базу знаний
2. generate_form_template             → template="catalog_element", object_name="Товары",
                                        fields=["Наименование","Артикул","Цена"], format="edt"
3. validate_form                      → проверить результат
4. Сохранить как Form.form в EDT-проект

从EDT元数据创建表单

1. edt_status                         → проверить доступность
2. get_object_metadata                → object_type="Document", object_name="ЗаказКлиента"
3. generate_form_from_metadata        → format="edt", include_table_parts=true
4. validate_form_edt                  → расширенная валидация

将配置文件形状转换为EDT

1. convert_form                       → xml_content=, target_format="edt"
2. validate_form                      → проверить результат
3. Сохранить как Form.form

找到一个例子并创建一个类似的形状

1. search_form_examples               → query="документ с табличной частью товары"
2. get_form_example                   → form_id из результатов
3. Использовать пример как образец для generate_form

配置

环境变量或 .env 文件 :

变量是默认的,描述是 |-----------|-------------|----------| | PORT | 8011 服务器端口 | TRANSPORT | streamable-http | 传输 MCP (streamable-http, sse) | | DATABASES_PATH | ./databases 搜索数据库路径 | DATA_PATH | ./data 数据路径(Prompt) | EDT_ENABLED | false 启用与 EDT-MCP | | EDT_MCP_URL | http://localhost:9999/sse mcp服务器的edt URL | EDT_TIMEOUT | 10 ÐEDT请求超时(秒)。

完整列表-B .env.example.

项目结构

src/mcp_forms/
├── server.py           # FastMCP сервер (18 инструментов)
├── config.py           # Конфигурация из env vars
├── edt_client.py       # Клиент EDT MCP (https://github.com/DitriXNew/EDT-MCP)
├── schema/             # Парсер Xcore, Pydantic-модель, валидатор
├── forms/              # Загрузчик, генератор, конвертер, шаблоны
│   ├── loader.py       # Автоопределение формата, загрузка XML
│   ├── generator.py    # Генерация logform / managed / edt
│   ├── converter.py    # Конвертация между форматами
│   └── templates.py    # Шаблоны (catalog, document, data_processor)
├── search/             # Индексатор, эмбеддинги, FTS + vector поиск
└── tools/              # MCP-инструменты (validate, generate, convert, search, edt)

依赖

核心: fastmcp、lxml、pydantic、python dotenv、uvicorn

Search(可选):

pip install -e ".[search]"

添加sentence transformers用于向量搜索表单示例。

测试

pip install -e ".[dev]"
pytest tests/ -v

91测试:验证(logform,managed,edt),转换(所有格式之间的roundtrip),生成,模板,搜索,edt集成。

许可证

麻省理工学院

目录标签

目录标签

PythonClaude云端部署表单生成本地部署表单验证表单转换1C:EnterpriseEDT集成

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

18

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP