Carpetstory
Server Details
Search hand-knotted rugs made to order in Jaipur, India, from the live Carpetstory catalogue.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- houseofdotone/carpetstory-mcp
- GitHub Stars
- 0
- Server Listing
- Carpetstory MCP Server
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: search returns matching rugs, get_rug returns full details for one rug, and list_collections returns collection summaries. There is no overlap that would cause an agent to misselect.
All three tools follow a consistent verb_noun snake_case pattern: get_rug, list_collections, search_rugs. The convention is predictable and readable.
Three tools is a small but well-scoped set for a rug catalog browser, with each tool earning its place. It sits at the lower bound of the typical 3–15 range, so it is reasonable but slightly thin.
The surface covers the main browsing workflow: search, retrieve rug details, and inspect collections. Minor gaps exist, such as a dedicated list-all-rugs or get-collection-details operation, but search can work around these.
Available Tools
3 toolsget_rugGet rug detailsARead-onlyInspect
Full details for one rug by its slug (from search_rugs): description, size, colours, collection materials, knot density, lead time, image and page.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Rug slug, e.g. "noon-line". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered in structured data. The description adds meaningful behavior by enumerating what the response contains, which matters because no output schema exists; it does not mention failure modes (e.g., unknown slug) or caching, keeping it below top marks.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the scope, the key, and the return contents front-loaded; no filler or redundant restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only lookup this is fully sufficient: the key's origin is explained, the returned fields are listed in lieu of an output schema, and annotations cover the safety profile. An agent can call it correctly with nothing else.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema itself supplies an example value ('noon-line'), so the schema carries the parameter documentation. The description contributes only the provenance hint that the slug comes from search_rugs; baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Full details'), a single resource ('one rug'), and an explicit retrieval key ('by its slug'), then enumerates the exact fields returned (description, size, colours, materials, knot density, lead time, image, page). This makes it immediately distinguishable from the list/search siblings search_rugs and list_collections.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical '(from search_rugs)' tells the agent where the required slug comes from, establishing the intended workflow: search first, then fetch details. There are no explicit when-not conditions or named alternatives beyond that hint, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_collectionsList rug collectionsARead-onlyInspect
List the current Carpetstory rug collections with their story, materials, knot density, lead time and number of pieces.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered; the description adds value by naming the catalog contents returned. It does not mention whether the list is paginated or whether all collections are always returned, which would complete the picture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the resource first and the returned fields after — no filler, nothing to trim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-shape burden and does so by listing the fields. Only the ordering/volume of results is unspecified, which is a minor gap for a zero-parameter listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline applies. No parameter-level wording is needed or missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List') and resource ('Carpetstory rug collections') and enumerates the attributes returned (story, materials, knot density, lead time, piece count). It does not contrast itself with get_rug or search_rugs, but the distinct resource makes the difference inferable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the browse-all-collections entry point versus get_rug for one rug or search_rugs for filtered lookup. No explicit when-to-use or when-not-to-use statement is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_rugsSearch rugsARead-onlyInspect
Search hand-knotted rugs by words (motif, mood, colour, place), optionally within one collection or colour family. Returns name, short description, image and product page.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum results (default 10). | |
| query | No | Words to match, e.g. "sundial", "garden", "ivory silk". Leave empty to browse. | |
| colour | No | Colour family. | |
| collection | No | Collection name or slug, e.g. "Meridian" or "dharti". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, openWorldHint=false), so the description's job is additive context. It does that by disclosing the return payload (name, short description, image, product page), which matters because there is no output schema, and by revealing the browse-with-empty-query mode. It stops short of mentioning result ordering or what an empty result set looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler. The core matching behaviour is front-loaded and the return payload follows, so an agent can stop reading as soon as it knows this is a keyword search over rugs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no required parameters, full schema coverage, and no output schema, the description covers what the tool searches, how to narrow, and what comes back — enough to invoke it correctly. Minor gaps remain around result ordering and empty-result behaviour, but nothing blocking.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters are already documented with examples, so the baseline of 3 applies. The description adds only mild semantic value by framing query terms as motif/mood/colour/place, but adds nothing about limit, enum behaviour, or collection slug matching beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (search) and resource (hand-knotted rugs) plus the matching facets (motif, mood, colour, place) and the optional narrowing by collection or colour family. It is naturally distinguishable from get_rug (single item) and list_collections (collections), but the description never explicitly contrasts itself with those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrasing 'optionally within one collection or colour family' implies the narrowing workflow, and the schema notes that an empty query browses. However, there is no explicit when-to-use statement and no routing guidance toward get_rug or list_collections when the agent needs a single rug or a collection inventory.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
get_rug - First observed
list_collections - First observed
search_rugs
Related MCP Connectors
Search and price made-to-order rings, jewelry, and lab-grown diamonds from the 25karats catalog.
Search and shop curated second-hand design: furniture, lighting, art and designer bags.
Search and explore taste-led finds in clothing, audio, designed objects and music.
Search a live index of millions of open jobs from employer career sites and 100+ ATS platforms.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables Indian carpet exporters, manufacturers, and designers to generate AI design prompts, explore carpet styles and color palettes, and create Etsy SEO listings, bridging overseas market trends with local weaving specifications.MIT
- AlicenseNot gradedqualityBmaintenanceEnables searching Sotheby's past-lot archive for realized auction prices, including buyer's premium, hammer bid, estimate ranges, and full catalogue details for individual lots.9 npmMIT
- AlicenseNot gradedqualityCmaintenanceCatalog of record for books: signed titles, rights, prices & royalties, checked everywhere they appear.MIT
- AlicenseNot gradedqualityDmaintenanceVerified, long-tail company search: describe what you want, get an LLM-verified company shortlist.1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.