Files
mcphub/docs/zh/development/getting-started.mdx
2025-06-01 00:17:09 +08:00

245 lines
4.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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)