奥丁印刷厂mcp
O.D.I.N.的模型上下文协议服务器——使用AI代理驱动实际的打印场,或独立运行捆绑的参考计算器。
第2版 (2026-04-15)将表面一分为二:
- 实时工具 (22)代理驱动的农场经营。需要一个正在运行的O.D.I.N.实例+一个作用域令牌。排队作业、暂停打印机、管理库存、清除警报、日志维护、读取仪表板。
- 参考工具 (4) --独立计算器。无需部署ODIN。打印成本数学、打印机建议、农场容量规划、软件比较。
两个surface都包含在同一个npm包中;调用时出现实时工具错误 ODIN_BASE_URL / ODIN_API_KEY 没有设置,因此参考工具可以继续用于售前和研究用例。
______________________________________________________________________
快速开始
独立(仅供参考工具)
npx -y odin-print-farm-mcp@2连接到克劳德桌面(claude_desktop_config.json):
{
"mcpServers": {
"odin-reference": {
"command": "npx",
"args": ["-y", "odin-print-farm-mcp@2"]
}
}
}代理现在可以使用 reference.calculate_print_cost, reference.recommend_printer_for_farm, reference.estimate_farm_capacity, reference.compare_farm_software.
带电(连接到O.D.I.N.)
- 以O.D.I.N铸造API代币(设置→ API令牌→ 新令牌)有范围
agent:read或agent:write. - 导出env变量并连接客户端:
{
"mcpServers": {
"odin": {
"command": "npx",
"args": ["-y", "odin-print-farm-mcp@2"],
"env": {
"ODIN_BASE_URL": "http://192.168.1.100:8000",
"ODIN_API_KEY": "odin_xxxxxxxxxxxxxxxxxxxx"
}
}
}
}所有26个工具现在都可用。
______________________________________________________________________
工具
实时读取(范围 agent:read 或更高)
| 工具 | 目的 |
|---|---|
farm_summary | 一键式仪表板:按状态、队列深度、未读警报、活动作业统计打印机数量。先称之为定向。 |
list_printers | 车队列表,可选状态过滤器。 |
get_printer | 一台打印机的完整状态+遥测+AMS+活动作业。 |
list_jobs | 按状态筛选(待定/打印/完成/失败/取消)。 |
get_job | 完整的工作记录。 |
list_queue | 按优先级顺序排列的待处理作业。 |
list_alerts | 按严重性+读取状态过滤。 |
list_spools | 按灯丝类型/可用性过滤。 |
list_filaments | 灯丝库。 |
list_maintenance_tasks | 可选的仅逾期过滤器。 |
list_orders | 按状态列出的客户订单。 |
实时写入(范围 agent:write 或管理员)
每个写入工具都接受可选 dry_run 和 idempotency_key.
| 工具 | 目的 |
|---|---|
queue_job | 添加作业。 |
cancel_job | 取消作业。需要对某些端点进行推理。 |
approve_job | 批准提交的作业。 |
reject_job | 拒绝工作(需要说明原因)。 |
pause_printer | 暂停当前打印 |
resume_printer | 恢复暂停的打印机。 |
mark_alert_read / dismiss_alert | 通知客房部。 |
assign_spool | 捆绑线轴→ 打印机AMS插槽。 |
consume_spool | 使用对数克。 |
complete_maintenance | 记录任务完成情况。 |
参考(无后端)
| 工具 | 目的 |
|---|---|
reference.calculate_print_cost | 材料+电力+折旧+故障率数学。 |
reference.recommend_printer_for_farm | 将打印机与农场限制相匹配。 |
reference.estimate_farm_capacity | 吞吐量预测。 |
reference.compare_farm_software | 特征矩阵与OctoFarm、Mainsail、Duet等。 |
______________________________________________________________________
Agent原语
活动表面继承了O.D.I.N.v1.8.9后端的四个重试安全原语:
识别密钥。 每个写入工具每次调用都会自动生成一个UUID密钥;通过马厩 idempotency_key 通过重试来消除重复。回放时,响应返回 _idempotent_replay: true.
X-Dry-Run。 通过 dry_run: true 任何书写工具。后端返回 {dry_run: true, would_execute: {...}} 没有承诺。每条路线选择加入——在后续版本中,每条路线都会预览分支。
结构性错误。 失败返回 error: {code, detail, retriable} 信封。稳定代码代理可以在以下方面进行分支:
| 代码 | 含义 |
|---|---|
printer_not_found / job_not_found / spool_not_found / alert_not_found | 资源丢失。 |
scope_denied | 令牌范围不足。铸造更广泛的代币。 |
permission_denied | 基于角色的拒绝(角色,而非范围)。 |
quota_exceeded | 使用配额已命中。 extra.used_grams / extra.limit_grams. |
idempotency_conflict | 相同的按键+不同的机身。使用新密钥。 |
idempotency_in_progress | 飞行中并发重试。请稍后重试。 |
idempotency_authz_changed | 自首次调用以来,角色/范围已更改。铸造一把新钥匙。 |
idempotency_uncacheable_success | 原始成功,但无法缓存。铸造一把新钥匙。 |
idempotency_unsupported | 多部分或超大机身——使用应用程序级dedup。 |
itar_outbound_blocked | ODIN_ITAR_MODE=1拒绝了公共目的地。 |
rate_limited | retriable: true. |
validation_failed | 输入架构错误。 |
next_actions提示。 撰写回复包括 next_actions: [{tool, args?, reason?}] 建议后续电话。纯粹的暗示,没有强制执行。专为7B-32B本地型号设计。
______________________________________________________________________
ITAR/CMMC部署
O.D.I.N.船只 ODIN_ITAR_MODE=1 用于故障闭合气隙部署。典型堆栈:
Ollama (Qwen2.5-32B or similar)
│
▼
MCP client (Claude Desktop / OpenClaw / etc.)
│ stdio
▼
odin-print-farm-mcp@2 ── ODIN_BASE_URL=http://localhost:8000
│ HTTP
▼
O.D.I.N. backend ── ODIN_ITAR_MODE=1
│ LAN
▼
Printers (LAN-only)零出站数据包。所有令牌、提示和遥测都保持在合规性边界内。请参阅 ITAR/CMMC模式文档.
______________________________________________________________________
从v1迁移
v2.0.1将四个v1工具重命名为 reference.* 命名空间:
| v1 | v2 |
|---|---|
calculate_print_cost | reference.calculate_print_cost |
recommend_printer_for_farm | reference.recommend_printer_for_farm |
estimate_farm_capacity | reference.estimate_farm_capacity |
compare_farm_software | reference.compare_farm_software |
每个工具的行为都没有改变,只有标识符没有改变。针 odin-print-farm-mcp@1 如果你需要无命名空间的ID。升级到 @2 访问22个实时工具和命名空间参考计算器。
______________________________________________________________________
技能包
这 skills/ 目录为Claude Code、OpenClaw、Cline和其他MCP客户端提供了操作员就绪的提示包。 odin-farm/SKILL.md 是“安全农场运营商”的基本规则手册——首先进行模拟运行,根据错误代码进行分支,从不取消批量生产。把它放进去 ~/.claude/skills/ (Claude Code)或您客户的技能目录,本地32B型号将停止在未经确认的情况下尝试取消作业。
看 skills/README.md 用于安装+定制。
______________________________________________________________________
发展
git clone https://github.com/HughKantsime/odin-mcp
cd odin-mcp
npm install
npm run build
npm test # 22 integration tests against an in-process mock ODIN测试使用节点本机http模拟服务器(test/mock_server.ts)--无需外部夹具,无需ODIN实例,运行时间约为1秒。
______________________________________________________________________
链接
- O.D.I.N。 --与此对话的后端
- runsodin.com上的MCP文档
- 模型上下文协议规范
许可证
Apache 2.0。
