3D打印库存管理服务

一个为AI助手提供对自托管Print Vault实例完全访问的MCP服务器,用于管理3D打印库存、线材、打印机、项目和打印跟踪。

  • by BrandonDoster
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 BrandonDoster/PrintVault_MCP

使用说明

打印保险库MCP服务器

一 主控程序 允许AI助手完全访问自托管服务器的服务器 打印保险库 实例——3D打印库存、耗材、打印机、项目和打印跟踪器管理应用程序。

专为Claude Desktop、Claude Code和任何兼容MCP的客户端而构建。


快速开始

先决条件

  • 紫外线 (Python包管理器)
  • 正在运行的Print Vault实例(v1.1.0+)

安装并运行

# Clone the repo
git clone https://github.com/your-org/PrintVaultMCP.git
cd PrintVaultMCP

# Copy and configure environment
cp .env.example .env
# Edit .env and set PRINT_VAULT_URL to your instance

# Run the server
uv run print-vault-mcp

添加到克劳德桌面

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "print-vault": {
      "command": "uv",
      "args": ["--directory", "/path/to/PrintVaultMCP", "run", "print-vault-mcp"],
      "env": {
        "PRINT_VAULT_URL": "http://192.168.1.100:8000"
      }
    }
  }
}

添加到克劳德代码

claude mcp add print-vault \
  --command "uv --directory /path/to/PrintVaultMCP run print-vault-mcp" \
  --env PRINT_VAULT_URL=http://192.168.1.100:8000

配置

变量 必填 默认 描述
PRINT_VAULT_URL 是 -- 您的Print Vault实例的基本URL
PRINT_VAULT_TIMEOUT 没有 30 HTTP请求超时(秒)

工具

40个工具分为7组:

仪表板和系统

工具 说明
get_dashboard 完整状态概述——警报、统计数据、特色跟踪器、活动项目
get_version 当前打印保险库版本
dismiss_alert 取消特定仪表板警报

库存管理

工具 说明
search_inventory 按关键字、品牌、零件类型或位置搜索项目
get_inventory_item 特定项目的全部细节
add_inventory_item 添加新项目(自动创建品牌、地点等)
update_inventory_item 更新现有项目上的任何字段
get_low_stock 列出所有达到或低于阈值的消耗品
get_item_allocation 查看哪些项目正在使用某个项目

长丝管理

工具 说明
list_materials 浏览材料蓝图和通用类型
create_material 创建通用材料类型或特定蓝图
get_material_spools 列出物料蓝图的物理线轴
list_spools 使用状态/打印机/滤色器浏览线轴
add_filament_spool 添加链接到材质蓝图的新线轴
quick_add_spool 快速添加没有蓝图的线轴(独立字段)
update_spool_weight 更新当前重量(自动更新状态)
mark_spool_empty 将滑阀标记为空
open_spool 从未打开的批次中打开卷轴
archive_spools 批量存档空线轴
toggle_material_favorite 在材质上切换收藏夹(最多5个)

打印机管理

工具 说明
list_printers 列出具有搜索和状态过滤器的打印机
get_printer 完整细节,包括模组和灯丝
update_printer 更新状态、注释等。
add_mod 为打印机添加模块/升级
update_mod 更新mod状态

项目管理

工具 说明
list_projects 列出具有搜索和状态筛选器的项目
get_project 包含BOM、库存、打印机、跟踪器的完整细节
create_project 创建新项目
update_project 更新项目字段
add_bom_item 添加BOM行项目(自动储备链接库存)
get_shopping_list 所有活动项目的合并采购清单
link_printer_to_project 将打印机与项目关联

打印跟踪器

工具 说明
list_trackers 列出所有打印跟踪器
get_tracker 完整的跟踪器详细信息,包括文件列表和进度
create_tracker_from_github 在GitHub仓库中抓取可打印文件
update_file_status 更新跟踪器文件的打印状态

参考数据

工具 说明
list_brands 所有品牌/制造商
list_locations 所有存储位置
list_part_types 所有零件类型类别
list_vendors 所有供应商/供货商

项目结构

PrintVaultMCP/
├── src/print_vault_mcp/
│   ├── __init__.py          # Package entry point
│   ├── __main__.py          # python -m support
│   ├── client.py            # Async HTTP client for Print Vault API
│   ├── formatters.py        # AI-friendly response formatters
│   └── server.py            # MCP server & tool definitions
├── docs/
│   ├── design.md            # Architecture & design document
│   └── reference/           # API contract references (links to upstream source)
├── .env.example             # Environment variable template
├── .gitignore
├── pyproject.toml           # uv/pip package configuration
└── README.md

发展

# Install dependencies
uv sync

# Run the server locally (stdio mode)
PRINT_VAULT_URL=http://localhost:8000 uv run print-vault-mcp

# Run with the MCP inspector for debugging
npx @modelcontextprotocol/inspector uv run print-vault-mcp

运作原理

服务器是一个无状态协议转换层。它通过MCP(stdio传输)接收来自AI客户端的结构化工具调用,将其转换为针对Print Vault REST API的HTTP请求,并返回AI可以推理的格式化文本响应。

AI Client  ──MCP (stdio)──>  PrintVaultMCP  ──HTTP/JSON──>  Print Vault

打印保险库使用 AllowAny 每个端点(单用户自托管应用程序)的权限,因此MCP服务器只需要基本URL,不需要令牌或凭据。


许可证

AGPL-3.0 --与相同的许可证系列 打印保险库 本身。