诊断MCP服务器
带有5种诊断工具的HTTP MCP服务器,提供对所有VS Code诊断(TypeScript、ESLint、Prettier及所有已安装扩展)的实时访问
 ](https://github.com/Maaz0313-png/Diagnostics-MCP)
🎯 概述
此模型上下文协议(MCP)服务器为AI代理提供实时访问您VS Code工作区中所有诊断信息的功能,包括:
- ✅ TypeScript/JavaScript(注:这个翻译保持了原英文的表述方式,因为“TypeScript”和“JavaScript”都是编程语言的名称,在中文中通常直接使用这些名称。如果需要更具体的描述,可以翻译为“TypeScript/JavaScript编程语言”或“TypeScript和JavaScript(编程语言)”,但原翻译已足够清晰。) 错误和警告
- ✅ ESLint(中文可译为“ES代码规范检查工具”或保持原名,根据上下文决定是否需要具体翻译) “linting issues”可以翻译为“代码规范问题”或“代码整洁度问题”。这里,“linting”通常指的是在编程过程中使用的一种工具或过程,用于检查代码中的潜在错误、风格问题或不符合编码规范的地方,因此“linting issues”指的是通过这种工具或过程发现的问题
- ✅ 更美观(或更整洁) 格式问题
- ✅ 所有语言服务器 (Python、Go、Rust 等)
- ✅ 所有VS Code扩展 诊断(工具/技术/方法等)
- ✅ 实时更新 当你编写代码时
⚙️ 配置
该扩展提供了两个配置设置:
diagnostics-mcp-server.autoStart
- 类型:
boolean - 默认:
true - 描述当VS Code打开时自动启动HTTP MCP服务器
要禁用自动启动:
- 打开 VS Code 设置(Ctrl+,)
- 搜索“diagnostics-mcp-server”
- 取消选中“自动启动”
- 使用“启动HTTP MCP服务器”命令进行手动启动
diagnostics-mcp-server.port
- 类型:
number - 默认:
3846 - 描述HTTP MCP服务器的端口
更改端口:
- 打开 VS Code 设置(Ctrl+,)
- 搜索“diagnostics-mcp-server.port”
- 设置您想要的端口号
- 重启服务器或重新加载 VS Code
- 使用新端口更新您的MCP客户端配置
📋 安装
步骤1:安装VS Code扩展
从VS Code市场安装:
- 打开 VS 代码(或:打开 Visual Studio Code)
- 前往扩展(Ctrl+Shift+X)
- 搜索“诊断MCP服务器”
- 点击安装
最新版本:1.0.12 - 完整的HTTP MCP实现,包含5个诊断工具,增强的错误处理功能,以及可用的命令
步骤2:扩展自动启动
当VS Code打开时,该扩展会自动启动HTTP MCP服务器。无需额外设置!
服务器详情:
- 协议使用服务器发送事件的HTTP
- 港口3846(自动管理)
- 初创公司使用 VS Code 实现自动化
步骤3:配置MCP客户端
将此添加到您的MCP客户端配置中(例如,Claude Desktop配置或VS Code的MCP设置):
{
"mcpServers": {
"diagnostics": {
"type": "http",
"url": "http://127.0.0.1:3846/mcp",
"description": "VS Code diagnostics - all 5 tools (errors, warnings, info, health, all diagnostics)"
}
}
}验证连接
- 检查服务器状态参观
http://127.0.0.1:3846/health - 查看日志VS Code 输出面板 → “诊断 MCP 服务器”
- 测试连接当VS Code打开时,服务器自动启动
安装VS Code扩展后即可立即使用——无需额外设置!
使用方法
一旦配置完成,人工智能代理(如Claude、GitHub Copilot)就可以使用这些 5种MCP工具:
get_all_diagnostics- 从工作区获取完整的诊断信息get_errors- 仅获取错误级别的诊断信息get_warnings- 仅获取警告级别的诊断信息get_info- 仅获取信息级别的诊断get_workspace_health- 获取工作区健康评分(0-100)
🔧 工作原理
这个扩展使用了一个 HTTP MCP 服务器 建筑:
┌─────────────────────────────────────────────────────┐
│ AI Agent (Claude, GitHub Copilot) │
│ ↓ │
│ HTTP MCP Protocol (port 3846) │
│ ↓ │
│ VS Code Extension (HTTP MCP Server) │
│ ↓ │
│ vscode.languages.getDiagnostics() API │
│ ↓ │
│ ALL Diagnostics (TS, ESLint, Prettier, etc.) │
└─────────────────────────────────────────────────────┘为什么需要扩展?
- VS Code 的诊断功能仅可通过 VS Code 内部访问,通过
vscode模块 - 该扩展提供了VS Code API与MCP服务器之间的桥梁
- 这确保您能获得 全部 来自(某处的)诊断信息 全部 来源,不仅仅是 TypeScript
📦 包含内容
- HTTP MCP 服务器 - 在端口3846上运行,使用服务器发送事件(Server-Sent Events)
- 5种诊断工具 - 全面的工作空间诊断访问
- 3个VS Code命令 - 启动/停止/状态服务器控制
- 实时更新 - 实时诊断监控
- 健康评分 - 工作区质量指标(0-100)
🛠️ 开发
从源代码构建
git clone https://github.com/Maaz0313-png/Diagnostics-MCP.git
cd "Diagnostics MCP"
npm install
npm run compile本地测试
# Test the launcher
node index.js --help
# Test with a workspace
node index.js根据上面的信息,执行如下指令:
1. 工具: get_all_diagnostics
从工作区获取完整的诊断信息。
返回:
{
"total": 42,
"diagnostics": [
{
"file": "src/app.ts",
"line": 10,
"column": 5,
"severity": "error",
"message": "Type 'string' is not assignable to type 'number'",
"source": "ts"
}
],
"status": "found",
"timestamp": "2025-10-02T10:30:00.000Z"
}2. 工具: get_errors
仅获取错误级别的诊断信息。
返回值:
{
"count": 5,
"diagnostics": [...],
"severityLevel": "errors",
"status": "found",
"timestamp": "2025-10-02T10:30:00.000Z"
}3. 工具: get_warnings
仅获取警告级别的诊断信息。
返回值:
{
"count": 3,
"diagnostics": [...],
"severityLevel": "warnings",
"status": "found",
"timestamp": "2025-10-02T10:30:00.000Z"
}4. 工具: get_info
仅获取信息级别的诊断。
返回值:
{
"count": 2,
"diagnostics": [...],
"severityLevel": "info",
"status": "found",
"timestamp": "2025-10-02T10:30:00.000Z"
}5. 工具: get_workspace_health
根据诊断结果获取工作区健康评分(0-100)。
返回值:
{
"healthScore": 85,
"status": "good",
"summary": {
"errors": 2,
"warnings": 5,
"infos": 3,
"total": 10
},
"timestamp": "2025-10-02T10:30:00.000Z"
}健康评分计算:
- 错误:每处扣10分
- 警告:每次扣3分
- 信息:每项扣1分
- 评分标准:0-100(100 = 完美健康)
- 状态:优秀(90+),良好(70+),一般(50+),差(\<50)
🎮 VS Code 命令
在命令面板(Ctrl+Shift+P)中可用的四个命令:
- 🚀 诊断MCP:启动HTTP MCP服务器
- 手动启动MCP服务器 - 如果服务器未自动启动或自动启动功能已禁用,请使用此方法
- 🛑 诊断MCP:停止HTTP MCP服务器
- 停止正在运行的MCP服务器 - 有助于故障排除
- 🔄 MCP 诊断:重启 HTTP MCP 服务器
- 重启MCP服务器(先停止再启动) - 更改配置设置(端口等)后使用
- 📊 MCP 诊断:MCP 服务器状态(5种工具+健康检查)
- 查看服务器状态、当前诊断数量和健康评分 - 对您的工作区域进行快速健康检查
🤝 贡献(或“参与贡献”)
欢迎贡献!请随时提交拉取请求。
📄 许可证
MIT 许可证 - 详见 许可证 文件中有详细信息
🔗 链接
⚠️ 故障排除
“MCP服务器无法连接”
- 检查服务器状态:访问
http://127.0.0.1:3846/health - 查看日志:VS Code 输出面板 → “Diagnostics MCP Server”
- 重启服务器:使用命令“Diagnostics MCP: Start HTTP MCP Server”
- 重新加载 VS Code 窗口:Ctrl+Shift+P → “重新加载窗口”
“端口3846已被占用”
- 阻止其他应用程序使用端口3846
- 或者在VS Code设置中更改端口:
diagnostics-mcp-server.port - 使用“重启HTTP MCP服务器”命令或重新加载VS Code
- 使用新端口更新您的MCP客户端配置
“未返回诊断信息”
- 打开包含代码文件的工作区
- 等待语言服务器初始化
- 检查 VS Code 的“问题”选项卡以获取诊断信息
📝 版本历史
1.0.14(当前版本)
- ✅ 配置设置支持(自动启动,端口)
- ✅ 重启命令,便于服务器轻松重启
- ✅ 可配置的端口号
- ✅ 可选禁用自动启动
1.0.12-1.0.13
- ✅ 完整的HTTP MCP服务器实现
- ✅ 5种专业诊断工具
- ✅ 增强了错误处理和连接稳定性
- ✅ VS Code 命令正常工作(启动/停止/状态)
- ✅ 元数据中的全面工具文档
- ✅ 精美的诊断图标
- ✅ 完整的工作空间健康评分
1.0.11
- ✅ 提升空诊断(或无负载诊断)时的连接稳定性
- ✅ HTTP传输实现
1.0.10
- ✅ 添加了针对严重程度的特定工具(获取错误、获取警告、获取信息)
1.0.0(初始发布)
- ✅ 基本的VS Code诊断集成
- ✅ 支持所有语言服务器和扩展
💡 应用场景
- 基于人工智能的代码审查让AI代理分析所有代码问题
- 自动化质量检查实时监控工作区健康状况
- 智能重构AI在建议更改之前可以查看所有诊断信息
- 学习助手帮助用户理解和修复代码问题
- 持续集成/持续交付(CI/CD)集成预提交诊断分析
______________________________________________________________________
由Maaz Tajammul用心打造
