@haakco/mcp配置验证器
MCP(模型上下文协议)服务器的全面验证和健康检查
通过自动化修复、性能基准测试和7个类别的50多个验证规则,确保您的MCP服务器遵循最佳实践、安全标准和最佳配置模式。
](https://www.npmjs.com/package/@haakco/mcp-config-validator)   
特性
- 🔍 多类别验证:结构、依赖关系、配置、安全性、性能、最佳实践和MCP特定规则
- 🛠️ 自动修复:使用自动应用安全修复程序
--fix旗帜 - 📊 绩效基准测试:测量构建时间、启动时间、包大小和内存使用情况
- 🎯 严重性筛选:关注错误、警告或信息级别问题
- 📝 多种输出格式:文本、JSON、YAML或HTML报告
- 🚀 CI/CD集成:针对持续集成而优化的退出代码和格式
- 🔧 可定制规则:通过配置文件配置验证规则
安装
npm install -g @haakco/mcp-config-validator或者在项目中本地使用:
npm install --save-dev @haakco/mcp-config-validator用法
基本验证
# Validate current directory
mcp-validate validate
# Validate specific project
mcp-validate validate /path/to/mcp-server
# Only show errors
mcp-validate validate --severity error
# Auto-fix issues
mcp-validate validate --fix快速健康检查
# Quick check with summary only
mcp-validate check
# CI mode (exits with error code if issues found)
mcp-validate check --ci绩效基准测试
# Run performance benchmarks
mcp-validate benchmark
# Run with more iterations for accuracy
mcp-validate benchmark --iterations 5交互模式
# Interactive validation wizard
mcp-validate interactive验证类别
1. 结构 (structure)
- Package.json的存在性和有效性
- README.md文档
- TypeScript配置
- 测试目录结构
- Docker支持文件
2. 依赖项 (dependencies)
- MCP SDK版本要求
- 安全漏洞
- 过时的包装
- 缺少对等依赖关系
- 开发与生产依赖关系
3. 配置 (configuration)
- TypeScript优化设置
- ESLint和Prettier设置
- 测试框架配置
- 构建脚本
- 环境变量处理
4. 安全 (security)
- 硬编码秘密检测
- Git忽略模式
- 环境变量安全
- 输入验证模式
- 错误处理安全
5. 演出 (performance)
- 捆绑包大小优化
- 异步/等待模式
- 内存泄漏预防
- 缓存实现
- 资源限制
6. 最佳实践 (best-practices)
- 代码组织
- 命名约定
- 错误处理模式
- 测井实践
- 测试覆盖
7. MCP特定 (mcp-specific)
- 服务器结构要求
- 工具实现模式
- 错误响应格式
- SDK使用模式
- Claude桌面配置
配置
创建 mcp-validator.config.json 在您的项目中:
{
"$schema": "https://raw.githubusercontent.com/haakco/mcp-tools/main/config-validator/schema.json",
"severity": "warning",
"categories": [
"structure",
"dependencies",
"configuration",
"security",
"performance",
"best-practices",
"mcp-specific"
],
"format": "text",
"fix": false,
"rules": {
"structure-tests": "error",
"security-env-secrets": "error",
"mcp-server-structure": "error",
"performance-bundle-size": "warning",
"best-practice-documentation": "info"
},
"ignore": [
"node_modules/**",
"dist/**",
"coverage/**"
]
}命令行选项
validate 命令
| 选项 | 描述 | 默认值 |
|---|---|---|
--severity, -s | 最低严重级别(错误、警告、信息) | info |
--categories, -c | 要验证的类别 | 所有类别 |
--format, -f | 输出格式(文本、json、yaml、html) | text |
--output, -o | 输出文件路径 | 控制台输出 |
--fix | 自动修复问题 | false |
--config | 配置文件路径 | 自动检测到 |
check 命令
| 选项 | 描述 | 默认值 |
|---|---|---|
--ci | CI模式(出现问题时退出并出错) | false |
--format, -f | 输出格式 | text |
benchmark 命令
| 选项 | 描述 | 默认值 |
|---|---|---|
--iterations, -i | 基准迭代次数 | 3 |
--output, -o | 结果输出文件 | benchmark-report.json |
退出代码
0:成功,未发现问题(或在CI模式下仅存在信息级别问题)1:发现验证错误2:工具执行错误
例子
CI/CD集成
# GitHub Actions
- name: Validate MCP Server
run: |
npm install -g @haakco/mcp-config-validator
mcp-validate check --ci# GitLab CI
validate:
script:
- npm install -g @haakco/mcp-config-validator
- mcp-validate validate --severity error --format json --output validation-report.json
artifacts:
reports:
junit: validation-report.json预提交钩子
{
"husky": {
"hooks": {
"pre-commit": "mcp-validate check --ci"
}
}
}自定义规则严重性
# Only fail on errors, ignore warnings
mcp-validate validate --severity error --ci
# Show all issues including info
mcp-validate validate --severity info生成报告
# HTML report for documentation
mcp-validate validate --format html --output report.html
# JSON for further processing
mcp-validate validate --format json | jq '.results[] | select(.severity == "error")'程序化使用
import { ConfigValidator } from '@haakco/mcp-config-validator';
const validator = new ConfigValidator('/path/to/project', {
severity: 'warning',
categories: ['security', 'mcp-specific'],
format: 'json',
});
const report = await validator.validate();
console.log(`Health Score: ${report.summary.score}/100`);🚀 发展
# Install dependencies
npm install
# Run tests in watch mode
npm run test:watch
# Build the library
npm run build
# Test CLI locally
npm run dev -- validate . --format json
# Lint and format code
npm run lint
npm run lint:fix
# Type checking
npm run typecheck🤝 贡献
我们欢迎捐款!请看 贡献.md 用于:
- 开发设置说明
- 代码质量标准
- 添加新的验证规则
- 测试指南
- 拉取请求流程
📄 许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
🔗 相关项目
- @haakco/mcp公用事业公司 -MCP服务器的共享实用程序
- @haakco/mcp模式生成器 -MCP项目的模式生成
- @haakco/mcp迁移工具 -MCP服务器的迁移协助
______________________________________________________________________
使用TypeScript构建,用Vitest测试,专为生产MCP服务器验证而设计。
