← 返回目录
R

RLM Tools BSL MCP Server

社区
面向1C(BSL)代码库的令牌高效分析MCP服务器
GitHub 源仓库 ↗
★ 193 Stars 分类 · 开发工具 热门
60FMRS · C

RLM Tools BSL 是一个面向 1C BSL 代码库的 MCP 服务器,通过在沙盒中执行脚本并只回传 print() 输出,把令牌与上下文消耗降到远低于直接读取文件的方式,并刻意不依赖 RAG 预索引,同时可选提供 SQLite 索引与 git grep 全文搜索来加速大型配置。仓库为 MIT 许可,非 1C 官方项目,是开源 rlm-tools 的适配版。官方 README 引用了 2026 年 4 月对 6 个 MCP 服务器的对比测试,称其在 10 项业务任务上取得 10/10 且平均消耗 117K 令牌为最低,但这些数据来自项目自身,属于自我评估,应谨慎对待。适合需要确定性、按需分析 1C 源码的开发者与分析人员;不适合需要完整依赖图、语义嵌入检索或处理模糊业务问题的场景。使用前应关注沙盒脚本执行、git grep 自动启用与可选外部 LLM 调用带来的数据暴露风险。

可靠性
10/20
安全与权限
9/20
维护活跃度
12/20
文档质量
16/20
安装易用性
13/20
查看 FMRS 评分方法 →

RLM Tools BSL 是一个 MCP 服务器,用于对 1C:Enterprise 的 BSL 代码库进行令牌高效(token-efficient)的分析。它是开源项目 rlm-tools 的适配版本,针对 1C 平台特性做了调整:庞大的代码库、CF/EDT/CFE 源码格式、元数据结构、西里尔字母代码以及 XML 对象描述。其核心理念是让 AI 助手获得与 RAG 质量相当、但不依赖 RAG 的代码库检索能力——无需预先向量化,同时大幅节省上下文与令牌。工作方式:AI 代理向服务器发送 Python 脚本,脚本在沙盒中执行,只有 print() 的输出返回代理上下文,从而用紧凑的过滤后结果替代原始文件内容。服务器提供 6 个 MCP 工具(rlm_projects、rlm_index、rlm_start、rlm_help、rlm_execute、rlm_end)和包含 62 个沙盒辅助函数的工具集(52 个 BSL 专用 + 8 个标准 + 2 个 LLM),支持会话缓存、超时与安全控制。可选的 SQLite 索引可加速大型配置的检索,源码目录中存在 .git 时会自动启用基于 git grep 的 git_search 全文搜索。项目注册表支持按名称注册项目并要求密码。授权许可为 MIT。

工具能力

rlm_projects
管理项目注册表:按名称注册项目(含路径与密码),以及移除/更新/重命名等需要密码的变更操作
rlm_index
通过构建、更新或删除 SQLite 索引来管理项目索引,需提供注册时设置的密码
rlm_start
启动一次分析会话,默认使用 slim 策略生成紧凑的工具导航图,也可选择 full 策略
rlm_help
按需加载沙盒辅助函数的详细用法与配方,节省启动时的上下文令牌
rlm_execute
在沙盒中执行 Python 脚本,仅将 print() 输出返回给代理上下文
rlm_end
结束当前分析会话

安装接入

Windows(管理员 PowerShell):运行 irm https://raw.githubusercontent.com/Dach-Coin/rlm-tools-bsl/master/simple-install-from-pip.ps1 -OutFile simple-install-from-pip.ps1 后执行 PowerShell -ExecutionPolicy Bypass -File .\simple-install-from-pip.ps1,脚本会从 PyPI 安装、注册 Windows 服务、启动服务器并检查健康状态;重复运行即为更新到最新版本。Linux:curl -LO https://raw.githubusercontent.com/Dach-Coin/rlm-tools-bsl/master/simple-install-from-pip.sh,然后 chmod +x simple-install-from-pip.sh && ./simple-install-from-pip.sh。Docker:cp docker-compose.example.yml docker-compose.yml,编辑 REPOS_ROOT 等变量后 docker compose up -d(Windows + Docker Desktop 不推荐)。从源码开发需要 Python 3.10+ 与 uv,Windows 运行 simple-install.ps1,Linux 运行 simple-install.sh。安装后在 .claude.json / mcp.json 中添加 mcpServers 配置指向 http://127.0.0.1:9000/mcp。

