打印保险库MCP服务器
专为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,不需要令牌或凭据。
______________________________________________________________________
