返回 MCP 目录
public公开dns本地运行

development-tools-mcp-server

这是一个用于代码分析和网页抓取的MCP服务器,支持代码质量检查、依赖分析、静态/动态网页抓取和API发现,为AI助手提供开发工具。

article

README

🚀 MCP开发工具服务器

本项目是一个全面的MCP(模型上下文协议)服务器,用于代码分析和网页数据抓取。支持代码质量分析、代码检查、依赖分析、静态/动态网页数据抓取以及API发现等功能。

✨ 主要特性

  • 📊 代码质量分析:检测代码复杂度、可维护性和代码异味。
  • 🔍 代码检查与格式化:使用ESLint、Prettier和TypeScript进行代码检查。
  • 📦 依赖分析:找出未使用的依赖项、安全漏洞和过时的包。
  • 🔒 安全分析:检测硬编码的密钥和进行漏洞扫描。
  • 🌐 网页数据抓取:支持静态和动态内容抓取。
  • 🔎 API发现:发现API端点并进行网络分析。

📦 安装指南

要求

  • Node.js 18或更高版本
  • npm或yarn
  • TypeScript(开发依赖)

步骤

  1. 克隆仓库
git clone https://github.com/code-alchemist01/development-tools-mcp-Server.git
cd development-tools-mcp-Server
  1. 安装依赖
npm install
  1. 安装Playwright浏览器(用于动态抓取)
npx playwright install chromium
  1. 构建项目
npm run build
  1. 测试运行
npm start

MCP客户端安装

Cursor IDE

  1. 创建/编辑MCP配置文件
    • Windows
%APPDATA%\Cursor\User\globalStorage\mcp.json
- **macOS/Linux**:
~/.config/Cursor/User/globalStorage/mcp.json
  1. 配置文件内容
{
  "mcpServers": {
    "development-tools": {
      "command": "node",
      "args": [
        "C:\\Users\\YourUsername\\path\\to\\development-tools-mcp-Server\\dist\\index.js"
      ]
    }
  }
}

注意:请根据您的项目路径更新args中的路径。

  1. 重启Cursor 保存配置文件后,完全关闭并重新打开Cursor。

  2. 验证 在Cursor的设置 > 工具与MCP部分,“development-tools”应显示在列表中,并显示“42 tools enabled”。

Claude Desktop

  1. 创建/编辑MCP配置文件
    • Windows
%APPDATA%\Claude\claude_desktop_config.json
- **macOS**:
~/Library/Application Support/Claude/claude_desktop_config.json
- **Linux**:
~/.config/Claude/claude_desktop_config.json
  1. 配置文件内容
{
  "mcpServers": {
    "development-tools": {
      "command": "node",
      "args": [
        "/absolute/path/to/development-tools-mcp-Server/dist/index.js"
      ]
    }
  }
}
  1. 重启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 - 提取图像URL
  • extract_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 - 数据导出
  • 文本 - 纯文本输出

🤝 贡献

  1. Fork项目
  2. 创建功能分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m 'Add amazing feature')
  4. 推送分支 (git push origin feature/amazing-feature)
  5. 提交Pull Request

📄 许可证

本项目采用MIT许可证,详情请查看LICENSE文件。

🔗 MCP客户端支持

本MCP服务器与以下客户端兼容:

  • Cursor IDE - 完全支持
  • Claude Desktop - 完全支持
  • Anthropic API - 通过MCP协议
  • 其他MCP客户端 - 支持标准MCP协议的所有客户端

🙏 致谢

📞 联系我们

如果您有任何问题或建议,请创建issue。


⭐ 如果您喜欢这个项目,请不要忘记给它加星!

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端