--- title: '开发环境搭建' description: '学习如何为 MCPHub 搭建开发环境' --- # 开发环境搭建 本指南将帮助您搭建 MCPHub 的开发环境,为项目贡献代码。 ## 先决条件 在开始之前,请确保您已安装以下软件: - **Node.js**(版本 18 或更高) - **pnpm**(推荐的包管理器) - **Git** - **Docker**(可选,用于容器化开发) ## 搭建开发环境 ### 1. 克隆仓库 ```bash git clone https://github.com/your-username/mcphub.git cd mcphub ``` ### 2. 安装依赖 ```bash pnpm install ``` ### 3. 环境配置 在根目录创建 `.env` 文件: ```bash cp .env.example .env ``` 配置以下环境变量: ```env # 服务器配置 PORT=3000 NODE_ENV=development # 数据库配置 DATABASE_URL=postgresql://username:password@localhost:5432/mcphub # JWT 配置 JWT_SECRET=your-secret-key JWT_EXPIRES_IN=24h # OpenAI 配置(用于智能路由) OPENAI_API_KEY=your-openai-api-key ``` ### 4. 数据库设置 如果使用 PostgreSQL,创建数据库: ```bash createdb mcphub ``` ### 5. MCP 服务器配置 创建或修改 `mcp_settings.json`: ```json { "mcpServers": { "fetch": { "command": "uvx", "args": ["mcp-server-fetch"] }, "playwright": { "command": "npx", "args": ["@playwright/mcp@latest", "--headless"] } } } ``` ## 开发工作流 ### 运行开发服务器 同时启动后端和前端开发模式: ```bash pnpm dev ``` 这将启动: - 后端服务器:`http://localhost:3000` - 前端开发服务器:`http://localhost:5173` ### 仅运行后端 ```bash pnpm backend:dev ``` ### 仅运行前端 ```bash pnpm frontend:dev ``` ### 构建项目 构建后端和前端: ```bash pnpm build ``` ## 项目结构 ``` mcphub/ ├── src/ # 后端源代码 │ ├── controllers/ # Express 控制器 │ ├── routes/ # API 路由 │ ├── services/ # 业务逻辑 │ ├── models/ # 数据库模型 │ └── utils/ # 工具函数 ├── frontend/ # 前端 React 应用 │ ├── src/ │ │ ├── components/ # React 组件 │ │ ├── pages/ # 页面组件 │ │ ├── services/ # API 服务 │ │ └── utils/ # 前端工具 ├── docs/ # 文档 ├── bin/ # CLI 脚本 └── scripts/ # 构建和工具脚本 ``` ## 开发工具 ### 代码检查和格式化 ```bash # 运行 ESLint pnpm lint # 使用 Prettier 格式化代码 pnpm format ``` ### 测试 ```bash # 运行测试 pnpm test # 监视模式运行测试 pnpm test --watch ``` ### 调试 使用 Node.js 检查器调试后端: ```bash pnpm backend:debug ``` 然后将调试器连接到 `http://localhost:9229`。 ## 进行修改 ### 后端开发 1. **控制器**:处理 HTTP 请求和响应 2. **服务**:实现业务逻辑 3. **模型**:定义数据库架构 4. **路由**:定义 API 端点 ### 前端开发 1. **组件**:可重用的 React 组件 2. **页面**:特定路由的组件 3. **服务**:API 通信 4. **钩子**:自定义 React 钩子 ### 添加新的 MCP 服务器 1. 使用新的服务器配置更新 `mcp_settings.json` 2. 测试服务器集成 3. 必要时更新文档 ## 常见开发任务 ### 添加新的 API 端点 1. 在 `src/controllers/` 中创建控制器 2. 在 `src/routes/` 中定义路由 3. 添加必要的中间件 4. 为新端点编写测试 ### 添加新的前端功能 1. 在 `frontend/src/components/` 中创建组件 2. 根据需要添加路由 3. 实现 API 集成 4. 使用 Tailwind CSS 进行样式设计 ### 数据库迁移 修改数据库架构时: 1. 更新 `src/models/` 中的模型 2. 如果使用 TypeORM,创建迁移脚本 3. 在本地测试迁移 ## 故障排除 ### 常见问题 **端口冲突**:确保端口 3000 和 5173 可用 **数据库连接**:验证 PostgreSQL 正在运行且凭据正确 **MCP 服务器启动**:检查 `mcp_settings.json` 中的服务器配置 **权限问题**:确保 MCP 服务器具有必要的权限 ### 获取帮助 - 查看[贡献指南](/zh/development/contributing) - 阅读[架构文档](/zh/development/architecture) - 在 GitHub 上提交问题报告 bug - 加入我们的社区讨论 ## 下一步 - 阅读[架构概述](/zh/development/architecture) - 了解[贡献指南](/zh/development/contributing) - 探索[配置选项](/zh/configuration/environment-variables)