printful-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PRINTFUL_TOKEN | Yes | Printful API token. This is required and read only from the environment. | |
| PRINTFUL_MCP_REDACT_PII | No | Set to '1' to mask recipient names, street addresses, phone numbers, emails and tax numbers in every response. City, state and country are preserved. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| printful_whoamiA | Verify the configured token and list the Printful stores it can read. Use this first to confirm the connection and to get a store id. |
| printful_list_ordersA | List orders for the token's store, newest first. Filter by status: draft, pending, failed, canceled, inprocess, onhold, partial, fulfilled. A 'draft' order with needs_approval true is waiting for a human in the Printful dashboard and has not been produced. |
| printful_get_orderA | Fetch one order in full, including line items, print files and embroidery thread options. Pass either printful_id (Printful's own id) or external_id (the id from the connected store, e.g. a Shopify order number) — exactly one of them. |
| printful_list_store_productsA | List the sync products in the connected store — the products that map a storefront listing to a Printful variant and its print files. |
| printful_get_store_productA | Fetch one sync product with its variants and the print files attached to each. Use this to see which artwork a product will actually print. |
| printful_get_catalog_productA | Fetch a Printful catalog product and its variants — blanks, sizes, colours and available print placements. |
| printful_getA | Escape hatch for read endpoints without a dedicated tool. GET only, and the path must match this server's allowlist: /stores, /store, /store/products, /orders, /products, /products/variant/{id}, /countries, /tax/countries. Anything else is refused. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool targets a distinct resource (auth, store product, catalog product, orders), and printful_get is explicitly described as an escape hatch for paths without a dedicated tool. However, the allowlist still includes paths like /orders and /store/products that also have dedicated tools, creating minor overlap.
All tools share a clear printful_ prefix, and most follow a get_/list_ verb pattern. Printful_whoami and the generic printful_get deviate from the noun+verb convention, but the pattern remains predictable overall.
Seven tools is a well-scoped set for a read-only Printful integration, covering auth, products, and orders without unnecessary bloat. Each tool has a clear role, and the count feels appropriate for the server's purpose.
The server covers the core read workflows: authentication/store id, catalog and store product details, and order listing/retrieval, with the escape hatch filling gaps for tax/countries and other allowed endpoints. It is intentionally read-only, so missing create/update operations are not a gap, though a dedicated list-catalog-products tool would round out the surface.