article
README
🚀 MCP开发工具服务器
本项目是一个全面的MCP(模型上下文协议)服务器,用于代码分析和网页数据抓取。支持代码质量分析、代码检查、依赖分析、静态/动态网页数据抓取以及API发现等功能。
✨ 主要特性
- 📊 代码质量分析:检测代码复杂度、可维护性和代码异味。
- 🔍 代码检查与格式化:使用ESLint、Prettier和TypeScript进行代码检查。
- 📦 依赖分析:找出未使用的依赖项、安全漏洞和过时的包。
- 🔒 安全分析:检测硬编码的密钥和进行漏洞扫描。
- 🌐 网页数据抓取:支持静态和动态内容抓取。
- 🔎 API发现:发现API端点并进行网络分析。
📦 安装指南
要求
- Node.js 18或更高版本
- npm或yarn
- TypeScript(开发依赖)
步骤
- 克隆仓库:
git clone https://github.com/code-alchemist01/development-tools-mcp-Server.git
cd development-tools-mcp-Server
- 安装依赖:
npm install
- 安装Playwright浏览器(用于动态抓取):
npx playwright install chromium
- 构建项目:
npm run build
- 测试运行:
npm start
MCP客户端安装
Cursor IDE
- 创建/编辑MCP配置文件
- Windows:
%APPDATA%\Cursor\User\globalStorage\mcp.json
- **macOS/Linux**:
~/.config/Cursor/User/globalStorage/mcp.json
- 配置文件内容
{
"mcpServers": {
"development-tools": {
"command": "node",
"args": [
"C:\\Users\\YourUsername\\path\\to\\development-tools-mcp-Server\\dist\\index.js"
]
}
}
}
注意:请根据您的项目路径更新args中的路径。
-
重启Cursor 保存配置文件后,完全关闭并重新打开Cursor。
-
验证 在Cursor的设置 > 工具与MCP部分,“development-tools”应显示在列表中,并显示“42 tools enabled”。
Claude Desktop
- 创建/编辑MCP配置文件
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- **macOS**:
~/Library/Application Support/Claude/claude_desktop_config.json
- **Linux**:
~/.config/Claude/claude_desktop_config.json
- 配置文件内容
{
"mcpServers": {
"development-tools": {
"command": "node",
"args": [
"/absolute/path/to/development-tools-mcp-Server/dist/index.js"
]
}
}
}
- 重启Claude Desktop
其他MCP客户端
如果您使用其他MCP客户端,请根据客户端的MCP服务器配置格式使用以下信息:
- 命令:
node - 参数:
[path/to/dist/index.js] - 传输方式:
stdio(标准输入/输出)
示例配置格式
通用MCP配置:
{
"mcpServers": {
"development-tools": {
"command": "node",
"args": ["/absolute/path/to/dist/index.js"],
"env": {}
}
}
}
带环境变量的配置:
{
"mcpServers": {
"development-tools": {
"command": "node",
"args": ["/absolute/path/to/dist/index.js"],
"env": {
"NODE_ENV": "production"
}
}
}
}
💻 使用示例
MCP客户端使用
MCP服务器安装完成后,您可以在客户端的聊天界面中使用自然语言命令来执行操作。
代码分析示例
代码质量分析
分析此项目的代码质量
分析src/**/*.ts文件的代码质量
复杂度计算
计算src/utils文件夹中文件的复杂度
代码异味检测
查找代码中的代码异味
重复代码查找
查找项目中的重复代码块
代码检查示例
代码检查
对src/**/*.ts文件进行代码检查
代码格式化
使用Prettier格式化src/**/*.ts文件
TypeScript检查
检查TypeScript文件中的类型错误
依赖分析示例
依赖分析
分析项目依赖
查找未使用的包
查找未使用的npm包
检查安全漏洞
检查依赖项中的安全漏洞
网页数据抓取示例
HTML抓取
抓取https://example.com页面
提取链接
提取https://example.com页面上的所有链接
动态内容抓取
使用浏览器抓取https://example.com页面(JavaScript渲染)
API端点发现
发现https://example.com页面上的API端点
安全分析示例
密钥检测
查找代码中的硬编码密钥
安全扫描
扫描安全漏洞
📋 MCP工具(42个工具)
代码质量工具(8个)
analyze_code_quality- 通用代码质量分析calculate_complexity- 计算圈复杂度detect_code_smells- 检测代码异味analyze_maintainability- 计算可维护性指数find_duplicate_code- 检测重复代码analyze_test_coverage- 分析测试覆盖率generate_code_metrics- 生成详细的代码指标suggest_refactoring- 提供重构建议
代码检查工具(5个)
lint_code- 使用ESLint进行代码检查format_code- 使用Prettier进行代码格式化check_typescript- 进行TypeScript类型检查validate_syntax- 验证语法fix_lint_issues- 自动修复代码检查问题
依赖分析工具(6个)
analyze_dependencies- 分析依赖关系树find_unused_dependencies- 查找未使用的包check_vulnerabilities- 检查安全漏洞check_outdated_packages- 检测过时的包analyze_bundle_size- 分析包大小suggest_dependency_updates- 提供依赖更新建议
安全分析工具(4个)
scan_security_issues- 安全扫描detect_secrets- 查找硬编码的密钥analyze_permissions- 分析文件权限check_compliance- 检查合规性
静态数据抓取工具(6个)
scrape_html- 抓取HTML内容extract_text- 提取文本extract_links- 提取链接extract_images- 提取图像URLextract_tables- 提取表格数据scrape_by_selector- 使用CSS选择器进行数据抓取
动态数据抓取工具(5个)
scrape_dynamic_content- 抓取JavaScript渲染的内容scrape_with_interaction- 通过用户交互进行数据抓取screenshot_page- 截取页面屏幕截图wait_for_element- 等待元素加载extract_after_click- 点击后提取内容
API发现工具(4个)
discover_api_endpoints- 发现API端点analyze_network_requests- 分析网络请求extract_api_schema- 提取API模式test_api_endpoint- 测试API端点
数据处理工具(4个)
parse_json- 解析JSON数据parse_xml- 解析XML数据parse_csv- 解析CSV数据format_scraped_data- 格式化抓取的数据
📁 项目结构
development-tools-mcp-Server/
├── src/
│ ├── index.ts # MCP服务器主入口点
│ ├── server.ts # MCP服务器实现
│ ├── tools/ # MCP工具
│ │ ├── code-analysis.ts # 安全分析工具
│ │ ├── code-quality.ts # 代码质量工具
│ │ ├── dependency-analysis.ts # 依赖分析工具
│ │ ├── linting.ts # 代码检查工具
│ │ ├── web-scraping.ts # 网页数据抓取工具
│ │ └── api-discovery.ts # API发现工具
│ ├── analyzers/ # 分析引擎
│ │ ├── code-analyzer.ts # 代码分析
│ │ ├── complexity-analyzer.ts # 复杂度分析
│ │ ├── dependency-analyzer.ts # 依赖分析
│ │ └── security-analyzer.ts # 安全分析
│ ├── scrapers/ # 数据抓取引擎
│ │ ├── static-scraper.ts # 静态HTML数据抓取
│ │ ├── dynamic-scraper.ts # 动态内容数据抓取
│ │ └── api-scraper.ts # API端点发现
│ ├── utils/ # 辅助函数
│ │ ├── file-reader.ts
│ │ ├── formatters.ts
│ │ ├── validators.ts
│ │ └── linting-utils.ts
│ └── types/ # TypeScript类型定义
│ └── index.ts
├── dist/ # 编译后的JavaScript文件
├── package.json
├── tsconfig.json
└── README.md
🔧 开发
开发模式
npm run dev
构建项目
npm run build
测试
npm test
📝 示例使用场景
场景1:代码质量分析
在MCP客户端聊天界面:
分析src/**/*.ts文件的代码质量
显示最复杂的函数
检测代码异味
预期结果:
- 代码质量指标
- 复杂度分析
- 代码异味列表
- 重构建议
场景2:网页数据抓取
在MCP客户端聊天界面:
抓取https://example.com页面
提取页面上的所有链接
提取表格数据
预期结果:
- HTML内容
- 链接列表
- 表格数据
场景3:API发现
在MCP客户端聊天界面:
发现https://example.com页面上的API端点
分析网络请求
预期结果:
- API端点列表
- 请求/响应分析
- 认证信息
场景4:依赖清理
在MCP客户端聊天界面:
查找未使用的包
检查安全漏洞
提供更新建议
预期结果:
- 未使用的依赖项列表
- 安全漏洞报告
- 更新建议
🔐 安全
- 输入验证和清理
- URL验证
- 超时管理
- 错误处理
- 密钥检测
- SQL注入防护
📊 输出格式
- JSON - 结构化数据响应
- Markdown - 报告和文档
- CSV - 数据导出
- 文本 - 纯文本输出
🤝 贡献
- Fork项目
- 创建功能分支 (
git checkout -b feature/amazing-feature) - 提交更改 (
git commit -m 'Add amazing feature') - 推送分支 (
git push origin feature/amazing-feature) - 提交Pull Request
📄 许可证
本项目采用MIT许可证,详情请查看LICENSE文件。
🔗 MCP客户端支持
本MCP服务器与以下客户端兼容:
- ✅ Cursor IDE - 完全支持
- ✅ Claude Desktop - 完全支持
- ✅ Anthropic API - 通过MCP协议
- ✅ 其他MCP客户端 - 支持标准MCP协议的所有客户端
🙏 致谢
- Model Context Protocol - 提供MCP标准
- Cursor - 提供MCP支持
- Claude - 提供MCP支持
📞 联系我们
如果您有任何问题或建议,请创建issue。
⭐ 如果您喜欢这个项目,请不要忘记给它加星!
微信扫一扫