MCP RAQ 1C
一个带有RAG的MCP服务器,可以让AI准确地了解你的1C配置,而不是幻觉。
解决什么问题
大型语言模型非常熟悉典型的1C配置——“会计”、“贸易管理”。但是当涉及到罕见的、行业性的或高度定制的配置时, 杜撰 不存在的对象、道具和寄存器的名称。
MCP RAQ 1C解决了这个问题:通过MCP协议的AI代理 请求实际配置结构 生成具有正确对象名称的代码。
例子
你问代理:
写一个查询,显示今天超过10万客户的所有订单
代理:
- 引起
1c_metadata_search("заказ клиента")找到文件SS_ЗаказКлиента - 引起
1c_metadata_details("SS_ЗаказКлиента")→获取详细信息:СуммаДокумента (Число(15,2)),Статус表部分Состав - 生成正确的查询 现实 对象和字段名称
______________________________________________________________________
为谁
分析员1C
处理1C数据的业务分析师:分析销售、余额、保证金、应收账款。不一定要写代码,但他想用自然语言提问,并根据实际数据获得答案。
分析人士说:
- 用俄语搜索相关文章(*“政党登记册”*, *《交易对手手册》*)
- 通过ODATA请求实时1c数据库-余额、转数、寄存器运动
- Claude Code分析技能,具有50+业务分析模式(ABC/XYZ、保证金、周转率、动态)
例子: *“按上个月的收入显示前10名产品”* -系统将找到正确的寄存器,执行ODATA查询并返回数据。
开发者1C
开发人员在BSL上编写代码,改进配置,创建报告和处理。在IDE中使用人工智能助理(cursor,vs code+copilot,roocode)。
这给了开发者:
- 物体、道具、表格部件、寄存器的精确名称-无幻觉
- 依赖关系图:哪些文档写入寄存器,更改时会受到影响
- 搜索现有BSL代码:查找执行或计算处理示例
- 子系统导航:了解对象在配置中的业务角色
- 平台帮助、代码模板、语法检查、BSP文档
例子: *“写一篇论文的处理过程”* 系统将显示文档的结构、接收器寄存器、现有的执行代码,AI将生成正确的代码。
______________________________________________________________________
建筑
graph LR
XML["fa:fa-file-code XML-выгрузка
конфигуратора"]
Parser["fa:fa-cogs Parser
FastAPI :8001"]
Emb["fa:fa-brain Embeddings
BERTA :5050"]
Qdrant["fa:fa-database Qdrant
:6333"]
MCP["fa:fa-server MCP Server
TypeScript :8000"]
Nginx["fa:fa-shield-alt Nginx
:80"]
IDE["fa:fa-laptop-code IDE / LLM
Cursor, VS Code,
RooCode, Claude"]
Loader["fa:fa-upload Loader
Streamlit :8501"]
BSL_LS["fa:fa-check BSL LS
:8005"]
OData["fa:fa-database 1С OData
живая база"]
XML --> Parser
Parser --> Emb
Emb --> Qdrant
Loader -.->|управляет| Parser
Loader -.->|управляет| Emb
IDE --> Nginx
Nginx --> MCP
MCP --> Qdrant
MCP --> BSL_LS
MCP --> OData
style XML fill:#f9f,stroke:#333
style Qdrant fill:#e8f5e9,stroke:#2e7d32
style MCP fill:#e3f2fd,stroke:#1565c0
style Nginx fill:#fff3e0,stroke:#e65100
style IDE fill:#fce4ec,stroke:#c62828索引管道
graph TD
subgraph "1. Парсинг"
A["XML-выгрузка
configuration/Prod/"] --> B["Parser :8001"]
B --> C["36 типов объектов
3032 BSL-модуля
2669 предопределённых"]
end
subgraph "2. Векторизация"
C --> D["Embeddings :5050
BERTA 768d + BM25"]
D --> E["Dense vectors + Sparse vectors"]
end
subgraph "3. Индексация в Qdrant"
E --> F["metadata_1c — 5813"]
E --> G["code_1c — 12864"]
E --> H["bsp_1c — 1574"]
E --> I["help_1c — 602"]
E --> J["templates_1c — 58"]
end
subgraph "4. Поиск"
K["MCP Server :8000
13 инструментов"] --> L["Hybrid Search
Dense + Sparse + RRF"]
L --> F & G & H & I & J
end
style F fill:#e8f5e9,stroke:#2e7d32
style G fill:#e8f5e9,stroke:#2e7d32
style H fill:#e8f5e9,stroke:#2e7d32
style I fill:#e8f5e9,stroke:#2e7d32
style J fill:#e8f5e9,stroke:#2e7d32
style K fill:#e3f2fd,stroke:#1565c07 Docker服务
服务、技术、角色、本地VPS |---|---|---|:---:|:---:| | 引擎X ÐReverse ProxyÐÐÐÐÐÐÐÐÐÐÐÐÐÐ | 解析器 ÐPython/FastapiÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ | 嵌入 ÐPython/BertaÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ | 矢量点 ÐQDRANT v1.13Ð矢量数据库:混合Dense+Sparse搜索与RRF融合 | 加载器 ≫Python/StreamLit≫UI索引:元数据、BSL代码、帮助、BSP、模板≫OK–OK≫ | mcp服务器 Ðtypescript/node.jsÐHTTP MCP服务器(Streamable HTTP+SSE),13个工具 | bsl ls ≫java/flask sidecar≫BSL语言服务器用于语法检查≫OK≫OK≫
5 QDRANT系列
≫收藏≫内容≫本地≫VPS≫ |---|---|---|---| | metadata_1c ・元数据对象(36种)→5813→ | code_1c ÐÐÐÐÐÐÐÐÐÐÐÐÐ | bsp_1c 第1574章1574 | help_1c 下一篇:1C平台602 | templates_1c 代码模板58
______________________________________________________________________
13个MCP工具
graph TB
MCP["MCP Server
13 инструментов"]
subgraph meta["Метаданные (4)"]
T1["1c_metadata_search"]
T2["1c_metadata_details"]
T3["1c_metadata_types"]
T4["1c_code_search"]
end
subgraph nav["Граф и навигация (2)"]
T5["1c_dependencies"]
T6["1c_subsystems"]
end
subgraph odata["OData — живые данные (3)"]
T7["1c_odata_query"]
T8["1c_register_balances"]
T9["1c_register_movements"]
end
subgraph dev["Инструменты разработчика (4)"]
T10["1c_syntax_check"]
T11["1c_help_search"]
T12["1c_bsp_search"]
T13["1c_templates"]
end
MCP --> meta & nav & odata & dev
Analyst["fa:fa-chart-bar Аналитик"]
Developer["fa:fa-code Разработчик"]
Analyst -.-> meta & odata
Developer -.-> meta & nav & dev
style meta fill:#e8f5e9,stroke:#2e7d32
style nav fill:#fff3e0,stroke:#e65100
style odata fill:#e3f2fd,stroke:#1565c0
style dev fill:#fce4ec,stroke:#c62828
style MCP fill:#f3e5f5,stroke:#6a1b9a元数据(4)
工具,用途,谁使用。 |---|---|---| | 1c_metadata_search 混合对象搜索(BERTA+BM25+RRF) | 1c_metadata_details ≫对象结构:道具、PM、运动› | 1c_metadata_types 对象类型统计,两者都是 | 1c_code_search –BSL代码搜索:过程、功能、开发人员›
图形和导航 (2)
工具,用途,谁使用。 |---|---|---| | 1c_dependencies 依赖关系图:文档↔ 注册码开发人员 | 1c_subsystems →子系统导航(树、内容、搜索)–两者兼而有之→
Odata-实时数据(3)
工具,用途,谁使用。 |---|---|---| | 1c_odata_query –通用ODATA请求1C分析→ | 1c_register_balances –存款登记簿余额/转数–分析师› | 1c_register_movements 这段时间内的数据分析
开发人员工具(4)
工具,用途,谁使用。 |---|---|---| | 1c_syntax_check –BSL代码语法检查›开发人员› | 1c_help_search 平台1C开发人员 | 1c_bsp_search 搜索BSP文档开发人员 | 1c_templates 1C代码模板开发人员
______________________________________________________________________
访问实时数据1C
来自1C现场数据库的数据可通过 标准ODATA接口 不需要重新配置。
OData
使用3个MCP工具: 1c_odata_query, 1c_register_balances, 1c_register_movements.
现在包括什么:
- 6个注册处:MovementMTC、批量、Partinomenclatur、销售、发货、账户
- 4本手册:产品目录、仓库、组织、交易对手
- 5份文件:货物销售服务、货物接收服务、货物移动、货物注销、货物库存
Odata的特点:
- 对象访问-仅访问Odata中包含的对象
- 引用字段返回GUID(后缀)
_Key)名称需要单独的目录查询 - 虚拟表:
/Balance,/Turnovers,/BalanceAndTurnovers,_SliceLast
设置: odata-setup.md
HTTP Queries(计划)
用于复杂分析(join、group by、子查询、带有参数的虚拟表)。需要将HTTP服务添加到配置1c。
模块代码和安装说明: 1c服务/
______________________________________________________________________
技能 1c-analyst (克劳德密码)
通过Claude Code处理1C数据的分析助理。根据1C自动激活商业问题。
机会:
- 销售、余额、保证金、周转率、应收账款/应付账款分析
- ABC/XYZ-分析、周期比较、数据问题搜索
- 生成对1C实时数据库的ODATA请求
- 调查数据问题(负数、重复、未经授权)
- 30商业分析模式
触发器: “销售分析”,“库存余额”,“利润率是多少?”“ABC分析”,谁欠我们钱?“获取技术卡”等。
全球通用(~/.claude/skills/1c-analyst/)可以从任何项目中访问。
______________________________________________________________________
使用哪些配置
系统支持 任何1C配置:企业8.3,通过配置器上载到XML。
配置测试 阿斯托7 SE购物中心 批发和零售行业ERP(~5800个元数据对象,3032个BSL模块)。
要连接新配置:
- 卸载配置:
Конфигуратор → Выгрузить конфигурацию в файлы在configuration/Prod/ - 启动
docker compose up -d - 打开Loader UI并按下 “索引”
______________________________________________________________________
不同于其他解决方案
还有其他1C MCP服务器(Comol/Distar)。主要区别:
ÐÐÐÐÐÐÐÐÐÐÐÐÐ |---|---|---| | OData 集成 -1C实时请求3个工具→ | 子系统导航 -业务配置结构→有(递归)→否→ | 分析技能 30种商业分析模式(Claude Code) | 混合搜索 -BERTA+BM25+RRF Fusion 有 ChromadB(仅限DENSE)有 | 依赖图 -无严重依赖性(QDRANT)–Neo4J+OpenAI(重)–无严重依赖性(轻)–QDRANT(轻)–Neo4J+OpenAI(重)→ | 帮助+BSP+模板 -内置在MCP服务器中›4个工具›单独的Comol服务器›
______________________________________________________________________
快速启动
要求
- Docker桌面(macOS/Windows/Linux)
- XML卸载配置1C到
configuration/Prod/ - ODATA工具:在Web服务器上发布数据库
发射
git clone https://github.com/Antiloop-git/MCP-RAQ-1C.git
cd MCP_RAQ_1C
cp .env.example .env
docker compose up -d
# Проверить здоровье
curl http://localhost:8001/health # parser
curl http://localhost:8000/health # mcp-server
# Открыть Loader для индексации
open http://localhost:8501连接到IDE
一个MCP Endpoint就足够所有13种工具了:
{
"mcpServers": {
"1c-metadata": {
"url": "http://localhost:8000/mcp"
}
}
}每个IDE的详细说明:
______________________________________________________________________
接入点
VPS(生产)
服务url授权 |---|---|---| | MCP端点 | http://10.1.231.253/mcp | — | | 健康检查 | http://10.1.231.253/health | — | | 加载器UI | http://10.1.231.253/loader/ |基本身份验证: admin / mcp-loader-2026 |
所有国内港口(8000、8001、5050、6333、8501、8005)均对外关闭。仅通过nginx:80访问。
Auto-Deploy:Cron每2分钟对GitHub进行一次调查,并重新收集修改过的服务。
本地(开发)
服务url |---|---| | MCP端点 | http://localhost:8000/mcp | | 健康检查 | http://localhost:8000/health | | 解析程序API | http://localhost:8001/health, /stats, /parse/{type}/{name} | | 加载器UI | http://localhost:8501 | | Qdrant仪表板 | http://localhost:6333/dashboard | | 嵌入 | http://localhost:5050/health | | BSL LS | http://localhost:8005/health |
______________________________________________________________________
状态
版本: 0.4.0(2026年3月)
准备好了:
- 完整管道:XML解析器→嵌入式服务→QDRANT→MCP服务器
- 7个服务在Docker中工作
- 13个MCP工具
- 5个QDRANT系列已编入索引(20911张)
- 1 Claude Code分析技能
- VPS由Auto Deploy提供
在工作中:
- VPS SSL证书
- 与分析师和开发人员一起测试真实任务
文档
- tools-map.md -工具和基础设施地图
- 特工.md -LLM代理说明(复制到1C项目的根)
- ide-setup.md IDE配置
- odata-setup.md -自定义ODATA以访问实时数据
- 1c服务/ HTTP服务1C请求(计划)
许可证
麻省理工学院
