ollama-mcp-workers
Provides vision and document processing tools powered by local Ollama models, enabling image analysis, screenshot capture, requirement extraction, test case generation, and requirement decomposition.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ollama-mcp-workersExtract requirements from the PRD and generate test cases"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ollama-mcp-workers
基于 Ollama 的本地混合分层 MCP Worker 套件:Vision Worker(qwen2.5vl:7b)负责图像理解,Document Worker(qwen3:4b)负责文档工程任务,由云端主脑(如 DeepSeek)统一调度。
核心理念:云端强模型负责思考与终审,本地模型负责廉价批量执行,MCP 负责能力接入。任务落到最合适的执行节点,而不是"什么模型强就全用它"。
本项目不仅是可运行的代码,更是一套完整的工程方法论记录——完整开发过程见 docs/DEVELOPMENT_RECORD.md。
架构
Codex(编排层)── DeepSeek 主脑(思考 / 决策 / 终审)
│
├── 原生能力:PDF、文件读写、搜索、Git(不重复造轮子)
│
├── Vision Worker(MCP)── qwen2.5vl:7b(Ollama)
│ ├── analyze_image 单图分析
│ ├── analyze_image_detailed 大图自动分区识别
│ ├── analyze_clipboard 剪贴板直达(免路径)
│ ├── analyze_latest_screenshot 最新截图直达
│ ├── capture_screen 整屏捕获
│ └── get_status 状态查询
│
├── Document Worker(MCP)── qwen3:4b(Ollama)
│ ├── extract_requirements 需求提取(L1 全本地)
│ ├── generate_test_cases 测试用例生成(L1)
│ ├── decompose_requirements 需求分解(L2:本地生成 + 云端审核)
│ └── get_status 状态查询
│
└── 资源调度:unload_after_task 参数 + AGENTS.md 约定(共享 6GB 显存)Related MCP server: vision-mcp
特性
🖼️ Vision Worker:单图分析、大图自动分区识别、剪贴板 / 最新截图 / 整屏直达,无需手动保存文件或输入路径;
📄 Document Worker:需求提取、需求分解、测试用例生成,输出强制 JSON schema,长文档自动分块合并;
🔌 MCP 标准协议:跨客户端接入(Codex / Trae / Claude Code / VSCode Copilot / Cursor),配置模板见 config/;
📁 数据本地化:图像与文档分析全部在本地完成,隐私可控;
⚙️ 显存生命周期管理:两个 Worker 共用一块 6GB 显存,
unload_after_task参数由主代理按次决定模型驻留 / 卸载;🧪 可复跑的验证体系:冒烟测试、基准脚本、fixtures 与基准产物一应俱全,不依赖任何客户端即可验证链路。
前置要求
Windows / Linux / macOS(本机验证环境:Windows + Python 3.12)
Python 3.10+
Ollama(本机验证版本 0.32.3)
GPU 建议 ≥ 6GB 显存(两个模型可独立驻留;不满足时 Worker 会自动退化为 CPU 推理,速度明显下降)
快速开始
1. 安装依赖
pip install -r requirements.txt注:
fastmcp==0.1.0为本项目验证过的版本(旧版 API:@mcp.tool()+mcp.run())。升级 fastmcp 大版本前请先跑冒烟测试确认兼容。
2. 拉取模型
ollama pull qwen2.5vl:7b # Vision Worker
ollama pull qwen3:4b # Document Worker3. 配置环境变量(可选)
复制 .env.example 为 .env 并按需修改。默认配置即可在本机运行:
OLLAMA_HOST=http://127.0.0.1:11434
VISION_MODEL=qwen2.5vl:7b
DOC_MODEL=qwen3:4b4. 验证链路(不依赖任何客户端)
# 查看两个 Worker 的工具列表
python scripts/mcp_client.py --server run.py --list
python scripts/mcp_client.py --server doc_worker.py --list
# 完整冒烟测试(会真实调用本地模型)
python scripts/smoke_test.py # 视觉链路
python scripts/mcp_smoke.py # 文档链路5. 接入客户端
各平台(Codex / Trae / Claude Code / VSCode Copilot / Cursor)的可拷贝配置与实测状态见 config/README.md。
以 Codex 为例,把 config/codex.toml 中的配置追加到 ~/.codex/config.toml(替换 <python> 与 <项目根目录> 占位符),重启 Codex,对话中输入 /mcp 确认两个服务器已连接。
工具一览
Vision Worker(run.py)
工具 | 说明 |
| 分析本地图片文件 |
| 大图 / 密集图自动分区识别(空白投影 + 自适应网格 + 重叠) |
| 分析剪贴板图片;无图时可按参数回退最新截图或整屏 |
| 自动定位并分析最新截图 |
| 截取整屏并立即分析 |
| 服务器与 Ollama 状态 |
所有分析工具均接受 unload_after_task 参数(默认 true)。
Document Worker(doc_worker.py)
工具 | 层级 | 说明 |
| L1 | 从 PRD 提取功能 / 非功能需求,纯提取不做推测 |
| L1 | 生成测试用例(正常 / 边界 / 异常),支持按需求定向生成 |
| L2 | 需求分解为可开发可验收的结构化条目,供云端主脑审核 |
| 诊断 | 模型与 Ollama 状态 |
output_format 支持 json / markdown / table。
三层使用模式
层 | 模式 | 适用 |
L1 | 全本地(不消耗云端 token) | 需求提取、测试用例生成 |
L2 | 本地生成 + DeepSeek 审核 | 需求分解(审核协议:只返回 issues + required_repairs) |
L3 | 直接交给云端 | HTML+SVG 长文创作、复杂设计、跨模块推理(4B 已实测不适合) |
使用规则:
传文件路径,不传正文——Worker 自己读文件,主代理只收浓缩结果;
结果必审——L1 快速扫一眼,L2 按审核协议执行;
超时预期:单文档单任务 12~77s(8K 上下文纯 GPU),长文档线性变慢;
Worker 内置空结果自动重试,仍失败时主代理重试或改全云端。
显存调度约定
两个 Worker 共用一块 6GB 显存,切换模型需要先释放再加载。调用工具时按场景传 unload_after_task:
预计连续调用同一个 Worker:
unload_after_task=false,保持模型驻留;本次调用后切换 Worker 或长时间不用:
unload_after_task=true(默认值)。
Ollama 自身 keep_alive(默认 5 分钟)负责"长时间空闲"的兜底释放。详见 AGENTS.md。
基准结论(qwen3:4b 首轮)
三份模拟 PRD 的 A(提取)/ B(分解)/ C(测试用例)三任务全部 Schema 合法;真实长文档(3~4 块分块合并)无内容丢失。能力边界明确:
✅ 结构化提取、需求分解(需审核)、测试用例生成(最强项);
❌ 长篇 HTML+SVG 技术创作(规划泄漏、长文截断)。
详细数据与方法见 docs/doc-worker-benchmark.md。
项目结构
├── run.py # Vision Worker MCP 入口
├── doc_worker.py # Document Worker MCP 入口
├── src/
│ ├── vision_tiler.py # 大图自动分区识别
│ └── model_lifecycle.py # Ollama 模型优雅卸载
├── config/ # 各平台 MCP 配置模板(含实测标注)
├── docs/
│ ├── DEVELOPMENT_RECORD.md # 完整开发过程记录(重点)
│ ├── roadmap.md # 早期路线图与选型过程
│ ├── doc-worker-usage.md # Document Worker 使用指南
│ └── doc-worker-benchmark.md
├── scripts/ # 冒烟测试 / 基准 / 通用 MCP 客户端
└── tests/
├── fixtures/ # 模拟 PRD 与任务输入
└── bench_outputs/ # 基准产物(合成数据)相关文档
开发过程记录——需求缘起、设计演进、关键决策、踩坑与方法论
许可证
MIT License
This server cannot be deployed
Maintenance
Related MCP Connectors
OCR, transcription, file extraction, and image generation for AI agents via MCP.
MCP-Native LLM Orchestration Agent
Work management where AI agents are first-class members: tasks, projects, memory over hosted MCP
LLM Orchestration Agent (Mcp)
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceEnables a fully local multi-agent AI system with 45 specialized agents and 50 predefined workflows via MCP, powered by Ollama and requiring no internet.1-
- AlicenseNot gradedqualityDmaintenanceEnables AI-powered vision analysis using local Ollama models. Supports screenshot analysis, OCR, text detection, and health monitoring via MCP protocol.13 npm3MIT
- AlicenseNot gradedqualityDmaintenanceLocal MCP server that provides multi-modal vision capabilities to single-modal base models via API, supporting multi-turn iterative image recognition and document image parsing.2 npmApache 2.0
- AlicenseNot gradedqualityCmaintenanceAdds image recognition and UI grounding capabilities to text-only LLMs through MCP tools, supporting local and cloud vision backends.13 npmMIT