用途
editorconfig_mcp 是一个 Model Context Protocol (MCP) 兼容的服务器,用于使用 .editorconfig 规则格式化文件。它起源于作者在 AI 辅助开发中遇到的一个具体问题:AI 编码代理生成的代码常常包含细微的格式错误,如行尾空格或换行不一致,随后被 linter 标记,导致代理花费宝贵周期修复自己的简单错误。该工具作为主动的格式化守门员,利用项目的 .editorconfig 规则,确保文件从一开始就正确。
主要能力
- 遵循 MCP 设计模式和最佳实践。
- 使用 JSON Schema 验证所有输入。
- 内置限流:每分钟 100 次请求。
- 提供 OpenAPI 3.0 规范,实现自描述 API。
- 使用 /v1/ 前缀的语义化版本 API。
- 无状态:请求之间不保留状态。
- 安全性:路径验证防止目录遍历攻击。
- 错误处理:一致的错误格式,附带有用提示。
使用方式
安装
- 全局安装(推荐)
- 使用 npx(无需安装)
- 本地安装:然后添加到项目 package.json 的 scripts 中
启动服务器
服务器默认在端口 8432 上启动。可通过环境变量 PORT 配置端口,例如:PORT=8080 editorconfig-mcp-server。默认端口选择以避免与常见开发服务器冲突。
与 AI 工具集成
要将此服务器添加到 Claude Code,请运行相应命令。该服务器设计用于支持 MCP 的 AI 编码助手。配置你的 AI 工具连接到:
- 基础 URL: http://localhost:8432
- 协议: MCP over HTTP
工具(动作)
- 使用 .editorconfig 规则格式化单个文件。
- 使用 glob 模式格式化多个文件。
端点
- GET /openapi.json - OpenAPI 3.0 规范
- GET /.well-known/mcp/servers.json - MCP 服务器清单
- GET /health - 健康检查端点
所有错误遵循一致格式。服务器实现限流:窗口 1 分钟,每个窗口最多 100 请求,超出时返回 429 状态。
安全与验证
- 使用 JSON Schema 进行输入验证。
- 路径遍历保护。
- 负载大小限制(1MB)。
- 忽略敏感目录(node_modules, .git)。
版本发布
项目遵循语义化版本:
- MAJOR 版本用于不兼容的 API 更改
- MINOR 版本用于向后兼容的功能添加
- PATCH 版本用于向后兼容的错误修复
发布新版本步骤:
- 更新 package.json 中的版本号
- 创建 git 提交和标签
- 推送提交和标签到 GitHub
发布到 npm:
- 在 https://www.npmjs.com 创建 npm 账户
- 登录 npm:npm login
- 使用 npm version 更新版本(见上文)
- 运行:npm publish
通过 GitHub 自动发布:
- 添加 npm token 为名为 NPM_TOKEN 的 GitHub secret
- 创建 GitHub release - 发布工作流将自动发布到 npm
注册 MCP 服务器注册表:
- 确保服务器实现 MCP 规范
- 公开托管服务器(例如 npm、GitHub releases)
- 向 MCP registry 仓库提交 PR
适用场景
适用于使用 AI 编码助手(如 Claude Code)的开发者,希望确保 AI 生成代码在提交前自动遵循项目 .editorconfig 格式规则,减少因格式问题导致的 linter 错误和代理修正循环。
限制
资料中未明确提及支持的文件类型范围、具体的安装命令内容、MCP 工具调用的详细参数、以及与其他 AI 工具的集成示例。部分功能如速率限制的具体行为、错误格式的详细内容等未完全展开。