claude_desktop_config.json
{
  "mcpServers": {
    "rlm-tools-bsl": {
      "type": "http",
      "url": "http://127.0.0.1:9000/mcp"
    }
  }
}

选型与风险

适合谁

  • 源代码格式为 CF、EDT 或 MDO 的 1C:Enterprise 项目
  • 包含 2 万多个文件、无法整体放入单次会话上下文的大型配置
  • 需要确定性(非模糊)代码库检索的场景,例如查找 http 服务及其方法、文档过账逻辑
  • 希望节省上下文与令牌、避免维护 RAG 基础设施的团队

不适合谁

  • 需要配置全部对象完整依赖图的场景(需要预先索引的 RAG/图 MCP)
  • 按对象描述进行语义/嵌入检索的需求
  • “ERP 中预算如何运作”“UT 中蜂窝仓库如何工作”这类模糊、非确定性问题,需要完整 RAG 或更强模型先将其转化为严格检索
  • 把该服务器当作上游 1C 官方产品:它并非由 1C 维护

所需权限

  • 读取 1C 源码目录(BSL 文件、XML/MDO 描述、元数据)
  • 在主机上写入和管理 SQLite 索引文件
  • 读取和修改服务器目录旁的 projects.json 项目注册表(变更操作要求密码)
  • 在沙盒中执行代理提交的 Python 脚本
  • 可选访问 LLM 端点(OpenAI 兼容的 OpenRouter、Ollama、vLLM 或 Anthropic API),仅在配置 llm_query 时需要
  • 可选使用主机上的 Git 读取源码仓库历史(启用 git_search)

风险与副作用

  • 代理提交的 Python 脚本会在沙盒中执行,脚本能力与沙盒边界的实际强度直接决定主机暴露面
  • 源码目录下存在 .git 时会自动对全部文件启用 git grep 全文搜索,可能读取到开发者未预期暴露的“原始”XML/MDO 与文本内容
  • 配置 llm_query 时,脚本内容或代码片段可能被发送到外部 LLM 端点
  • 项目注册表虽以密码保护变更操作,但密码机制用于防止 AI 未经确认操作,而非强加密隔离
  • 索引构建在 HDD 或网络盘上耗时较长,且索引按读取的代码内容持久化到磁盘

常见排障

  1. Windows 服务无法启动(如错误 1053):参考 docs/INSTALL.md 中的“Windows 服务诊断”部分
  2. 大型配置上 glob_files/tree/find_files 调用超时(60-90 秒):在慢速磁盘或网络盘上应预先构建 SQLite 索引,参见 docs/INDEXING.md
  3. 弱模型(Haiku、Minimax、Gemini Flash 等)分析质量差、混淆辅助函数:尝试以 RLM_STRATEGY_MODE=full 重启服务器,使完整策略内联并在 MCP 清单中隐藏 rlm_help
  4. 按链接查询元数据对象、关系或属性类型时结果不准确或噪声大:通常是缺少预先构建的索引
  5. Docker 容器中索引未在启动时重建:设置 RLM_UPDATE_INDEX_ON_START=1
  6. Windows + Docker Desktop 下索引与辅助函数明显变慢:这是 WSL2/Virtiofs 的 I/O 开销所致,建议直接在宿主机上用 pip/服务方式安装

使用场景

快速理解一份陌生的 1C 配置或扩展:指定源码目录后代理立即开始工作,无需数小时索引
评估实施工作量:梳理受影响的元数据对象、需要改造的部分与现成功能
每日检查团队通过 1C 存储库(经 gitsync 同步到 Git)提交的代码
同时对多个活跃 1C 代码库进行分析,无暇为每个库构建 RAG 索引
为已完成的开发补写技术文档与说明
分析师在没有 RAG 的项目上回答用户关于系统的提问
对特定子系统、机制或自定义改造块做定点分析

支持客户端

Claude Code完整支持
Kilo Code完整支持
Roo Code完整支持
Cursor完整支持