BSL MCP服务器
BSL-MCP MCP服务器分析目录 BSL语言服务器 并向JSON发送错误/警告。平台语法检查1C和功能不起作用。
机会
- BSL分析:运行带有详细诊断的BSL/OS文件综合分析
- 代码格式:将BSL文件转换为BSL语言服务器规则
安装
先决条件
- Python 3.10或更新版本
- Java运行时环境(JRE)8
- BSL Language Server jar文件
源代码安装
- 克隆存储库:
git clone
cd mcp-bsl-python- 建立依赖关系:
pip install -r requirements.txt- 安装包:
pip install -e .设置
MCP配置
添加到 ~/.cursor/mcp.json:
{
"mcpServers": {
"bsl-mcp": {
"command": "python",
"args": ["-m", "mcp_bsl.server"],
"env": {
"BSL_JAR": "C:\\1C\\AI\\bsl\\bsl-language-server-0.24.2-exec.jar",
"BSL_MEMORY_MB": "4096",
"BSL_CONFIG": "C:\\1C\\AI\\bsl\\.bsl-language-server.json",
"BSL_LOG_LEVEL": "ERROR"
},
"debug": false
}
}
}备注: 意义BSL_LOG_LEVEL安装在ERROR将日志输出最小化为Cursor IDE。要找出问题,请使用DEBUG.
使用
在 Cursor IDE
# Анализ директории (используйте АБСОЛЮТНЫЙ путь!)
mcp bsl-mcp C:\1C\lk\src\CommonModules\
# Если нужны DEBUG логи для отладки:
# В mcp.json измените: "BSL_LOG_LEVEL": "DEBUG"可用工具
bsl_analyze
在源目录或文件上运行BSL分析。
参数:
srcDir(必填):指向.bsl/.OS目录或文件的路径
例子:
{
"name": "bsl_analyze",
"arguments": {
"srcDir": "C:\\1C\\MyProject\\src"
}
}bsl_format
在源目录中格式化BSL文件。
参数:
srcDir(必填):指向.bsl/.OS目录或文件的路径
例子:
{
"name": "bsl_format",
"arguments": {
"srcDir": "C:\\1C\\MyProject\\src"
}
}输出格式
分析结果
工具 bsl_analyze 签发:
- 人类可读摘要 C:
- 成功/失败(success/error) - 处理的文件数 - 按重要性级别计数诊断 - 顶级文件位置问题
- 结构化JSON输出 C:
- 完整的诊断信息 - 文件路径、行/列号 - 重要程度和信息 - 综合统计
格式化结果
工具 bsl_format 签发:
- 状态成功/错误
- 处理的文件数
- BSL语言服务器
BSL语言服务器
创建文件 .bsl-language-server.json 在项目的根:
{
"language": "bsl",
"diagnostics": {
"computeTrigger": "onSave",
"skipSupport": "never"
},
"codeLens": {
"showCognitiveComplexity": true,
"showCyclomaticComplexity": true
},
"traceLog": {
"enabled": false
}
}错误处理
服务器处理各种紧急情况:
- 文件未找到:检查运行前路径是否正确
- 错误的jar:检查是否存在BSL语言服务器JAR文件
- 超时5分钟分析,2分钟格式化
- 内存限制:自定义JVM内存分配
- 解析错误:正确处理不正确的BSL输出
开发
项目结构
mcp-bsl-python/
├── pyproject.toml # Метаданные проекта и зависимости
├── requirements.txt # Зависимости
├── README.md # Этот файл
├── src/
│ └── mcp_bsl/
│ ├── __init__.py
│ ├── server.py # Основная реализация MCP-сервера
│ ├── bsl_runner.py # Обертка запуска JAR BSL
│ └── config.py # Управление конфигурацией
└── .bsl-language-server.json # Пример конфигурации BSL运行测试
python -m pytest tests/装配
python -m build故障排除
典型问题
- “源路径不存在”
- 始终使用绝对路径 (例如, C:\dev\project\src\Module.bsl) - 相对路径可能无法正确地与MCP服务器一起工作 - 见E/CN.4/Sub.2/2000/SR.1。 PATH_UAGE_GUIDE.md 详情 - 检查参数是否 srcDir 指定现有文件或目录 - 检查文件访问权限
- “目录不包含BSL/OS文件”
- 确保目录包含文件 .bsl 或 .os - 检查文件扩展名是否正确
- Java执行错误
- 检查Java是否已安装并在Path中可用 - 确保正确设置JVM内存限制 - 检查JAR BSL Language Server与Java版本的兼容性
- 错误:BSL分析stderr detected
- 问题已修复-输出进度栏现在已过滤 - 只显示真实的错误 - 更新到最新版本,如果你看到这个问题
- 复制日志消息
- 问题已修复-已修复处理程序累积 - 每个日志消息现在只显示一次 - 见E/CN.4/Sub.2/2000/SR.1。 FIX_DUPLICATE_LOGS.md 详情
调试和日志模式
服务器支持由环境变量控制的日志级别 BSL_LOG_LEVEL:
- 错误 (建议制作)-仅限严重错误
- 警告 (默认)-警告和错误
- 信息 -信息通信
- 调试 -详细调试信息
在MCP配置中启用调试日志:
{
"mcpServers": {
"bsl-mcp": {
"env": {
"BSL_LOG_LEVEL": "DEBUG"
}
}
}
}详情见附件一。在 登录_配置.md.
许可证
它是根据MIT许可证发行的。
对项目的贡献
- 分叉存储库
- 创建一个功能分支
- 修改
- 发送Pull Request
支持
如果您有问题或遇到问题:
- 在存储库中创建问题
- 查看现有文档
- 查看BSL语言服务器文档
