feenlace/mcp-1c

GitHub: feenlace/mcp-1c

将 AI 编程助手与 1C:Enterprise 数据库集成的 MCP 服务器,让 AI 基于真实配置元数据生成准确的 BSL 代码。

Stars: 116 | Forks: 25

# mcp-1c [![SafeSkill 92/100](https://img.shields.io/badge/SafeSkill-92%2F100_Verified%20Safe-brightgreen)](https://safeskill.dev/scan/feenlace-mcp-1c) 用于将 AI 助手与 1С:Предприятие 集成的 MCP 服务器。 AI 能够读取您 1С 配置的元数据,并生成准确的 BSL 代码。兼容任何支持 MCP 的客户端。 ### 兼容本地模型 MCP-1C 不绑定特定的神经网络。兼容任何支持 MCP 的客户端: - **本地模型**(Ollama, LM Studio, llama.cpp)- 数据不会离开您的网络 - **云端服务**(Claude, GPT, YandexGPT, GigaChat)- 通过相应的 MCP 客户端 - **AI 驱动的 IDE**(Cursor, VS Code + Continue/Cline, JetBrains) 您的代码和 1С 数据将保留在本地。MCP-1C 是一个本地进程,仅与您的数据库进行通信。 ## 付费版本 除了免费的开源版本外,我们还提供具备高级功能的付费版本: - **扩展版**(1 990 ₽/月)— 包含 7 个工具:查询优化器、BSL linter、语法助手、多数据库支持、.cfe 扩展等 - **专业版**(4 990 ₽/月)— 包含扩展版的所有功能,外加:语义搜索、依赖图、批量代码分析、安全审计、代码库指标、标准更新助手 注册后,您将免费获得 14 天的专业版体验。 → [了解套餐详情](https://feenlace.ru/pricing) → [文档](https://feenlace.ru/docs) ## 版本对比 | | 开源版 | 扩展版 | 专业版 | |---|---|---|---| | 工具 | 9 | 7 | 7 + bulk_analyze | | 价格 | 免费 | 1 990 ₽/月 | 4 990 ₽/月 | | 试用期 | — | — | 14 天 | | 许可证 | MIT | 订阅制 | 订阅制 | **扩展版新增:** - 查询优化器(15 种反模式) - BSL linter(30 多种诊断) - 语法助手(10 000+ 定义) - 多数据库支持及 .cfe 扩展 - 代码沙盒、查询和打印表单生成器 - 模态调用转异步转换器 - 智能上下文与数据自动更新 **专业版新增:** - 代码语义搜索(LSA + Randomized SVD) - 模块依赖图(10 种关系类型,SQLite) - 批量代码分析(反模式、重复代码、死代码) - BSL 安全审计(11 条 SEC 规则) - 代码库指标(LOC、复杂度、技术债务 0-100) - 标准更新助手(3-way diff) - CI/CD 集成(--ci, --json, quality gates) - HTML/PDF 报告 → [注册](https://feenlace.ru/register) | [套餐](https://feenlace.ru/pricing) ## 为什么选择 mcp-1c - **单一二进制文件,零依赖。** 使用 Go 编写 —— 不需要 Python、Node.js、JVM 或 EDT。下载、运行、直接生效。 - **9 种用于操作活动数据库的工具。** 元数据、配置信息、表单、数据查询(带参数)、代码搜索、验证、事件日志、BSL 帮助。 - **全文本代码搜索**(`search_code`)。三种模式:smart(BM25 排序)、regex、exact。内置 BSL 同义词 —— 搜索 `StrFind` 可以找到 `СтрНайти`,反之亦然。 - **分片索引。** 根据核心数量并行构建索引。对于 13 000+ 个模块仅需约 7 秒。磁盘缓存 —— 重复启动瞬间完成。 - **非阻塞式启动。** 索引在后台构建,MCP 服务器立即可用。搜索将在索引完成后生效。 - **兼容您的数据库。** AI 能看到真实的配置和数据 —— 不是抽象的帮助文档,而是您具体的数据库。 - **不绑定 IDE 和神经网络。** 兼容 Конфигуратор、EDT,或完全脱离 IDE。兼容任何模型,包括本地模型(Ollama, LM Studio)。仅需 1С 的 HTTP 服务。 - **自动安装。** `mcp-1c --install "C:\путь\к\базе"` —— 它会自动查找平台、安装扩展并更新数据库配置。 - **内置 BSL 帮助。** 无需外部服务且无需启动 1С 即可获取平台功能的语法说明。 ## 快速入门 ### 1. 下载 适用于您操作系统的二进制文件位于 [Releases](../../releases)。或者使用:`go build -o mcp-1c ./cmd/mcp-1c/` ### 2. 在 1С 中安装扩展 ``` # Windows mcp-1c --install "C:\путь\к\базе" # macOS / Linux mcp-1c --install ~/Documents/InfoBase # Client-server database (MS SQL, PostgreSQL) mcp-1c --install "srv-1c\buh_prod" --server --db-user Admin --db-password pass ``` ### 3. 启动 1С HTTP 服务 **推荐方式** —— 通过 Apache 或 IIS 进行标准发布(Конфигуратор → 管理 → 在 Web 服务器上发布)。适用于 Windows 和 Linux。详情请参阅 [分步指南](docs/getting-started.md#шаг-3-запустить-http-сервис-1с)。 **用于开发的快速启动(仅限 Windows):** ``` "C:\Program Files\1cv8\8.3.XX.XXXX\bin\1cv8.exe" ENTERPRISE /F "C:\путь\к\базе" /HTTPPort 8080 ``` ### 4. 配置 AI 客户端 无论使用何种客户端或模型,MCP 服务器的配置都是相同的。无论您使用 Claude、Ollama 还是 LM Studio,MCP-1C 的配置都不会改变: ``` { "mcpServers": { "1c": { "command": "/path/to/mcp-1c", "args": ["--base", "http://localhost:8080/hs/mcp-1c"] } } } ``` 重启 AI 客户端。在 Claude Desktop 中建议设置为:**“+” → Connectors → Tool access → Always available**。 试着问它:**“显示我的 1С 数据库的配置结构”** ## 可用工具 | 工具 | 描述 | |------------|---------| | `get_metadata_tree` | 元数据树:目录、文档、寄存器、公共模块等。 | | `get_object_structure` | 特定对象的属性、表格部分、维度和资源 | | `get_form_structure` | 主表单结构:元素、命令、事件处理程序 | | `get_configuration_info` | 配置名称、版本、供应商、平台版本、运行模式 | | `search_code` | 模块代码全文本搜索:smart (BM25)、regex、exact。支持 BSL 同义词 (俄↔英)。支持按元数据和模块类型过滤 | | `bsl_syntax_help` | 包含 180 个内置函数、类型方法和 BSL 模式的帮助文档 | | `execute_query` | 执行带参数的 1С 查询语言(仅限 SELECT/ВЫБРАТЬ) | | `validate_query` | 验证查询语法而不执行 | | `get_event_log` | 读取事件日志,支持按日期、级别和用户过滤 | ## 配置 | 标志 | 环境变量 | 默认值 | 描述 | |------|---------|-------------|----------| | `--base` | `MCP_1C_BASE_URL` | `http://localhost:8080/hs/mcp-1c` | 1С HTTP 服务的 URL | | `--user` | `MCP_1C_USER` | — | HTTP 服务用户 | | `--password` | `MCP_1C_PASSWORD` | — | HTTP 服务密码 | | `--max-response-size` | `MCP_1C_MAX_RESPONSE_SIZE` | `128` | 1С 响应的最大容量,单位为 MiB。超过此大小的响应将被拒绝并返回明确的错误。对于带有扩展的大型数据库,请增大此限制。 | | `--request-timeout` | `MCP_1C_REQUEST_TIMEOUT` | `300` | 向 1С 发起的 HTTP 请求超时时间(秒)。如果传输非常大的响应(例如大型数据库的扩展)无法及时完成,请增大该值。 | | `--dump` | — | — | 配置导出的路径(DumpConfigToFiles),启用 search_code 工具 | | `--reindex` | — | — | 强制重建搜索索引(忽略缓存) | | `--install` | — | — | 按照指定路径在 1С 数据库中安装扩展 | | `--server` | — | — | 客户端-服务器数据库模式:`--install` 接受 `server\base` 形式的连接字符串(例如 `srv-1c\buh_prod`) | | `--platform` | — | — | 1С 二进制文件的路径(如未指定则自动检测) | | `--platform-version` | — | — | 1С 平台版本(例如 `8.3.13`)。根据平台路径自动检测。如果平台安装在不含版本信息的非标准路径下,请手动指定。支持的最低版本:8.3.10 | | `--db-user` | — | — | 用于 DESIGNER 的 1С 数据库用户(--install 模式) | | `--db-password` | — | — | 用于 DESIGNER 的 1С 数据库密码(--install 模式) | ## 日志和输出 默认行为取决于服务器是在终端中运行还是通过 MCP 客户端运行: - **在终端中**(stdin 连接到 tty):索引进度、常规信息及错误将照常输出到 stderr。 - **通过 MCP 客户端**(Kilo Code, OpenCode, Claude Desktop, Cursor 等,当 stdin 为 pipe 时):stderr 为空,第三方库的意外输出将被重定向到 `~/.cache/mcp-1c/stderr.log`。这样可以防止某些将任何 stderr 输出视为致命错误的客户端崩溃 (Issue #14)。 ### 标志和环境变量 | 标志 / 环境变量 | 描述 | |------------|---------| | `--verbose` | 即使通过 pipe 启动,也强制开启 stderr。方便调试 MCP 客户端连接。 | | `--quiet` | 即使在终端中运行,也强制屏蔽 stderr。覆盖 `--verbose`。 | | `MCP_1C_NO_TTY=1` | 等同于 `--quiet`。在 Docker / systemd 等命令行参数不够灵活的环境中启动时,比 CLI 标志更方便。 | | `--debug` | 将详细日志写入 `~/.cache/mcp-1c/server.log` 文件。在终端中还会关闭进度条。 | ### Windows 下的 Git Bash / MSYS2 / MinTTY 这些 Shell 通过命名管道连接 stdin,而不是普通的 console handle。自动检测机制会将其视为非 TTY,因此默认不输出索引进度。如需手动诊断,请使用 `--verbose` 标志或原生的 `cmd.exe` / Windows Terminal。 ## 开发 ``` go build -o mcp-1c ./cmd/mcp-1c # сборка go test ./... -v -race # тесты go run ./cmd/mock-1c -port 9191 # mock-сервер 1С ``` ### 1С 扩展 扩展的源代码以 XML 配置导出格式存储在 `extension/src/` 中。执行 `--install` 时,它们会通过 `go:embed` 嵌入到二进制文件中,并直接通过 DESIGNER 的 `/LoadConfigFromFiles` 加载。不需要预编译的 .cfe 文件来进行构建。 预编译的 `MCP_HTTPService.cfe` 可在 [Releases](../../releases/latest) 中下载 —— 如果您无法访问 1С 服务器上的命令行(例如通过 RDP 操作时),这是最简单的安装途径。详情请阅:[docs/1c-setup.md](docs/1c-setup.md#manual-install)。 如需从源代码手动构建 .cfe: ``` # macOS / Linux (需要已安装的 1С 平台) ./scripts/build-extension.sh ~/Documents/InfoBase # Windows scripts\build-extension.cmd C:\Users\User\Documents\InfoBase ``` ## 兼容性 | AI 客户端 | | |------------|---| | **本地模型** | Ollama, LM Studio, llama.cpp 及任何兼容 MCP 的客户端 | | **云端服务** | Claude Desktop, Claude Code, GPT(通过 MCP 客户端), YandexGPT, GigaChat | | **IDE** | Cursor, VS Code (Continue, Cline, Copilot), Windsurf, JetBrains IDEs | MCP-1C 不知道也不检测客户端运行的是哪种模型。配置是完全相同的。 | 1С 平台 | 状态 | |-------------|--------| | 8.3.10 及以上(商业版) | 支持 | | 8.5.x(商业版) | 支持 | | 8.3.10+ / 8.5.x(教学版) | 支持 | | 操作系统 | MCP 服务器 | 自动安装 | 1С HTTP 服务 | |----|-----------|---------------|----------------| | Windows | 是 | 是 | 是(推荐使用 Apache/IIS,快速启动可使用 /HTTPPort) | | macOS | 是 | 是 | 否(受 1С 平台限制),请使用 Windows 虚拟机 | | Linux | 是 | 是 | 是(Apache 或 ibsrv;不支持 /HTTPPort) | ## 相关发布 [![Infostart](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/f98a57057d212534.svg)](https://infostart.ru/1c/articles/2635907/) - [单一二进制文件,零依赖:10 分钟内将 AI 连接到您的 1С 数据库](
标签:1C:Enterprise, AI助手, BSL, EVTX分析, LNA, MCP服务器, SOC Prime, 代码生成, 企业应用集成, 开发工具, 日志审计, 渗透测试工具