crawl-page-mcp-server
Version:
MCP server for crawling web pages and converting to markdown
287 lines (209 loc) • 5.87 kB
Markdown
# 使用 MCP Inspector 调试
MCP Inspector 是官方提供的可视化调试工具,提供了比命令行更友好的调试界面。
## 安装和启动
### 1. 确保项目已构建
```bash
npm run build
```
### 2. 启动 MCP Inspector
```bash
npx @modelcontextprotocol/inspector
```
### 3. 在浏览器中打开
Inspector 会自动在浏览器中打开调试界面,通常是 `http://localhost:5173`
## 配置服务器
### 方法1:使用配置文件
1. 在 Inspector 界面中点击 "Add Server"
2. 选择 "From Config File"
3. 选择项目根目录下的 `inspector-config.json` 文件
### 方法2:手动配置
在 Inspector 界面中手动添加服务器:
**服务器名称:** `crawl-page`
**命令配置:**
- **Command:** `node`
- **Args:** `["./dist/index.js"]`
- **Working Directory:** `/Users/longmo/code/crawl-page-mcp-server`
- **Environment Variables:** `{"DEBUG": "true"}`
### 方法3:使用 npx 版本
如果项目已发布到 npm:
**命令配置:**
- **Command:** `npx`
- **Args:** `["crawl-page-mcp-server"]`
- **Environment Variables:** `{"DEBUG": "true"}`
## 使用 Inspector 调试
### 1. 连接服务器
1. 在 Inspector 界面中找到 `crawl-page` 服务器
2. 点击 "Connect" 按钮
3. 等待连接成功(状态变为绿色)
### 2. 查看工具列表
连接成功后,Inspector 会自动显示:
- 可用工具列表(crawl_page, extract_links)
- 每个工具的详细参数说明
- 输入输出格式定义
### 3. 测试工具功能
#### 测试 crawl_page 工具
1. 在左侧工具列表中选择 `crawl_page`
2. 在右侧参数面板中输入:
```json
{
"url": "https://httpbin.org/html",
"format": "markdown"
}
```
3. 点击 "Call Tool" 按钮
4. 查看右侧的响应结果
#### 测试 extract_links 工具
1. 选择 `extract_links` 工具
2. 输入参数:
```json
{
"url": "https://httpbin.org/links/5"
}
```
3. 执行并查看结果
### 4. 实时日志查看
Inspector 提供实时日志功能:
- 在 "Logs" 标签页中查看服务器日志
- 可以看到详细的调试信息(如果启用了 DEBUG=true)
- 包括请求/响应的完整信息
### 5. 错误调试
当工具调用失败时:
1. 查看 "Logs" 标签页中的错误信息
2. 检查参数格式是否正确
3. 验证网络连接和URL有效性
## 高级调试功能
### 1. 参数验证
Inspector 会自动验证输入参数:
- 必需参数检查
- 数据类型验证
- 枚举值验证
### 2. 响应格式化
Inspector 自动格式化响应内容:
- JSON 语法高亮
- 可折叠的对象结构
- 错误信息突出显示
### 3. 历史记录
Inspector 保存调用历史:
- 查看之前的工具调用
- 重复执行相同的调用
- 比较不同参数的结果
## 常见调试场景
### 1. 测试不同的URL
```json
// 测试简单HTML页面
{
"url": "https://httpbin.org/html",
"format": "markdown"
}
// 测试新闻网站
{
"url": "https://news.ycombinator.com",
"format": "text",
"selector": ".storylink"
}
// 测试超时处理
{
"url": "https://httpbin.org/delay/5",
"timeout": 3000
}
```
### 2. 测试CSS选择器
```json
// 测试不同的选择器
{
"url": "https://httpbin.org/html",
"format": "markdown",
"selector": "h1"
}
{
"url": "https://httpbin.org/html",
"format": "text",
"selector": "p"
}
```
### 3. 测试链接提取
```json
// 基本链接提取
{
"url": "https://httpbin.org/links/10"
}
// 使用过滤模式
{
"url": "https://httpbin.org/links/10",
"filterPattern": ".*\\/links\\/.*"
}
```
## 性能监控
Inspector 提供性能监控功能:
- 工具调用耗时统计
- 内存使用情况
- 网络请求时间分析
## 故障排除
### 1. 连接失败
如果无法连接到服务器:
1. 检查项目是否已构建:`npm run build`
2. 验证配置文件路径是否正确
3. 查看 Inspector 控制台错误信息
### 2. 工具调用失败
如果工具调用失败:
1. 检查参数格式是否正确
2. 查看服务器日志中的错误信息
3. 验证网络连接和URL有效性
### 3. 响应异常
如果响应内容异常:
1. 检查目标网站是否可访问
2. 验证CSS选择器是否有效
3. 尝试不同的User-Agent设置
## 与其他调试工具对比
| 功能 | MCP Inspector | 自定义调试器 | VS Code调试 |
|------|---------------|--------------|-------------|
| 可视化界面 | ✅ | ❌ | ✅ |
| 实时日志 | ✅ | ✅ | ✅ |
| 参数验证 | ✅ | ❌ | ❌ |
| 历史记录 | ✅ | ❌ | ❌ |
| 响应格式化 | ✅ | ❌ | ❌ |
| 断点调试 | ❌ | ❌ | ✅ |
| 性能监控 | ✅ | ❌ | ✅ |
## 最佳实践
### 1. 开发流程
1. 使用 Inspector 进行功能测试
2. 使用 VS Code 调试器进行代码调试
3. 使用自定义调试器进行批量测试
### 2. 调试策略
1. 先用简单的URL测试基本功能
2. 逐步增加复杂度(CSS选择器、超时等)
3. 测试边界情况和错误处理
### 3. 问题定位
1. 使用 Inspector 确认问题现象
2. 查看详细日志定位问题原因
3. 使用断点调试深入分析代码
## 扩展功能
### 1. 自定义配置
可以创建多个配置文件用于不同的测试场景:
```bash
# 开发环境配置
inspector-dev.json
# 生产环境配置
inspector-prod.json
# 测试环境配置
inspector-test.json
```
### 2. 批量测试
结合 Inspector 和脚本进行批量测试:
```javascript
// 使用 Inspector API 进行自动化测试
const testCases = [
{ url: "https://example1.com", format: "markdown" },
{ url: "https://example2.com", format: "text" },
// ...
];
// 批量执行测试用例
```
### 3. 集成到CI/CD
将 Inspector 集成到持续集成流程中:
```yaml
# GitHub Actions 示例
- name: Test MCP Server
run: |
npm run build
npx @modelcontextprotocol/inspector --config inspector-config.json --test