返回市场
全栈开发MCP服务器

全栈开发MCP服务器

作者:iamqasimali4 星标更新:2025-11-01

项目介绍

全栈开发用的MCP服务器

一套全面的模型上下文协议(MCP)服务器集合,旨在通过与Claude Desktop集成来加速您的开发工作流程。这些服务器使Claude能够与您的数据库、Git仓库、API、Docker容器以及开发工具进行交互。

许可证:MIT Node.js版本

🚀 特性

📦 可用服务器

  1. 文件系统服务器 - 文件操作和代码导航
  2. 数据库服务器 - PostgreSQL和MySQL管理
  3. Git服务器 - 仓库操作和历史分析
  4. API测试服务器 - REST API测试和验证
  5. 开发工具服务器 - Docker、日志和系统监控

📋 先决条件

  • Node.js v18或更高版本
  • Claude Desktop应用
  • Docker(可选,用于开发工具服务器)
  • PostgreSQL/MySQL(可选,用于数据库服务器)

🛠️ 安装

快速设置

# 克隆仓库
git clone https://github.com/yourusername/mcp-servers.git
cd mcp-s
npm install

# 运行安装脚本
chmod +x setup.sh
./setup.sh

手动设置

  1. 安装依赖项
npm install
  1. 配置Claude Desktop

创建或编辑:~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或%APPDATA%/Claude/claude_desktop_config.json(Windows)

{
  "mcpServers": {
    "filesystem": {
      "command": "node",
      "args": ["/绝对路径到server.js"]
    },
    "database": {
      "command": "node",
      "args": ["/绝对路径到database-server.js"],
      "env": {
        "PG_HOST": "localhost",
        "PG_PORT": "5432",
        "PG_DATABASE": "你的数据库",
        "PG_USER": "你的用户",
        "PG_PASSWORD": "你的密码"
      }
    },
    "git": {
      "command": "node",
      "args": ["/绝对路径到git-server.js"]
    },
    "api-testing": {
      "command": "node",
      "args": ["/绝对路径到api-testing-server.js"]
    },
    "devtools": {
      "command": "node",
      "args": ["/绝对路径到devtools-server.js"]
    }
  }
}
  1. 重启Claude Desktop

📖 服务器文档

1. 文件系统服务器

提供读取、写入和浏览代码库的文件系统操作。

可用工具:

  • read_file - 读取文件内容
  • write_file - 写入文件内容
  • list_directory - 列出目录内容

示例使用:

Claude: "读取src/App.js的内容"
Claude: "列出components目录中的所有文件"
Claude: "创建一个名为utils.js的新文件,包含辅助函数"

2. 数据库服务器

直接通过Claude管理PostgreSQL和MySQL数据库。

可用工具:

  • execute_query - 运行SQL查询
  • get_schema - 获取表模式
  • get_table_stats - 获取数据库统计信息
  • generate_migration - 创建迁移脚本

示例使用:

Claude: "显示我PostgreSQL数据库中的所有表"
Claude: "获取users表的模式"
Claude: "查询过去7天的所有订单"
Claude: "生成一个迁移脚本来添加email列到users表"

配置: 在你的Claude配置中设置这些环境变量:

  • PG_HOST, PG_PORT, PG_DATABASE, PG_USER, PG_PASSWORD(PostgreSQL)
  • MYSQL_HOST, MYSQL_PORT, MYSQL_DATABASE, MYSQL_USER, MYSQL_PASSWORD(MySQL)

3. Git服务器

与Git仓库交互以执行版本控制操作。

可用工具:

  • git_status - 获取仓库状态
  • git_log - 查看提交历史
  • git_diff - 显示差异
  • git_branches - 列出分支
  • generate_commit_message - 自动生成提交消息
  • git_blame - 显示逐行作者
  • git_search_commits - 搜索提交历史

示例使用:

Claude: "显示/path/to/my/project的git状态"
Claude: "获取最后20个提交及其作者"
Claude: "显示上次提交的更改"
Claude: "为我的暂存更改生成提交消息"
Claude: "谁最近修改了app.js的第50行"

4. API测试服务器

具有全面测试能力的REST API测试和验证。

可用工具:

  • http_request - 发送HTTP请求
  • test_endpoint - 运行测试场景
  • generate_test_cases - 自动生成测试案例
  • performance_test - 负载测试
  • validate_response - 架构验证

