Instant pricing, 111 named sets and draft orders for custom index tabs and binder dividers.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Use this when the user has their actual list of tab titles (section names, in order) and wants an order drafted: returns the exact price for that build plus an orderUrl that opens Tabzoola's designer with every title pre-filled, for a human to review and complete at checkout. Purchases nothing, reserves nothing, takes no payment; a free PDF proof is emailed before anything prints. Minimum 25 sets, 1-150 titles. Do not use for reverse-printed tabs, PMS ink or custom sheet sizes (quote only) or for anything other than custom-printed tab dividers.
Number of sets (minimum 25).
Tab titles in tab order, one per tab (1-150). The title count sets tabs-per-set.
The product key: "paper" or "poly".
Optional map of optionKey -> choiceId (see get_pricing_capabilities). Omitted options use defaults.
Use this when the user has their actual list of tab titles (section names, in order) and wants an order drafted: returns the exact price for that build plus an orderUrl that opens Tabzoola's designer with every title pre-filled, for a human to review and complete at checkout. Purchases nothing, reserves nothing, takes no payment; a free PDF proof is emailed before anything prints. Minimum 25 sets, 1-150 titles. Do not use for reverse-printed tabs, PMS ink or custom sheet sizes (quote only) or for anything other than custom-printed tab dividers.
| Argument | Type | Description |
|---|---|---|
| sets* | integer | Number of sets (minimum 25). |
| titles* | array | Tab titles in tab order, one per tab (1-150). The title count sets tabs-per-set. |
| options | object | Optional map of optionKey -> choiceId (see get_pricing_capabilities). Omitted options use defaults. |
| product* | string | The product key: "paper" or "poly". |
{
"type": "object",
"required": [
"product",
"sets",
"titles"
],
"properties": {
"sets": {
"type": "integer",
"description": "Number of sets (minimum 25)."
},
"titles": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tab titles in tab order, one per tab (1-150). The title count sets tabs-per-set."
},
"options": {
"type": "object",
"description": "Optional map of optionKey -> choiceId (see get_pricing_capabilities). Omitted options use defaults.",
"additionalProperties": {
"type": "string"
}
},
"product": {
"type": "string",
"description": "The product key: \"paper\" or \"poly\"."
}
}
}Use this first, before quote_price or draft_order, when a user wants custom-printed index tab dividers (binder tabs, tab dividers, exhibit tabs, chart dividers) priced or ordered: returns the products (paper, poly), every option key and choice id, valid set quantities, and ordering facts. Takes no input. Do not use for blank or write-on dividers, labels, or binders themselves.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Use this when the user names a kind of binder rather than listing titles (estate planning, trust, exhibit 1-25, medical chart, HOA, IEP, audit workpapers, real estate closing, and many more): returns Tabzoola's ready-made tab sets matching the query, each with its section titles in order, tabs per set, the page that describes it, the exact price for 25 sets (paper, collated, 3-hole punched, setup included) and an orderUrl that opens the designer pre-filled. Read-only; purchases nothing. Pass the titles to draft_order or quote_price for other quantities or options.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum sets to return (default 25). |
| query | string | Words to match against set names, uses and titles, e.g. "estate", "exhibit", "hoa", "chart". Omit to list sets. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 60,
"minimum": 1,
"description": "Maximum sets to return (default 25)."
},
"query": {
"type": "string",
"description": "Words to match against set names, uses and titles, e.g. \"estate\", \"exhibit\", \"hoa\", \"chart\". Omit to list sets."
}
},
"additionalProperties": false
}Use this when the user wants a price for custom-printed tab dividers and knows the product (paper or poly), tabs per set and number of sets: returns exact per-set and total USD with setup included, plus an orderUrl that opens Tabzoola's configurator with this build pre-selected for a human to complete. Same engine as the website. Minimum 25 sets, 1-150 tabs per set. Do not use for reverse-printed tabs, PMS ink or custom sheet sizes (quote only), and never to charge anyone: it is read-only.
| Argument | Type | Description |
|---|---|---|
| sets* | integer | Quantity of sets (minimum order 25) |
| options | object | Optional map of optionKey -> choiceId (see get_pricing_capabilities). Omitted options use defaults. |
| product* | string | Product line |
| tabsPerSet* | integer | Tabs in each set |
| colorChanges | integer | Poly only: distinct tab colors minus one |
{
"type": "object",
"required": [
"product",
"tabsPerSet",
"sets"
],
"properties": {
"sets": {
"type": "integer",
"minimum": 25,
"description": "Quantity of sets (minimum order 25)"
},
"options": {
"type": "object",
"description": "Optional map of optionKey -> choiceId (see get_pricing_capabilities). Omitted options use defaults.",
"additionalProperties": {
"type": "string"
}
},
"product": {
"enum": [
"paper",
"poly"
],
"type": "string",
"description": "Product line"
},
"tabsPerSet": {
"type": "integer",
"maximum": 150,
"minimum": 1,
"description": "Tabs in each set"
},
"colorChanges": {
"type": "integer",
"minimum": 0,
"description": "Poly only: distinct tab colors minus one"
}
},
"additionalProperties": false
}