# OCR MCP 服务输出失败原因分析
## 🔍 问题诊断
根据 MCP 日志分析,主要问题如下:
### 1. 命令不存在错误
```
spawn ocr-mcp-server ENOENT
```
**原因**:`ocr-mcp-server` 命令未找到
**根本原因**:
- 包未安装:`ocr-mcp-service` 包没有通过 `pip install -e .` 安装
- 系统环境限制:当前系统是外部管理的 Python 环境,不允许直接安装包
### 2. 依赖缺失
```
ModuleNotFoundError: No module named 'fastmcp'
```
**原因**:项目依赖(`fastmcp`)未安装
### 3. MCP 配置路径错误
`mcp_config.json` 中使用了 Windows 路径:
```json
"cwd": "C:\\Users\\Q\\Desktop\\Github\\ocr-mcp-service"
```
但当前系统是 Linux,路径应该是:
```
/home/qiao/Desktop/github-repos-manager/662.6/ocr-mcp-service
```
## ✅ 解决方案
### 方案 1:使用虚拟环境安装(推荐)
```bash
# 1. 创建虚拟环境
cd /home/qiao/Desktop/github-repos-manager/662.6/ocr-mcp-service
python3 -m venv venv
# 2. 激活虚拟环境
source venv/bin/activate
# 3. 安装包
pip install -e .
# 4. 安装 OCR 引擎(至少选择一个)
pip install -e ".[paddleocr]" # 推荐,中文优秀
# 或
pip install -e ".[easyocr]" # 多语言支持
# 5. 验证安装
which ocr-mcp-server
ocr-mcp-server --help
```
### 方案 2:使用 Python 模块方式(无需安装)
修改 Cursor MCP 配置(`~/.cursor/mcp.json`):
```json
{
"mcpServers": {
"ocr-service": {
"command": "python3",
"args": [
"-m",
"ocr_mcp_service"
],
"cwd": "/home/qiao/Desktop/github-repos-manager/662.6/ocr-mcp-service",
"env": {
"PYTHONPATH": "/home/qiao/Desktop/github-repos-manager/662.6/ocr-mcp-service/src"
}
}
}
}
```
**注意**:使用此方案需要先安装依赖:
```bash
# 在项目目录下创建虚拟环境并安装依赖
python3 -m venv venv
source venv/bin/activate
pip install fastmcp pillow
pip install -e ".[paddleocr]" # 或选择其他引擎
```
### 方案 3:使用 pipx 安装(系统级)
```bash
# 安装 pipx(如果未安装)
sudo apt install pipx # Ubuntu/Debian
# 或
brew install pipx # macOS
# 使用 pipx 安装
cd /home/qiao/Desktop/github-repos-manager/662.6/ocr-mcp-service
pipx install -e .
# 验证
ocr-mcp-server --help
```
## 🔧 配置更新
### 更新 MCP 配置脚本
`config_manager.py` 中的 `get_ocr_service_config()` 函数需要根据环境选择正确的命令:
**当前配置**(需要包已安装):
```python
{
"command": "ocr-mcp-server",
"args": []
}
```
**备用配置**(无需安装包):
```python
{
"command": "python3",
"args": ["-m", "ocr_mcp_service"],
"cwd": "/home/qiao/Desktop/github-repos-manager/662.6/ocr-mcp-service",
"env": {
"PYTHONPATH": "/home/qiao/Desktop/github-repos-manager/662.6/ocr-mcp-service/src"
}
}
```
## 📋 验证步骤
1. **检查命令是否存在**:
```bash
which ocr-mcp-server
```
2. **检查模块是否可导入**:
```bash
python3 -c "import sys; sys.path.insert(0, 'src'); from ocr_mcp_service.__main__ import main; print('OK')"
```
3. **检查 MCP 配置**:
```bash
python3 scripts/check_mcp_config.py
```
4. **测试服务器启动**:
```bash
ocr-mcp-server
# 或
python3 -m ocr_mcp_service
```
## 🎯 推荐操作流程
1. **创建虚拟环境**(如果还没有)
2. **安装包和依赖**
3. **更新 Cursor MCP 配置**
4. **重启 Cursor**
5. **验证工具是否可用**
## ⚠️ 注意事项
- 如果使用虚拟环境,需要确保 Cursor 能够访问虚拟环境中的 Python 和命令
- 如果使用系统 Python,可能需要使用 `--break-system-packages` 标志(不推荐)
- MCP 配置中的路径必须是绝对路径
- 配置更改后需要完全重启 Cursor