ellmos-ai/ellmos-codecommander-mcp
GitHub: ellmos-ai/ellmos-codecommander-mcp
一个为 AI 助手提供代码分析、JSON 修复、import 管理、格式转换及 Markdown 导出等 21 个开发者工具的 MCP 服务器。
Stars: 3 | Forks: 0
# ellmos CodeCommander MCP Server
**🇩🇪 [德语版本](README_de.md)**
*[ellmos-ai](https://github.com/ellmos-ai) 家族的一部分。*
[](https://opensource.org/licenses/MIT)
[](https://www.npmjs.com/package/ellmos-codecommander-mcp)
[](https://github.com/ellmos-ai/ellmos-codecommander-mcp/actions/workflows/tests.yml)
[](https://nodejs.org/)
一个面向开发者的 **Model Context Protocol (MCP) server**,为 AI 助手提供代码分析、结构化 Python 编辑、JSON 修复、编码修复、import 整理、格式转换、文件 diff 和 regex 测试功能。
为开发者优化的 **21 个工具** —— [FileCommander](https://github.com/ellmos-ai/ellmos-filecommander-mcp) 的编码伴侣。
**可发现性:** 作为 `ellmos-codecommander-mcp` 发布在 [npm](https://www.npmjs.com/package/ellmos-codecommander-mcp) 上,可在 [Glama](https://glama.ai/mcp/servers/b9kjs4uaav) 上查看,并已通过位于 `io.github.ellmos-ai/ellmos-codecommander-mcp` 下的 [`server.json`](server.json) 为官方 MCP Registry 做好准备。
## 为什么选择 CodeCommander?
FileCommander 负责处理文件系统操作,而 CodeCommander 专注于**代码智能**:
- **Python 代码分析** - 基于 AST 的类/方法提取、复杂度指标、import 分析
- **衍生自 BACH 的 Python 辅助工具** - 运行时 import 诊断、结构化编辑、缩进检查和基于模板的代码生成
- **JSON 修复** - 自动修复损坏的 JSON(尾随逗号、单引号、BOM、注释)
- **Import 整理** - 根据 PEP 8 对 Python import 进行排序和去重
- **编码修复** - 修复 Mojibake 和双重编码的 UTF-8(27+ 种模式)
- **元音变音修复** - 修复损坏的德语字符(70+ 种模式)
- **格式转换** - 在 JSON、CSV、INI、YAML、TOML、XML 和 TOON 之间进行转换
- **文件 Diff** - 使用统一 diff 输出比较两个文件(LCS 算法)
- **Regex 测试器** - 测试正则表达式,包含匹配详情、groups 和替换预览
- **Markdown 导出** - 将 Markdown 转换为专业的 HTML/PDF,支持代码块、表格、嵌套列表、引用块
- **跨平台** - 适用于 Windows、macOS 和 Linux
## 安装
### 前置条件
- [Node.js](https://nodejs.org/) 18 或更高版本
### 选项 1:从 NPM 安装
```
npm install -g ellmos-codecommander-mcp
```
### 选项 2:从源码安装
```
git clone https://github.com/ellmos-ai/ellmos-codecommander-mcp.git
cd ellmos-codecommander-mcp
npm install
npm run build
```
## 配置
### Claude Desktop
添加到您的 `claude_desktop_config.json` 中:
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
#### 如果通过 NPM 全局安装:
```
{
"mcpServers": {
"codecommander": {
"command": "ellmos-codecommander"
}
}
}
```
#### 如果从源码安装:
```
{
"mcpServers": {
"codecommander": {
"command": "node",
"args": ["/absolute/path/to/ellmos-codecommander-mcp/dist/index.js"]
}
}
}
```
### 同时使用两个 Server
FileCommander 和 CodeCommander 旨在并肩工作:
```
{
"mcpServers": {
"filecommander": {
"command": "ellmos-filecommander"
},
"codecommander": {
"command": "ellmos-codecommander"
}
}
}
```
## 工具概述
### 代码分析(3 个工具)
| 工具 | 描述 |
|------|-------------|
| `cc_analyze_code` | 完整的代码分析:类、函数、import、LOC、复杂度 |
| `cc_analyze_methods` | 详细的方法分析:参数、装饰器、可见性、数据流、BACH 防护栏 |
| `cc_extract_classes` | 将 Python 类/函数提取为独立的文本块,可选择包含 pycutter 风格的内联内容 |
### Import 管理(3 个工具)
| 工具 | 描述 |
|------|-------------|
| `cc_organize_imports` | 根据 PEP 8 对 Python import 进行排序和去重 |
| `cc_diagnose_imports` | 检测未使用的 import、重复项、循环 import 风险 |
| `cc_runtime_import_diagnose` | 运行独立的 Python 运行时 import,包含超时、__init__.py 分析和循环 import 提示 |
### JSON 工具(2 个工具)
| 工具 | 描述 |
|------|-------------|
| `cc_fix_json` | 修复损坏的 JSON(BOM、尾随逗号、注释、单引号) |
| `cc_validate_json` | 验证 JSON,提供详细的错误位置和上下文 |
### 编码与文本(3 个工具)
| 工具 | 描述 |
|------|-------------|
| `cc_fix_encoding` | 修复 Mojibake / 双重编码的 UTF-8(27+ 种模式) |
| `cc_cleanup_file` | 移除 BOM、NUL 字节、尾随空格,规范化换行符 |
| `cc_fix_umlauts` | 修复损坏的德语元音变音(70+ 种模式、HTML 实体、转义字符) |
### 扫描(1 个工具)
| 工具 | 描述 |
|------|-------------|
| `cc_scan_emoji` | 扫描文件中的表情符号,包含 codepoint 信息 |
### 格式与文档(2 个工具)
| 工具 | 描述 |
|------|-------------|
| `cc_convert_format` | 在 JSON、CSV、INI、YAML、TOML、XML 和 TOON 格式之间转换 |
| `cc_generate_licenses` | 生成第三方许可证文件 (npm/pip) |
### 开发者实用工具(2 个工具)
| 工具 | 描述 |
|------|-------------|
| `cc_diff_files` | 比较两个文件并输出统一 diff(可配置上下文行数) |
| `cc_regex_test` | 针对文本/文件测试 regex 模式,包含匹配详情、groups 和替换预览 |
### Python 辅助(3 个工具)
| 工具 | 描述 |
|------|-------------|
| `cc_check_indentation` | 检测缺失的冒号、未缩进的 return/yield 语句以及混合的 tab/空格缩进 |
| `cc_generate_python_code` | 根据模板生成 Python 函数、类、dataclass、CLI stub、测试、异常和模块 |
| `cc_python_structural_edit` | 检查并应用结构化的 Python 编辑,支持预览、测试文件、语法检查和备份模式 |
### 导出(2 个工具)
| 工具 | 描述 |
|------|-------------|
| `cc_md_to_html` | 将 Markdown 转换为带 CSS 样式的独立 HTML(标题、代码块、表格、嵌套列表、引用块、图片、复选框) |
| `cc_md_to_pdf` | 通过 headless browser(Edge/Chrome)将 Markdown 转换为 PDF。如果没有可用的浏览器,则回退为 HTML |
**总计:21 个开发者工具**(还提供 `cc_set_language` 用于运行时语言切换)
## 共享工具
为了方便起见,FileCommander 和 CodeCommander 中都存在 7 个工具:
| FileCommander | CodeCommander | 功能 |
|---------------|---------------|----------|
| `fc_fix_json` | `cc_fix_json` | JSON 修复 |
| `fc_validate_json` | `cc_validate_json` | JSON 验证 |
| `fc_fix_encoding` | `cc_fix_encoding` | 编码修复 |
| `fc_cleanup_file` | `cc_cleanup_file` | 文件清理 |
| `fc_convert_format` | `cc_convert_format` | 格式转换 (JSON/CSV/INI/YAML/TOML/XML/TOON) |
| `fc_md_to_html` | `cc_md_to_html` | Markdown 导出为 HTML |
| `fc_md_to_pdf` | `cc_md_to_pdf` | Markdown 导出为 PDF |
## 工具前缀
所有工具都使用 `cc_` 前缀,以避免与 FileCommander 的 `fc_` 前缀和其他 MCP server 发生冲突。
## 安全性
有关详细的安全信息,请参阅 [SECURITY.md](SECURITY.md)。
关键点:
- 修改文件的工具在适用时支持预览/dry-run 模式
- 默认情况下,为破坏性操作启用备份创建
- 无内置沙盒 - 安全性委托给 MCP client
- 专为通过 stdio 传输进行本地开发使用而设计
## 开发
```
npm install
npm run dev # Watch mode
npm run build # One-time build
npm start # Start server
npm test # Run test suite (vitest)
```
### 测试
该项目包含一个全面的测试套件,涵盖了所有 21 个开发者工具和 i18n 行为。
```
npm test # Run all tests
npx vitest run # Same as above
npx vitest --watch # Watch mode
```
测试已在 **Windows**、**macOS** 和 **Linux** 上通过验证。
GitHub Actions 会在 Node.js 20、22 和 24 上运行构建、Vitest 测试套件和 npm 包检查。
## 更新日志
有关完整的版本历史记录,请参阅 [CHANGELOG.md](CHANGELOG.md)。
## 许可证
[MIT](LICENSE) - Lukas Geiger ([ellmos-ai](https://github.com/ellmos-ai))
## 历史
该项目最初开发为 **BACH CodeCommander** (`bach-codecommander-mcp`)。作为 [ellmos-ai](https://github.com/ellmos-ai) 组织的一部分,它已更名为 **ellmos CodeCommander** (`ellmos-codecommander-mcp`)。
旧包名 `bach-codecommander-mcp` 已弃用。请改用 [`ellmos-codecommander-mcp`](https://www.npmjs.com/package/ellmos-codecommander-mcp):
```
npm uninstall -g bach-codecommander-mcp
npm install -g ellmos-codecommander-mcp
```
## ellmos-ai 生态系统
此 MCP server 是 **[ellmos-ai](https://github.com/ellmos-ai)** 生态系统的一部分 —— 涵盖 AI 基础设施、MCP server 和智能工具。
### MCP Server 家族
| Server | 工具 | 侧重点 | npm |
|--------|-------|-------|-----|
| [FileCommander](https://github.com/ellmos-ai/ellmos-filecommander-mcp) | 44 | 文件系统、进程管理、交互式会话 | [`ellmos-filecommander-mcp`](https://www.npmjs.com/package/ellmos-filecommander-mcp) |
| **[CodeCommander](https://github.com/ellmos-ai/ellmos-codecommander-mcp)** | **17** | **代码分析、AST 解析、import 管理** | **[`ellmos-codecommander-mcp`](https://www.npmjs.com/package/ellmos-codecommander-mcp)** |
| [Clatcher](https://github.com/ellmos-ai/ellmos-clatcher-mcp) | 12 | 文件修复、格式转换、批处理操作 | [`ellmos-clatcher-mcp`](https://www.npmjs.com/package/ellmos-clatcher-mcp) |
| [n8n Manager](https://github.com/ellmos-ai/n8n-manager-mcp) | 18 | 通过 AI 助手进行 n8n 工作流管理 | [`n8n-manager-mcp`](https://www.npmjs.com/package/n8n-manager-mcp) |
| [ControlCenter](https://github.com/ellmos-ai/ellmos-controlcenter-mcp) | 10 | MCP 栈发现、配置文件管理、控制平面 | [`ellmos-controlcenter-mcp`](https://www.npmjs.com/package/ellmos-controlcenter-mcp) |
### AI 基础设施
| 项目 | 描述 |
|---------|-------------|
| [BACH](https://github.com/ellmos-ai/bach) | 面向 LLM 的基于文本的 OS — 113+ 个 handler、550+ 个工具、1870+ 项技能 |
| [clutch](https://github.com/ellmos-ai/clutch) | 中立于 Provider 的 LLM 编排,具备自动路由和预算跟踪功能 |
| [rinnsal](https://github.com/ellmos-ai/rinnsal) | 轻量级 agent 记忆、连接器和自动化基础设施 |
| [ellmos-stack](https://github.com/ellmos-ai/ellmos-stack) | 自托管 AI 研究栈 (Ollama + n8n + Rinnsal + KnowledgeDigest) |
| [MarbleRun](https://github.com/ellmos-ai/MarbleRun) | 用于 Claude Code 的自主 agent 链框架 |
| [gardener](https://github.com/ellmos-ai/gardener) | 极简的数据库驱动 LLM OS 原型(4 个函数,1 张表) |
| [ellmos-tests](https://github.com/ellmos-ai/ellmos-tests) | 用于 LLM 操作系统的测试框架(7 个维度) |
### 桌面软件
我们的合作伙伴组织 **[open-bricks](https://github.com/open-bricks)** 整合了 AI 原生的桌面应用程序 —— 一套专为 AI 时代打造的现代、开源软件套件。类别包括文件管理、文档工具、开发者实用程序等。
## 责任
Dieses Projekt ist eine **unentgeltliche Open-Source-Schenkung** im Sinne der §§ 516 ff. BGB. Die Haftung des Urhebers ist gemäß **§ 521 BGB** auf **Vorsatz und grobe Fahrlässigkeit** beschränkt. Ergänzend gilt der Haftungsausschluss der MIT-Lizenz.
Nutzung auf eigenes Risiko. Keine Wartungszusage, keine Verfügbarkeitsgarantie keine Gewähr für Fehlerfreiheit oder Eignung für einen bestimmten Zweck.
根据德国法律,本项目是一项无偿的开源捐赠。责任仅限于故意和重大过失(德国民法典第 521 条),并由 MIT 许可证的免责声明作为补充。使用风险自负。
标签:AI辅助编程, JSON修复, MCP服务器, MITM代理, Python, SOC Prime, 代码分析, 代码智能, 凭证管理, 开发工具, 无后门, 自动化攻击