打印MCP服务器
一个模型上下文协议(MCP)服务器,公开Printify API,使Manus等人工智能代理能够以编程方式与Printify的打印需求服务交互。
概述
该MCP服务器提供了AI代理和Printify API之间的桥梁,允许自动管理:
- 商店:查看互联商店
- 目录:浏览产品蓝图、打印提供商和变体
- 产品:创建、检索和发布产品
- 订单:提交和管理订单
- 上传:上传设计图片
特性
- ✅ 完整的Printify API v1集成
- ✅ 使用API令牌进行安全身份验证
- ✅ 全面的错误处理
- ✅ TypeScript实现
- ✅ 与MCP SDK 0.5.0兼容+
- ✅ 轻松部署到云平台
先决条件
- Node.js 18+或Node.js 20+
- 具有API访问权限的Printify帐户
- Printify API代币
安装
1.克隆或下载
git clone
cd printify-mcp-server2.安装依赖项
npm install3.配置环境
创建一个 .env 根目录中的文件:
cp .env.example .env编辑 .env 并添加您的Printify API令牌:
PRINTIFY_API_TOKEN=your_actual_token_here如何获取您的Printify API代币:
- 登录您的Printify帐户
- 引导到 我的资料 → 连接
- 生成新的个人访问令牌
- 复制令牌(只显示一次)
4.建设项目
npm run build用法
本地运行
发展:
npm run dev生产:
npm start连接到Manus
要将此MCP服务器与Manus一起使用,您需要在MCP设置中对其进行配置。服务器通过stdio(标准输入/输出)进行通信。
MCP配置示例:
{
"mcpServers": {
"printify": {
"command": "node",
"args": ["/path/to/printify-mcp-server/dist/index.js"],
"env": {
"PRINTIFY_API_TOKEN": "your_token_here"
}
}
}
}可用工具
MCP服务器公开了AI代理可以使用的以下工具:
商店
get_shops:检索与该帐户连接的所有商店
目录
get_blueprints:列出所有可用的产品蓝图(t恤、杯子等)get_blueprint:获取特定蓝图的详细信息get_print_providers:列出所有打印提供商get_blueprint_print_providers:获取特定蓝图的打印提供商get_blueprint_variants:从打印提供商处获取蓝图的变体(尺寸、颜色)
上传
upload_image:从URL或base64上传设计图像
产品
get_products:列出商店中的所有产品get_product:获取特定产品的详细信息create_product:创建具有设计和变体的新产品publish_product:将产品发布到销售渠道(Etsy、Shopify等)
订单
get_orders:列出带有可选筛选器的订单create_order:提交新订单
示例工作流
1.创建和发布T恤
User: "Create a t-shirt with my logo and list it on Etsy"
Agent workflow:
1. get_shops → Get shop_id
2. upload_image → Upload the logo design
3. get_blueprints → Find t-shirt blueprint_id
4. get_blueprint_print_providers → Choose a print provider
5. get_blueprint_variants → Select sizes and colors
6. create_product → Create the product with design placement
7. publish_product → Publish to Etsy2.提交订单
User: "Order 5 of product ABC123 and ship to John Doe"
Agent workflow:
1. get_shops → Get shop_id
2. create_order → Submit order with line items and shipping address部署
部署到不锈钢(或任何云平台)
此MCP服务器可以部署到支持Node.js应用程序的任何云平台。
一般步骤:
- 将代码推送到Git存储库
- 在宿主平台上配置环境变量
- 将启动命令设置为
npm start - 部署
特别是不锈钢:
- 遵循不锈钢部署文档
- 确保
PRINTIFY_API_TOKEN在环境变量中设置 - 服务器将通过stdio协议进行通信
环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
PRINTIFY_API_TOKEN | 是 | 您的Printify API个人访问令牌 |
API费率限制
请注意Printify的API费率限制:
- 全球限额:每分钟600个请求
- 目录端点:每分钟100个请求
- 产品发布:每30分钟200个请求
如果超过速率限制,MCP服务器将返回错误消息。
错误处理
服务器包括全面的错误处理:
- 捕获API错误并返回描述性消息
- 网络错误得到妥善处理
- 无效的工具调用返回有用的错误响应
发展
项目结构
printify-mcp-server/
├── src/
│ └── index.ts # Main server implementation
├── dist/ # Compiled JavaScript (generated)
├── package.json # Dependencies and scripts
├── tsconfig.json # TypeScript configuration
├── .env.example # Example environment variables
├── .gitignore
└── README.md建筑
npm run build观看模式
对于自动重建的开发:
npm run watch故障排除
“PRINIFY_API_TOKEN环境变量是必需的”
确保您已创建 .env 使用令牌创建文件,或在部署平台中设置环境变量。
速率限制错误(429)
您已超过Printify的API速率限制。请稍候,然后重试,或在代理逻辑中实现请求限制。
身份验证错误(401)
您的API令牌可能无效或已过期。根据您的Printify帐户设置生成新令牌。
安全考虑
- 永远不要承诺你的
.env文件 到版本控制 - 将API令牌安全地存储在环境变量中
- 部署到生产环境时使用HTTPS
- 定期轮换API令牌
- 将令牌范围限制为仅需要的范围
贡献
欢迎投稿!拜托:
- 分叉存储库
- 创建要素分支
- 进行更改
- 提交拉取请求
许可证
MIT许可证-有关详细信息,请参阅许可证文件
资源
支持
对于以下问题:
- 此MCP服务器:在此存储库中打开一个问题
- Printify API:联系方式 Printify支持
- MCP协议:参观 MCP文件
______________________________________________________________________
内置❤️ 面向人工智能自动化社区