示例使用:

Claude: "测试我在http://localhost:3000/api/users上的API,使用GET请求"
Claude: "在我的健康检查端点上运行性能测试,50次请求"
Claude: "为我的/api/products POST端点生成测试案例"
Claude: "根据我的JSON架构验证此响应"

5. 开发工具服务器

管理Docker容器,监控日志,并运行开发工具。

可用工具:

  • docker_ps - 列出容器
  • docker_logs - 查看容器日志
  • docker_exec - 在容器中执行命令
  • docker_compose - 管理Docker Compose
  • docker_stats - 资源使用统计
  • run_command - 执行shell命令
  • monitor_logs - 尾随日志文件
  • check_ports - 检查端口使用情况
  • npm_scripts - 列出并运行npm脚本

示例使用:

Claude: "显示所有正在运行的Docker容器"
Claude: "获取'web'容器日志的最后100行"
Claude: "检查什么进程正在使用3000端口"
Claude: "列出/path/to/project中的所有npm脚本"
Claude: "重启我的docker-compose服务"

🎯 使用案例

对于全栈开发者

早晨例行公事:

Claude: "显示所有正在运行的Docker容器"
Claude: "获取我主要项目的git状态"
Claude: "显示数据库表统计信息"

调试:

Claude: "检查API容器日志的最后200行"
Claude: "显示John Doe的最近提交"
Claude: "查询过去一小时内的登录失败尝试"

API开发:

Claude: "测试我的新/api/auth端点"
Claude: "为用户注册生成测试案例"
Claude: "对搜索端点运行性能测试"

代码审查:

Claude: "显示最后3次提交的差异"
Claude: "谁最近修改了认证模块?"
Claude: "读取services目录下的所有TypeScript文件"

🔧 开发

测试单个服务器

# 测试文件系统服务器
node server.js

# 测试数据库服务器
node database-server.js

# 测试Git服务器
node git-server.js

# 测试API测试服务器
node api-testing-server.js

# 测试开发工具服务器
node devtools-server.js

添加自定义工具

每个服务器遵循相同的模式:

// 添加到ListToolsRequestSchema
{
  name: "your_tool_name",
  description: "工具描述",
  inputSchema: {
    type: "object",
    properties: {
      // 你的参数
    },
    required: ["param1"]
  }
}

// 添加到CallToolRequestSchema
case "your_tool_name": {
  // 你的实现
  return {
    content: [{
      type: "text",
      text: "结果"
    }]
  };
}

🤝 贡献

欢迎贡献!请按照以下步骤操作:

  1. 分叉仓库
  2. 创建功能分支(git checkout -b feature/amazing-feature
  3. 提交更改(git commit -m '添加惊人的功能'
  4. 推送到分支(git push origin feature/amazing-feature
  5. 打开拉取请求

🐛 故障排除

服务器无法连接

  1. 检查Node版本

    node --version  # 应该是v18或更高版本
    
  2. 手动验证服务器

    node server.js  # 应该输出:"服务器在stdio上运行"
    
  3. 检查Claude Desktop配置

    • 确保路径是绝对的
    • 验证Node.js路径是否正确
    • 检查是否有JSON语法错误
  4. 查看日志

    • 打开Claude Desktop开发者设置
    • 点击“打开日志文件夹”
    • 检查特定服务器的日志文件

常见错误

"SyntaxError: 不期望的标记"

  • 更新Node.js至v18或更高版本
  • 确保package.json中有"type": "module"

"无法找到模块"

  • 在项目目录中运行npm install
  • 检查所有依赖项是否已安装

"权限被拒绝"

  • 确保有执行权限:chmod +x setup.sh
  • 检查日志文件的文件系统权限

数据库连接失败

  • 验证配置中的数据库凭证
  • 确保数据库服务器正在运行
  • 检查网络连通性

📝 许可证

该项目采用MIT许可证 - 详情请参阅LICENSE文件。

🙏 致谢

📞 支持

🗺️ 发展路线图

  • 添加MongoDB支持
  • Redis集成
  • Kubernetes工具
  • AWS/云提供商集成
  • CI/CD流水线工具
  • Slack/Discord通知
  • 使用AI进行高级日志分析
  • 性能监控仪表板

由❤️为开发者社区制作

如果您觉得这有用,请⭐星标这个仓库!