mcphub / docs /zh /development /getting-started.mdx
wuran's picture
Upload folder using huggingface_hub
eb846d0 verified
---
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. 在本地测试迁移
## 故障排除
### 常见问题
**端口冲突**:确保端口 30005173 可用
**数据库连接**:验证 PostgreSQL 正在运行且凭据正确
**MCP 服务器启动**:检查 `mcp_settings.json` 中的服务器配置
**权限问题**:确保 MCP 服务器具有必要的权限
### 获取帮助
- 查看[贡献指南](/zh/development/contributing)
- 阅读[架构文档](/zh/development/architecture)
- 在 GitHub 上提交问题报告 bug
- 加入我们的社区讨论
## 下一步
- 阅读[架构概述](/zh/development/architecture)
- 了解[贡献指南](/zh/development/contributing)
- 探索[配置选项](/zh/configuration/environment-variables)