FURRINGLINE
Server Details
Thai building materials: product search, prices before VAT, stock and material calculators.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- nueyprap/furringline-mcp
- GitHub Stars
- 0
- Server Listing
- FURRINGLINE MCP
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: two listing tools for different resource types (calculators vs categories), one detail tool, one search tool, and one calculator runner. There is no overlap between search_products (catalog browsing) and get_product (single-item detail), and calculate_materials is uniquely tied to list_calculators.
All tool names follow a consistent snake_case verb_noun pattern: calculate_materials, get_product, list_calculators, list_categories, search_products. The verbs (calculate, get, list, search) accurately reflect each tool's action.
Five tools is well-scoped for a public product catalog with material calculators. Each tool serves a distinct purpose (discovery, detail, category listing, calculator listing, calculation) and none feels redundant.
The read-only public surface covers core workflows: browse categories, search products, inspect one product, list calculators, and run a calculation. Minor gaps exist, such as no direct category-detail endpoint or a way to preview calculator option sets before running, but agents can work around these.
Available Tools
5 toolscalculate_materialsCalculate materials for a ceiling, wall or insulation jobARead-onlyIdempotentInspect
Runs one of the website calculators for an area in square metres and returns the material list: items, quantities, unit prices and amounts before VAT, subtotal, 7% VAT and total, plus the matching website product for each line. Choices not given use the calculator defaults; the result lists the choices the customer can change. Nothing is saved or ordered.
| Name | Required | Description | Default |
|---|---|---|---|
| area_m2 | Yes | Area in square metres. | |
| choices | No | Optional. Choice id (from a previous result) to the option label, e.g. {"2960": "แผ่นยิปซัม ตราช้าง รุ่น มาตรฐาน 9 มม. ขอบลาด"}. | |
| calculator | Yes | Calculator key from list_calculators, e.g. "concealed-ceiling-calculator". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish a safe read-only, idempotent operation. The description adds useful context beyond those hints: it lists return fields, explains that omitted choices fall back to calculator defaults, notes that the result exposes changeable choices, and confirms nothing is saved or ordered. It stops short of error or rate-limit behavior.
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?
The description is three tight sentences: it front-loads the action and return payload, then adds default and persistence notes. Every sentence adds distinct information with no redundancy.
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 burden of explaining return values and does so thoroughly, listing the material fields, VAT breakdown, and matching products. Combined with complete parameter documentation and annotations covering safety, the agent has everything needed to invoke it correctly.
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%, so the baseline is 3. The description adds meaning for the choices parameter—omitted choices use defaults and the result lists changeable choices—and contextualizes the calculator parameter as 'one of the website calculators', going beyond the schema's raw descriptions.
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?
The description states a specific verb ('Runs one of the website calculators') and resource ('material list'), and the action is clearly distinct from sibling tools like list_calculators and search_products. An agent can immediately tell this tool performs a calculation rather than listing or searching.
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 description implies usage by explaining it runs a calculator for an area and returns materials, but it never names alternative tools or states when to prefer this over list_calculators or search_products. The note that nothing is saved or ordered gives a mild exclusion but no explicit when-to-use routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_productGet a FURRINGLINE productARead-onlyIdempotentInspect
Full public details of one product: dimensions, attributes, and each option (variation) with its SKU, price before VAT and stock. Give exactly one of sku or url.
| Name | Required | Description | Default |
|---|---|---|---|
| sku | No | Product or option SKU. | |
| url | No | Product URL on furringline.com (from search_products). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. With no output schema, the description usefully carries the return-shape burden by spelling out what comes back (dimensions, attributes, per-option SKU/price/stock) and that only public data is exposed.
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, and the payload scope is front-loaded before the identifier rule. Every clause earns its place.
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 two-param read tool with full schema coverage and annotations, the description covers the return payload and the identifier constraint adequately. It stops short of stating behavior for an unknown SKU or an ambiguous/mismatched sku+url pair, which is the remaining gap.
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% so the baseline is 3, and the description earns above that by supplying the mutual-exclusivity constraint (exactly one of sku or url) that the flat schema with zero required fields cannot express. It also notes pricing is stated before VAT, a nuance absent from 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?
Names a specific verb+resource (get one product) and enumerates the payload: dimensions, attributes, and each option/variation with SKU, price before VAT and stock. That granularity distinguishes it from list-style siblings like search_products, though no sibling is named explicitly.
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 description gives a hard selection rule for the two identifiers ("Give exactly one of sku or url") and ties url provenance to search_products, but it never states when to reach for this tool instead of search_products or calculate_materials — the lookup-then-detail flow is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_calculatorsList FURRINGLINE material calculatorsARead-onlyIdempotentInspect
The material calculators on furringline.com (ceilings, partition walls, insulation). Use a key with calculate_materials.
| 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, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds only the fact that returned keys feed calculate_materials; it says nothing about ordering, count, or shape of the returned list. Useful but thin context on top of annotations.
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 short sentences with zero filler, and the resource identification is front-loaded ahead of the workflow hint. Every clause earns its place.
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 zero-parameter, read-only listing tool with no output schema, the description covers what it returns (calculator identifiers) and how they are consumed downstream. Nothing critical is missing, though a hint about whether the list is stable/complete would close the remaining gap.
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 per the rubric the baseline is 4. There is nothing for the description to explain, and it correctly doesn't invent parameter guidance.
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?
The description names the resource (material calculators on furringline.com) and scopes it with concrete examples (ceilings, partition walls, insulation), so an agent knows exactly what comes back. It stops short of an explicit verb like 'lists all', relying on the title for that, but the scope is unambiguous.
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?
'Use a key with calculate_materials' tells the agent this tool is the entry point that produces input for the sibling calculate_materials, which is real routing guidance. It doesn't state an explicit when-not to call it or cover the other siblings (get_product, search_products), so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesList FURRINGLINE product categoriesARead-onlyIdempotentInspect
All public product categories with slug, parent slug, product count and URL.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and non-destructive behavior, so the safety profile is covered. The description adds genuine context beyond them: the 'public' visibility scope (implying non-public categories are excluded) and the exact shape of the returned record fields, which matters because no output schema exists.
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 telegraphic sentence with zero filler, and the scope qualifier ('All public') is front-loaded. It is a noun phrase rather than a verb-led statement, which is slightly less direct but not wasteful.
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 zero-parameter, no-output-schema read tool, the description supplies what the schema cannot: the returned fields and the fact that only public categories are included. An agent can call it correctly and interpret the result without further information.
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, which is the baseline-4 case. The schema is empty and fully consistent with the description; no parameter meaning needs to be conveyed.
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 resource (public product categories) and enumerates the fields returned, so the agent knows exactly what this returns. It does not explicitly distinguish itself from siblings like list_calculators or search_products, but 'categories' is distinct enough from the other resources to avoid confusion.
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?
No when-to-use guidance, no prerequisites, and no mention of alternatives such as list_calculators (the obvious sibling for enumerating catalog-like data). The agent must infer that this is the entry point for discovering category slugs used elsewhere.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_productsSearch FURRINGLINE productsARead-onlyIdempotentInspect
Search the public FURRINGLINE catalog by words (Thai or English, all words must match) or SKU, optionally within a category. Returns name, SKU, URL, image, category, brand, price before VAT and stock. Max 20 per page, 10 pages.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| query | No | Words or SKU to look for, e.g. "ยิปซัม 9 มม" or "C-line". | |
| category | No | Category slug from list_categories (optional). | |
| per_page | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and a closed-world catalog (openWorldHint=false). Beyond that, the description adds genuinely useful behavior: AND-match semantics for multi-word queries, bilingual (Thai/English) support, and the pagination ceiling of 20 per page across 10 pages. It does not mention ordering or empty-result behavior, but the added context is substantive.
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?
Three dense sentences that front-load the core action, then the return payload, then pagination limits. No filler, no restatement of the tool name, and every clause carries information an agent needs.
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?
There is no output schema, so the description's enumeration of returned fields (name, SKU, URL, image, category, brand, pre-VAT price, stock) is necessary and present. Combined with annotations covering the safety profile, the definition is nearly complete; only result-ordering and no-match behavior are absent.
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?
With only 50% schema description coverage, the description compensates well: it defines query semantics ('all words must match', Thai or English, or SKU) which the schema does not, marks category as optional, and pins the per_page/page bounds ('Max 20 per page, 10 pages') that the schema only encodes as numeric min/max. Page defaults and offset behavior remain unstated, keeping it short of a 5.
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 and resource ('Search the public FURRINGLINE catalog') plus the two matching modes (words or SKU) and the optional category narrowing. It is clearly distinguishable from get_product and list_categories by implication, though it never names a sibling to route the agent explicitly.
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?
Explains how to search (words vs SKU, optional category) but gives no when-to-use guidance relative to get_product (single-item lookup) or list_categories. Usage is implied by the matching-mode description rather than stated as a selection rule.
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.
5 tool updates
- First observed
calculate_materials - First observed
get_product - First observed
list_calculators - First observed
list_categories - First observed
search_products
Related MCP Connectors
UK tool shop: search, prices ex/inc VAT, stock, delivery, order tracking and basket links.
Search live published Thailand properties and projects from ThaiProps.
Search surplus and overstock inventory, request bulk quotes, and check out.
Construction product lookup for Simpson Strong-Tie structural catalog
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables searching products, retrieving product details, listing stores, checking stock availability, and comparing prices across Czech DIY retailers.5MIT
- FlicenseNot gradedqualityDmaintenanceProvides construction cost estimation tools using data from a public Google Sheet for items like concrete, framing, and electrical. It allows users to search items, filter by category, and calculate total project costs including labor and material expenses.-
- AlicenseAqualityBmaintenanceSearch for products available in physical stores near you. Find prices, stock, and store locations for hardware, tools, and construction supplies. Useful when you need something today and can't wait for delivery. 5 tools: search products, search stores, get product details, get store details, list categories. No authentication required. Covers ~2400 products across ~4000 stores in Spain.181Apache 2.0
- FlicenseNot gradedqualityDmaintenanceProvides access to residential building codes (NEC, IRC, IPC), material specifications with pricing, and project calculators for DIY construction projects. Enables code compliance checking, material search across suppliers, and automated quantity calculations for electrical, plumbing, and construction materials.1-
Glama MCP Gateway
Add one secure layer between your agents and this server.