mfgcalcs
Server Details
5,400+ manufacturing calculators plus live U.S. tariff, PMI, cost-index, wage, and forecast data.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
17 toolsaskAInspect
Answer a natural-language U.S. manufacturing question from live committed data; deterministic, no LLM. Product-family ties return resolution: needs-clarification with no number or citation. Every statistic names its period, frequency, scope, and measure. detail: answer is compact, evidence adds scoped evidence, and full is forensic (default). Pass prior context for follow-ups. Same engine as /api/answer; MFGChat uses detail=evidence; MFGSearch shares parsing/composition. Cite url only when resolved. Try: {"query":"current manufacturing hourly earnings","detail":"evidence"}
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | A full question, e.g. 'tariff on fasteners' or 'diesel price' | |
| detail | No | Response depth. `answer` is compact; `evidence` adds scoped evidence and adjacent facts; `full` preserves the compatibility-default forensic payload. Defaults to `full`. | full |
| context | No | Optional. The `context` string from a previous ask response. Pass it to ask a follow-up: 'and what about vietnam' or 'why did it go up' then resolve against the earlier subject instead of being answered on their own. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and does so exceptionally well. It discloses the deterministic/no-LLM behavior, the 'needs-clarification' resolution for ambiguous product-family ties, the guaranteed statistic metadata, the detail-mode differences, follow-up context handling, and the citation rule — all beyond what the input schema alone provides.
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 dense but not bloated; every sentence supplies a distinct, useful fact. Core purpose is front-loaded, behavioral invariants are grouped logically, detail modes are compressed into one sentence, and the example is a practical closing illustration. No words are wasted.
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?
Even without an output schema, the description gives enough to anticipate what responses will contain: resolution status, statistics metadata, citation behavior, and detail-level differences. It also explains follow-up semantics and engine compatibility, making it complete for an agent deciding how to invoke and interpret this 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?
Schema coverage is 100%, but the description still adds meaningful semantic value: it explains how 'detail' modes behave, clarifies that context must come from a previous response, and gives a complete example query. This exceeds the baseline 3 for fully covered schemas, though it does not deeply explain query constraints or edge cases.
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 opens with a specific verb and resource: 'Answer a natural-language U.S. manufacturing question from live committed data.' It also differentiates itself from typical LLM tools by stating it is 'deterministic, no LLM,' which clearly separates it from sibling tools like lookup_tariff and the get_* metadata/search tools.
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 strongly implies when to use the tool — for natural-language manufacturing questions — and gives a concrete 'Try' example plus follow-up guidance for passing context. However, it never explicitly names alternatives or states when not to use this tool versus its siblings, so the usage guidance is implied rather than fully specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
briefAInspect
Describe a SITUATION rather than a question and get every fact bearing on it, each answered and cited. ask for one figure, brief for a decision. Names what it could not establish. Try: {"situation":"sourcing bearings from china"}
| Name | Required | Description | Default |
|---|---|---|---|
| situation | Yes | In plain words: 'importing $250,000 of aluminium from vietnam'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description does the work of revealing behavior. It discloses that results are cited, that the tool names facts it could not establish, and that it returns comprehensive facts relevant to the situation. It stops short of detailing any access, latency, or limitations, but the core behavior is transparent enough.
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 compact: it states purpose, contrasts with the alternative, explains a behavioral guarantee, acknowledges a limitation, and gives a sample input. Every sentence earns its place and the key guidance is front-loaded.
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 single-parameter, low-complexity lookup with a schema that already documents the parameter, the description is complete. It explains what the tool does, how to phrase the situation, what output to expect (answered and cited facts), and what happens when it cannot establish facts.
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 gives a plain-words example for the `situation` parameter. The description adds further semantic value by reinforcing the situational framing and offering a second, distinct example ('sourcing bearings from china'), which helps agents understand the expected input style.
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 and resource: describing a situation to get every fact bearing on it, with answers and citations. It also explicitly distinguishes itself from the sibling tool `ask` by contrasting a situation-based briefing with a single-figure question.
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 direct when-to-use guidance: 'ask for one figure, brief for a decision.' It also clarifies the input framing by saying to describe a SITUATION rather than a question, and provides a concrete example starting with 'Try:'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_calculatorAInspect
Get a calculator's inputs (labels, units, defaults, min/max) and formula before running it. requiresPositive marks a field whose documented minimum of 0 is really exclusive. Use the tool slug from search_calculators. Try: {"tool":"oee"}
| Name | Required | Description | Default |
|---|---|---|---|
| tool | Yes | Calculator slug, e.g. 'oee' or 'unit-cost' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses a useful quirk: 'requiresPositive marks a field whose documented minimum of 0 is really exclusive,' which helps interpret the output. However, it does not mention whether the operation is read-only, any side effects, or error conditions. The description adds some behavioral context but is not comprehensive given the lack 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?
The description is concise (~50 words) and well-structured. It opens with the primary purpose, then clarifies a behavioral nuance, and ends with a concrete example. Every sentence adds value with no fluff. The structure front-loads the key information.
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 simple one-parameter tool with no output schema, the description adequately explains what is returned (inputs and formula) and includes the requiresPositive detail that aids interpretation. It also provides a try example. It does not explicitly state that it is read-only, but that is implicitly clear from the wording. Overall, enough for an agent to call 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?
The schema already provides full documentation for the 'tool' parameter (100% coverage), including an example. The description reinforces that the slug comes from search_calculators and shows a try example, but this is mostly redundant. The baseline of 3 is appropriate since the schema handles the parameter explanation.
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 clearly states the tool retrieves a calculator's inputs and formula, distinguishing it from running or searching. It uses a specific verb 'Get' and resource 'calculator's inputs' and explicitly mentions 'before running it,' which contrasts with run_calculator. This makes its purpose 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?
The description gives clear context: use this tool before running a calculator, and obtain the slug from search_calculators. It even provides a try example. It does not explicitly say 'use run_calculator for execution,' but the 'before running it' phrasing implies that. This is adequate usage guidance without being overly explicit about alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_change_eventsAInspect
Get every published or revised observation in order with a cursor. Poll by offset instead of re-pulling series. Same engine as /api/events and the vintage archive.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | 'published' or 'revised' | |
| limit | No | Page size (bounded server-side) | |
| since | No | Non-negative integer offset from a previous page's cursor; omit to start at 0 | |
| series | No | Series key, slug, title, alias, or archive key. | |
| artifact | No | Artifact filter, e.g. 'econData'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It discloses that results come in order with a cursor, that it returns both published and revised observations, and that it shares an engine with other endpoints. It does not detail edge cases like rate limits or whether cursor offsets are stable, but it provides meaningful behavioral context beyond the raw schema.
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 sentences with no filler. The first sentence states the purpose and the result ordering/cursor mechanism; the second explains the polling use case; the third ties it to known endpoints. Every sentence earns its place, and the most important information is front-loaded.
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 list/polling tool with no output schema, the description covers what it returns, the ordering, cursor mechanics, and relationship to sibling endpoints. It doesn't explicitly mention that no parameters are required or describe pagination behavior beyond 'bounded server-side' in the schema, but the provided context is largely sufficient for an agent to select and begin using the 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?
Schema description coverage is 100%, so the schema itself fully documents all five parameters. The description adds a bit of context by explaining the polling model (the 'since' parameter as an offset), but it does not add meaning beyond what the schema descriptions already provide. This meets the baseline of 3.
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 clear, specific verb+resource: 'Get every published or revised observation in order with a cursor.' It distinguishes the tool by its cursor/offset polling model and explicitly compares it to related endpoints ('Same engine as /api/events and the vintage archive'). This allows an agent to understand what it does and how it differs from sibling tools like get_revisions or get_vintages.
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 explicit guidance on when to use this tool: 'Poll by offset instead of re-pulling series.' This conveys a clear use case compared to alternatives. It does not name a specific sibling tool as the alternative, but the context of 'polling' versus re-pulling makes the intended scenario clear. It lacks explicit 'when not to use' guidance, but for a data-retrieval tool this is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_citationAInspect
Get a ready-to-paste citation for an MFG Calcs dataset — including, for vintage-tracked datasets, the ?asOf= URL that returns the numbers exactly as they read on the access date, so the citation stays checkable after revisions instead of rotting. Carries a stable site identifier rather than a DOI; none has been minted for this collection yet, and the payload says so. Call with no dataset for the catalogue of citable datasets. Same engine as /api/cite.
| Name | Required | Description | Default |
|---|---|---|---|
| dataset | No | Dataset id from the catalogue; omit to list what is citable | |
| accessed | No | ISO date (YYYY-MM-DD) the data was accessed; defaults to today |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It goes beyond the schema by explaining the vintage-tracked asOf URL, the stable site identifier instead of a DOI, and notes that the payload indicates this lack of DOI. It does not mention error conditions or rate limits, but it discloses the key behavioral traits.
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 efficiently structured, leading with the core purpose and then layering essential context about the asOf URL and DOI absence. Every sentence earns its place, and the 'Same engine as /api/cite' note is a helpful reference without being redundant.
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?
Given the lack of an output schema, the description adequately explains what the tool returns (a citation, possibly with an asOf URL, and the catalogue when no dataset is provided). It doesn't detail the exact citation format, but for a citation tool this is a standard and acceptable gap. The description is sufficient for an agent to call 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?
The input schema already provides 100% coverage of both parameters, so the baseline is 3. The description adds minor semantic value by stating that 'dataset' comes from the catalogue and that omitting it returns the catalogue, which helps interpretation but doesn't significantly exceed what the schema describes.
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 clearly states it 'Get a ready-to-paste citation for an MFG Calcs dataset', identifying the specific verb and resource. It further distinguishes itself from siblings by mentioning the asOf URL behavior and the lack of a DOI, making its purpose unambiguous even without examining the schema.
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 explicit guidance on when to omit the dataset parameter to get the catalogue of citable datasets, which is a clear usage context. It doesn't explicitly mention when not to use this tool, but the sibling tools have distinct purposes (e.g., ask, get_calculator), so the appropriate context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_freshnessAInspect
Get the freshness contract for MFG Calcs' live data: every series with its measured publishing cadence, latest period, age in days, and an honest state (current | due | stale | unknown). This is the number that decides 'answer from memory or call the tool' — and the cheapest way to know whether a re-sync is worth it. Derived from the committed data-status census; stale series are reported as stale.
| Name | Required | Description | Default |
|---|---|---|---|
| series | No | Series key, slug, title, or approved alias; omit for all series. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses that the data is derived from a 'committed data-status census,' that stale series are reported as stale, and it enumerates the honest state values (current | due | stale | unknown). This conveys read-only, non-live behavior without relying on 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?
Three sentences, each earning its place: the first defines the output contract, the second gives the decision-use case, and the third explains the data source and stale handling. It is front-loaded with the core purpose and contains no filler.
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 single-optional-parameter tool with no output schema, the description covers the return concept well: fields per series, possible state values, and the derived source. It could go slightly deeper on how 'due' vs 'stale' is determined, but it is complete enough for correct selection and invocation.
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 input schema fully documents the single optional parameter (series key, slug, title, or alias; omit for all series), so the description needs to add little. It does not add new parameter syntax or format details beyond the schema, landing at the baseline for full schema coverage.
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 uses a specific verb-resource pair ('Get the freshness contract for MFG Calcs' live data') and enumerates exactly what the result contains: cadence, latest period, age in days, and state. This scope is distinct enough from siblings like get_change_events or get_vintages that an agent can identify the tool's job without opening any schema.
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 clear context for when to call it: it 'decides answer from memory or call the tool' and is 'the cheapest way to know whether a re-sync is worth it.' It does not explicitly name alternatives or state when not to use it, but the decision trigger is explicit and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_indexAInspect
Fetch a published MFG Calcs index, board, ledger, forecast, vintage, revision record, seasonal series, or HS-NAICS map. Tariff targets distinguish the tracked manufacturing panel's observed effective calculated-duty rate; origins are statistically associated with those reported Calculated Duties, not causes. The selected index's JSON Schema branch lists its accepted fields; unsupported, dependent, or conflicting fields return invalid params. Try: {"index":"get_state_cost_index","filter":"Ohio"}.
| Name | Required | Description | Default |
|---|---|---|---|
| asOf | No | Vintage cutoff (YYYY-MM-DD). | |
| index | Yes | Published target. | |
| limit | No | Rows: "all" or count. | |
| naics | No | Six-digit NAICS code for get_hs_naics. | |
| since | No | Revision cutoff (YYYY-MM-DD). | |
| filter | No | Target selector; meaning depends on index. | |
| points | No | History: "latest", "all", or count. | |
| country | No | Duty-free origin. | |
| artifact | No | Revision artifact filter. | |
| scheduleYear | No | Duty-free HTS year. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It adds meaningful caveats: tariff targets are observed rates, origins are statistically associated not causal, and unsupported/dependent/conflicting fields return invalid params. Missing rate-limit or authentication detail, but the interpretive caveats exceed the baseline for a fetch tool.
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 sentences each earn their place: purpose, interpretive caveat, and schema-guidance plus a working example. It is front-loaded and efficient. The only issue is the second sentence is dense and slightly jargony, which is a minor readability cost.
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?
Complexity is high – ten parameters, a large oneOf switch over many index constants, and no output schema. The description points to schema branches and gives a concrete example, but it does not enumerate the available indexes, explain result shapes, or guide selection among overlapping artifact types. Without an output schema, this leaves the agent to infer a lot from the input branches alone.
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 the baseline is 3. The description adds value by telling agents to consult the selected branch of the schema for accepted fields, offering a concrete runnable example (get_state_cost_index plus Ohio filter), and clarifying the tariff/origin semantic distinction – guidance that the parameter descriptors alone do not provide.
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?
Opens with 'Fetch a published MFG Calcs index...' – a specific verb plus a clear list of artifact types it can return. It communicates the tool's broad fetch-and-dispatch role, though it doesn't explicitly distinguish itself from sibling tools like get_revisions and get_vintages that overlap in the 'vintage' and 'revision record' categories.
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 vs alternatives guidance is provided. It never tells the agent when to prefer get_index over get_revisions, get_vintages, or lookup_tariff even though those are plausible competitors. The 'Try:' example and schema-branch advice address parameter usage, not tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_provenanceAInspect
Get the MFG Calcs Provenance Manifest: the verifiable record for every branded index and ledger on the site. For each one it returns a SHA-256 of the committed artifact and of every committed public-data input it was built from, plus the generator that reproduces it and the page that renders it. Use this to VERIFY a number before quoting it: re-hash the committed artifact (integrity), re-run the named generator on the committed inputs (reproducibility), and read the git history (timestamp). Takes no arguments. The hashes prove the artifacts are intact and reproducible, not the correctness of the underlying government data. Cite the returned url.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that the tool takes no arguments, returns hashes/provenance data rather than compute output, and is read-only in nature. It clearly states the semantic limits of the verification (proves integrity/reproducibility, not data correctness). It doesn't mention performance or failure modes, but given zero annotations, it does substantially better than baseline.
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 dense but well-structured: it states what the tool returns, gives a concrete usage workflow, notes a caveat, and ends with an actionable instruction—all in four sentences. Nothing is wasted and the critical usage guidance is front-loaded after the initial purpose statement.
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-argument tool with no output schema and no annotations, the description is remarkably complete: it explains the return content (hashes, generator, page), provides the verification workflow, discloses limitations, and notes citation behavior. There are no ambiguity gaps for an agent invoking this 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?
Schema coverage is 100% and there are zero parameters, so the description is not required to explain any. The description correctly states 'Takes no arguments,' preempting any agent confusion about input. The baseline for 0-param tools is 4, and the description's explicit confirmation elevates it further since there is nothing left ambiguous.
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 uses a specific verb-resource pairing ('Get the MFG Calcs Provenance Manifest') and clearly enumerates what the manifest contains: SHA-256 hashes, generator, page, and git history for every indexed/ledger artifact. It distinguishes itself from sibling data-retrieval tools by being specifically about provenance/verification rather than data values.
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 explicitly says 'Use this to VERIFY a number before quoting it' and provides a concrete three-step workflow (re-hash for integrity, re-run generator for reproducibility, read git history for timestamp). It also gives an explicit caveat about what the tool does NOT prove (correctness of underlying government data) and instructs the user to cite the returned url.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_receiptsAInspect
Get the append-only archive of Ed25519-signed data receipts: every value signed for a series within the rolling window (current + previous signing year), revisions retained, each entry carrying its claim, claimHash, signature, and keyId. Call with no series for the catalogue plus the keyId→publicKey map and the permanent yearly ledger URLs. Same engine as /api/receipts. Try: {}
| Name | Required | Description | Default |
|---|---|---|---|
| series | No | Series key, slug, title, or approved alias; omit for the catalogue. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and delivers: it discloses append-only semantics, revision retention, Ed25519 signing, and what the no-series call returns (catalogue, keyId→publicKey map, yearly ledger URLs). The read-only archival nature is clear; no side effects or auth caveats are needed.
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 packed sentences, front-loaded with purpose, followed by usage behavior and a concrete example. Each sentence earns its place; 'Try: {}' is a useful shorthand for the no-series call. No fluff or repetition.
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?
No output schema and no annotations, so the description must explain return behavior, and it does: entry fields, catalogue form, keyId map, ledger URLs, rolling window, and append-only retention. For a one-param, non-nested tool, nothing essential is missing.
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 covers series at 100%, so baseline is 3. The description adds the meaningful consequence of omitting series – returning the catalogue plus the keyId map and ledger URLs – which enriches the agent's understanding beyond the schema's type description.
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 ('Get') and a precise resource ('append-only archive of Ed25519-signed data receipts'), then details what each entry carries: claim, claimHash, signature, keyId, and the rolling-window scope. This gives a concrete, distinctive purpose even amid noisy sibling names.
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?
Gives explicit call guidance: 'Call with no series for the catalogue plus the keyId→publicKey map and the permanent yearly ledger URLs,' and offers a concrete invocation hint ('Try: {}'). It provides clear context on parameter behavior, though it doesn't explicitly contrast with alternatives or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_revisionsAInspect
Get every restatement of a published figure with its old value, new value, and first-known date. Filter by series, artifact, since, or limit; omit filters for the full record and per-series revision summary. Use it to judge whether a recent print needs a revision caveat. Cite the returned url.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max revisions to return. | |
| since | No | ISO date (YYYY-MM-DD); only later revisions. | |
| series | No | Series key, slug, title, approved alias, or archive key. Unknown or ambiguous values are errors. | |
| artifact | No | Artifact name to scope the record to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses what is returned (old and new values, first-known date), the filtering behavior, the no-filter aggregate mode, and instructs the agent to cite the returned URL. It does not mention error behavior, authentication, or explicitly note that it is read-only, but the core behavior is transparent enough.
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 sentences with no filler. The purpose is front-loaded, the filter list is compact, and the usage directive and citation instruction are stated directly. Every sentence 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?
With no output schema and no annotations, the description adequately covers return values, filtering, the no-filter behavior, and the intended use. For a read-oriented retrieval tool, this is sufficient for an agent to call it correctly without missing critical context.
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%, setting a baseline of 3. The description adds value beyond the schema by naming all four filters and, more importantly, explaining the non-obvious behavior when all filters are omitted: you get the full record and a per-series revision summary. This is extra context an agent would not infer from the schema alone.
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 and resource: get every restatement of a published figure, and enumerates the returned fields (old value, new value, first-known date). This clear scope distinguishes it from siblings like get_change_events, get_vintages, or get_freshness without needing to open the schema.
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?
It gives an explicit use case: use this tool to judge whether a recent print needs a revision caveat. It also clarifies that omitting filters returns the full record and per-series revision summary. However, it does not name alternative tools or state when not to use it, so it stops 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.
get_vintagesAInspect
Get the MFG Calcs Vintage Archive: reproduce what a series said on a past date, before later revisions. Use series + asOf (YYYY-MM-DD) for the historical snapshot, series alone for its revision trail, or omit both for the catalogue. Multiple entries for one period indicate revision. Cite the returned url.
| Name | Required | Description | Default |
|---|---|---|---|
| asOf | No | ISO date (YYYY-MM-DD). Returns the series as it stood on that date, ignoring every revision published since. | |
| limit | No | Max observations to return. | |
| series | No | Series key, slug, title, approved alias, or archive key; omit for the catalogue. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the disclosure burden. It reveals meaningful behavioral semantics: multiple entries per period indicate revisions, and the caller must cite the returned URL. It does not address permissions or rate limits, but for a non-mutating archive lookup these are minor.
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: first states purpose, second gives the three usage modes. No filler.
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 tool with no output schema and no annotations, the description covers the core invocation patterns, output interpretation, and a required follow-up action (citation). The only omitted details, such as limit behavior, are already covered by the schema.
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 already defines all three parameters with descriptions; the description adds relational semantics (asOf depends on series, and what each parameter combination returns). This goes beyond the schema's individual property 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?
Description opens with a specific verb and resource ('Get the MFG Calcs Vintage Archive') and clarifies the exact value: reproducing a series' value as of a past date before revisions. This cleanly distinguishes it from sibling tools like get_revisions or get_change_events, even without naming them.
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 explicitly lays out three invocation modes: series + asOf for snapshots, series alone for revision trail, omit both for catalogue. This provides clear when-to-use guidance for the tool itself, though it does not explicitly contrast with sibling tools or state exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_whats_newAInspect
Get the daily what-changed digest for the newest data day, in one call with links deeper: every agency series that published a new reading, every agency value restated (derived signals that recomputed are listed separately by name), every projection graded against its printed actual, and the day's Market Wire editions. Designed to be the first call of an agent's day: if date hasn't advanced since your last look, nothing moved. Empty days are reported empty with the reason, never padded. Try: {}
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the digest's components, how restated values are listed separately, that empty days are reported with a reason and never padded, and that 'nothing moved' when the date hasn't advanced. This is rich behavioral context, though it does not cover return format or rate limits.
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 tightly structured: purpose first, a scannable list of contents, then usage guidance. Every sentence earns its place with no redundant or filler wording.
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 tool with no annotations or output schema, the description fully explains what the digest contains, when to call it, and how empty days are handled. The 'Try: {}' example confirms invocation, leaving no significant gaps for an agent.
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 has zero parameters and an empty schema, so there is nothing to explain. The description adds a 'Try: {}' invocation example, which is the only meaningful addition. Baseline for 0 parameters is 4.
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 clearly states 'Get the daily what-changed digest for the newest data day' and enumerates its contents (new readings, restated values, projections, Market Wire editions), making the tool's purpose explicit and distinguishing it from the more specific sibling get_* tools.
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?
It explicitly frames itself as 'the first call of an agent's day' and explains the 'if date hasn't advanced since your last look, nothing moved' check, providing clear when-to-use context. It does not name alternatives or when-not scenarios, but the digest role makes its usage intent obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_tariffAInspect
Look up U.S. manufacturing import tariffs: HTS General/Special fields, informational Chapter 99 references, observed effective calculated-duty rate, eligible families' aggregate customs unit value, source shares, and named-source HHI floor with retained-board coverage. Search by keyword, family, or HTS code. Schedule fields and Chapter 99 references do not establish entry liability; unit value is not a transaction price. USITC reference data, not a customs ruling. Cite the returned url. Try: {"query":"steel"}
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max family matches, default 5; allowed range 1-10 | |
| query | Yes | Keyword, family key, or HTS code/prefix, e.g. 'bearings' or '8482' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it succeeds. It discloses data-source limitations ('USITC reference data, not a customs ruling'), legal non-effect ('do not establish entry liability'), and measurement caveats ('unit value is not a transaction price'). These are behavioral traits an agent needs before relying on the output.
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 dense and front-loaded with a purpose sentence followed by search modes, caveats, citation instruction, and an example. Each sentence contributes value, though the first sentence is a long list of domain-specific fields that could overwhelm some agents.
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?
Given the tool's technical trade-data complexity and lack of an output schema, the description does a strong job: it lists returned fields, search modes, disclaimers, citation requirement, and an example. Some terms like 'HHI floor' and 'retained-board coverage' are left undefined, but this is likely acceptable for a specialized tariff lookup.
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 the baseline is 3. The description mostly restates the schema's query semantics and adds an example, but does not meaningfully expand on limit or query format beyond what the schema already provides.
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 begins with a specific verb and resource: 'Look up U.S. manufacturing import tariffs', and then enumerates the exact data elements returned (HTS fields, Chapter 99 references, effective duty rate, customs unit value, source shares, HHI). It clearly distinguishes this tariff look-up from the broader sibling tools such as search_site, run_calculator, or ask.
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 practical usage guidance: search modes ('Search by keyword, family, or HTS code'), a concrete example ('Try: {"query":"steel"}'), and a required action ('Cite the returned url'). It does not explicitly name alternatives or state when not to use this tool, so it stops 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.
optimize_sourcingAInspect
Solve the cheapest legal supplier mix as a real linear program: given candidate suppliers with unit costs, tariff rates, freight and capacities, return the exact cost-minimizing allocation under a demand requirement, per-supplier capacity limits, and an optional diversification cap on any one supplier's share. Solved by HiGHS, the open-source solver inside SciPy, so this is the PROVEN optimum with dual prices, not a heuristic ranking. Answers 'how should I split this volume?', 'what does the diversification cap actually cost me?', and 'which supplier's capacity is the binding constraint?'. Pass suppliers as a JSON array of objects with name and unitCost, plus optional tariffPct, freightPerUnit and capacity; landed cost per unit is unitCost x (1 + tariffPct/100) + freightPerUnit. Call it with no arguments for the parameter documentation and a runnable example. The LP text is echoed back so the run is reproducible. Cite the returned url.
| Name | Required | Description | Default |
|---|---|---|---|
| demand | No | Total units to allocate, e.g. '1000'. | |
| suppliers | No | JSON array, e.g. [{"name":"vietnam","unitCost":9.8,"tariffPct":8,"freightPerUnit":1.1},{"name":"domestic","unitCost":12.5,"freightPerUnit":0.4,"capacity":700}]. Omit for usage docs. | |
| maxSharePct | No | Diversification cap: the most any single supplier may take, in percent, e.g. '60'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does a thorough job. It discloses the use of the HiGHS solver, guaranteed exact optimum with dual prices, reproducibility of the LP text, and the need to cite the returned URL—none of which are derivable from the input schema.
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 dense but every sentence contributes: purpose, solver guarantee, questions answered, input format, example, no-arg behavior, reproducibility, and citation requirement. It is front-loaded and contains no filler.
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 3-parameter tool with no output schema, the description covers the essential outcomes: allocation, dual prices, binding constraints, echoed LP text, and a returned URL. It does not fully specify the response structure, but the key behaviors are disclosed well enough for an agent to call and interpret the 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?
Although the schema already describes all three parameters (100% coverage), the description adds critical semantics: the landed cost formula, the optional supplier fields, interpretable examples, and the behavior when suppliers are omitted. This materially enriches parameter understanding.
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 and resource: solve the cheapest legal supplier mix as a real linear program and return the exact cost-minimizing allocation. It also explicitly contrasts with heuristic ranking, which distinguishes it from other calculation tools in the sibling list.
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 clearly communicates when to use the tool: when splitting volume across suppliers under demand, capacity, and diversification constraints. It also explains the no-arguments invocation for documentation, but does not explicitly discuss when not to use it or name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_calculatorAInspect
Run a manufacturing calculation. Provide inputs by field key or slugified label (see get_calculator); missing inputs use the calculator's documented defaults. Returns labeled results with units, the formula, and a citation URL that should be shared with the user. Inputs are checked against their documented min/max; an impossible value is refused by name. derivation.confidence grades the OUTPUT: "none" if any result row could not be computed. Try: {"tool":"oee"} (defaults fill every input)
| Name | Required | Description | Default |
|---|---|---|---|
| tool | Yes | Calculator slug from search_calculators | |
| inputs | No | Input values keyed by field key or label param, e.g. {"availability": 90} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries the burden, and it does well: it discloses that inputs are validated against min/max and impossible values are refused by name, and that derivation.confidence grades the output with 'none' for incomplete computation. It also notes the citation URL should be shared, which is a behavioral expectation. It does not explicitly state read-only nature, but for a calculation tool that is implied and no contradiction 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?
The description is moderately lengthy but every sentence carries weight: purpose, input handling, output content, validation, confidence grading, and an example. It is front-loaded with the core action and then flows logically into supporting details. The structure is effective, though slightly verbose; it could trim some phrasing, but nothing is wasted.
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 tool with no output schema, the description provides a remarkably complete picture: it lists the return elements (labeled results, units, formula, citation URL), the confidence field's meaning, and a concrete example. An agent can confidently invoke this tool and understand what to expect. No significant gaps remain for correct invocation.
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% (both parameters and the nested inputs object are described), so baseline is 3. The description adds significant value beyond the schema by explaining how to reference input keys (field key or slugified label), that defaults are applied for missing inputs, and that validation occurs—details not present in the schema. This helps the agent construct valid and complete input objects.
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 ('Run') and resource ('manufacturing calculation') and immediately clarifies what that means: executing a calculation with inputs and defaults, returning results, formula, and citation URL. It also distinguishes itself from sibling tools like get_calculator (which likely retrieves calculator metadata) and search_calculators (which finds calculators) by focusing on execution.
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 provide inputs (by field key or slugified label) and points to get_calculator for details. It explicitly mentions that missing inputs use defaults, giving the agent a clear path for validation. The example call further demonstrates usage. While it does not explicitly state 'use this when you want to perform a calculation,' that is strongly implied, and it effectively guides the agent on the prerequisites and expected flow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_calculatorsAInspect
Search MFG Calcs' library of 5,000+ manufacturing calculators (machining, molding, welding, OEE, cost estimating, energy, quality, maintenance, and more). Returns matching calculators with their tool slug for run_calculator. Try: {"query":"OEE"}
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results, default 10 | |
| query | Yes | What to calculate, e.g. 'OEE' or 'injection molding cycle time' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It establishes the tool as a non-destructive search operation, describes that it returns matching calculators with slugs, and gives a realistic example. It does not mention pagination or empty-result handling, but those are minor for this tool.
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 compact, front-loaded with the main purpose, and every sentence serves a real end-user need. The example JSON snippet is useful without bloating the description.
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 search tool with only two parameters, full schema descriptions, and no output schema, the description provides enough: what is searched, the scope of search, the return payload's key fields, and a concrete query example. Nothing critical is missing for correct selection and invocation.
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 the schema itself documents both query and limit. The description adds a useful example and a list of content categories but does not meaningfully extend parameter semantics 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?
The description clearly states that the tool searches MFG Calcs' library of 5,000+ manufacturing calculators and lists broad categories. It also explains the key output—matching calculators with tool slugs for run_calculator—which distinguishes it from sibling tools like get_calculator and run_calculator.
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 provides clear context: this is the discovery/search entry point, and its result is meant to feed run_calculator. The example query 'OEE' gives an agent a concrete model for invocation. However, it does not explicitly state when to prefer this over get_calculator or search_site.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_siteAInspect
Search everything on mfgcalcs.com beyond calculators: 64 live economic data series (imports, prices, wages, energy), 57 tariff families, state cost data, calculator categories, and datasets. Returns typed matches with URLs to cite. Use search_calculators for the 5,000+ calculators themselves. Try: {"query":"industrial electricity price"}
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max matches, default 10, max 25 | |
| query | Yes | Anything: 'steel imports', 'fastener tariff', 'texas electricity' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It is transparent about what the tool searches, that results are typed matches, and that the returned matches include URLs to cite. It could add more about pagination or exact return shape, but for a search tool this is sufficient.
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 with no wasted wording. It front-loads scope, adds supporting examples, gives a sample query, and includes the sibling routing all in a compact, readable format.
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?
Given there is no output schema, the description helpfully explains that results are typed matches with citing URLs. It also names the main alternative tool and gives concrete example queries. It could describe the resulting match fields more fully, but the description provides enough operational context for an agent to correctly invoke the 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?
Schema description coverage is 100%, so the baseline is already 3. The description offers a useful concrete example query and confirms the tool is broadly queryable, but it does not add substantial parameter meaning beyond what the schema already provides for 'query' and 'limit'.
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 ('search') and a precise resource ('everything on mfgcalcs.com beyond calculators'), then enumerates covered content types (economic series, tariffs, state data, categories, datasets). It also explicitly differentiates itself from search_calculators, so an agent can distinguish the tools without inspecting schemas.
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?
It clearly says when to use this tool: for anything beyond calculators. It explicitly routes agents to search_calculators for the calculators themselves, providing the key alternative callout. This leaves no judgment call about overlapping scope.
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. Dates show when Glama detected each change.
1 tool update
- Changed
ask2 fields changed- added
Input schema / properties / context / maxLengthAdded value: +1024 - added
Input schema / properties / detailAdded value: +{ + "default": "full", + "description": "Response depth. `answer` is compact; `evidence` adds scoped evidence and adjacent facts; `full` preserves the compatibility-default forensic payload. Defaults to `full`.", + "enum": [ + "answer", + "evidence", + "full" + ], + "type": "string" +}
7 tool updates
- Changed
get_change_events2 fields changed- added
Input schema / properties / artifactAdded value: +{ + "description": "Artifact filter, e.g. 'econData'.", + "type": "string" +} - changed
Input schema / properties / series / descriptionPrevious value: -"Optional series filter. Takes the bare key ('fuels.diesel'), the archive key ('econData:fuels.diesel.history'), or an artifact name ('costPassThrough') to cover its whole family. An unknown key is an error, never an empty page."New value: +"Series key, slug, title, alias, or archive key."
- Changed
get_freshness1 field changed- changed
Input schema / properties / series / descriptionPrevious value: -"Optional series key, slug, or title fragment to filter to one series"New value: +"Series key, slug, title, or approved alias; omit for all series."
- Changed
get_index18 fields changed- added
Input schema / oneOfAdded value: +[ + { + "additionalProperties": false, + "properties": { + "index": { + "const": "get_tariff_index" + }, + "points": {} + } + }, + { + "additionalProperties": false, + "allOf": [ + { + "not": { + "required": [ + "filter", + "limit" + ] + } + } + ], + "properties": { + "filter": {}, + "index": { + "const": "rank_landed_cost" + }, + "limit": {} + } + }, + { + "additionalProperties": false, + "allOf": [ + { + "not": { + "required": [ + "filter", + "limit" + ] + } + } + ], + "properties": { + "filter": {}, + "index": { + "const": "reshoring_score" + }, + "limit": {} + } + }, + { + "additionalProperties": false, + "properties": { + "index": { + "const": "get_tariff_bill" + }, + "limit": {}, + "points": {} + } + }, + { + "additionalProperties": false, + "allOf": [ + { + "not": { + "required": [ + "filter", + "limit" + ] + } + } + ], + "properties": { + "filter": {}, + "index": { + "const": "get_policy_premium" + }, + "limit": {} + } + }, + { + "additionalProperties": false, + "allOf": [ + { + "not": { + "required": [ + "filter", + "limit" + ] + } + } + ], + "properties": { + "filter": {}, + "index": { + "const": "get_tariff_dollars_by_country" + }, + "limit": {} + } + }, + { + "additionalProperties": false, + "allOf": [ + { + "not": { + "required": [ + "filter", + "limit" + ] + } + } + ], + "properties": { + "filter": {}, + "index": { + "const": "get_source_shift" + }, + "limit": {} + } + }, + { + "additionalProperties": false, + "allOf": [ + { + "not": { + "required": [ + "filter", + "limit" + ] + } + } + ], + "properties": { + "filter": {}, + "index": { + "const": "get_tariff_effect" + }, + "limit": {} + } + }, + { + "additionalProperties": false, + "allOf": [ + { + "not": { + "required": [ + "filter", + "limit" + ] + } + } + ], + "properties": { + "filter": {}, + "index": { + "const": "get_sourcing_diversification" + }, + "limit": {} + } + }, + { + "additionalProperties": false, + "allOf": [ + { + "not": { + "required": [ + "filter", + "limit" + ] + } + } + ], + "properties": { + "filter": {}, + "index": { + "const": "get_import_price_movers" + }, + "limit": {} + } + }, + { + "additionalProperties": false, + "allOf": [ + { + "not": { + "required": [ + "filter", + "limit" + ] + } + } + ], + "properties": { + "country": {}, + "filter": {}, + "index": { + "const": "get_duty_free_routes" + }, + "limit": {}, + "scheduleYear": {} + } + }, + { + "additionalProperties": false, + "allOf": [ + { + "not": { + "required": [ + "filter", + "limit" + ] + } + } + ], + "properties": { + "filter": {}, + "index": { + "const": "get_wage_board" + }, + "limit": {} + } + }, + { + "additionalProperties": false, + "allOf": [ + { + "not": { + "required": [ + "filter", + "limit" + ] + } + } + ], + "properties": { + "filter": {}, + "index": { + "const": "get_forecast" + }, + "limit": {} + } + }, + { + "additionalProperties": false, + "properties": { + "index": { + "const": "get_forecast_accuracy" + } + } + }, + { + "additionalProperties": false, + "properties": { + "index": { + "const": "get_cost_pressure_index" + }, + "points": {} + } + }, + { + "additionalProperties": false, + "properties": { + "index": { + "const": "get_input_cost_diffusion" + }, + "points": {} + } + }, + { + "additionalProperties": false, + "allOf": [ + { + "not": { + "required": [ + "filter", + "limit" + ] + } + } + ], + "properties": { + "filter": {}, + "index": { + "const": "get_supply_chain_fragility" + }, + "limit": {} + } + }, + { + "additionalProperties": false, + "allOf": [ + { + "not": { + "required": [ + "filter", + "limit" + ] + } + } + ], + "properties": { + "filter": {}, + "index": { + "const": "get_state_cost_index" + }, + "limit": {} + } + }, + { + "additionalProperties": false, + "properties": { + "index": { + "const": "get_cost_pass_through" + } + } + }, + { + "additionalProperties": false, + "properties": { + "index": { + "const": "get_manufacturing_pmi" + }, + "points": {} + } + }, + { + "additionalProperties": false, + "allOf": [ + { + "not": { + "required": [ + "filter", + "limit" + ] + } + } + ], + "properties": { + "filter": {}, + "index": { + "const": "get_reshoring_break_even" + }, + "limit": {} + } + }, + { + "additionalProperties": false, + "properties": { + "index": { + "const": "get_tariff_action_ledger" + } + } + }, + { + "additionalProperties": false, + "properties": { + "index": { + "const": "get_eti_outlook" + } + } + }, + { + "additionalProperties": false, + "dependencies": { + "asOf": [ + "filter" + ] + }, + "properties": { + "asOf": {}, + "filter": {}, + "index": { + "const": "get_vintages" + }, + "limit": {} + } + }, + { + "additionalProperties": false, + "properties": { + "artifact": {}, + "filter": {}, + "index": { + "const": "get_revisions" + }, + "limit": {}, + "since": {} + } + }, + { + "additionalProperties": false, + "properties": { + "filter": {}, + "index": { + "const": "get_seasonally_adjusted" + } + } + }, + { + "additionalProperties": false, + "allOf": [ + { + "not": { + "required": [ + "filter", + "naics" + ] + } + } + ], + "properties": { + "filter": {}, + "index": { + "const": "get_hs_naics" + }, + "limit": {}, + "naics": {} + } + } +] - added
Input schema / properties / artifactAdded value: +{ + "description": "Revision artifact filter.", + "maxLength": 500, + "type": "string" +} - added
Input schema / properties / asOfAdded value: +{ + "description": "Vintage cutoff (YYYY-MM-DD).", + "maxLength": 500, + "type": "string" +} - changed
Input schema / properties / country / descriptionPrevious value: -"Origin qualifier for get_duty_free_routes, preserved independently from its optional family filter."New value: +"Duty-free origin." - added
Input schema / properties / country / maxLengthAdded value: +500 - changed
Input schema / properties / filter / descriptionPrevious value: -"Optional narrowing value, interpreted per index: a product family (most tariff and sourcing indices), a country (get_tariff_dollars_by_country), a U.S. state (get_state_cost_index), a trade (get_wage_board), or a series key (get_forecast). Omit for the whole index."New value: +"Target selector; meaning depends on index." - added
Input schema / properties / filter / maxLengthAdded value: +500 - changed
Input schema / properties / index / descriptionPrevious value: -"Which index to fetch. Use one of the names listed in this tool's description."New value: +"Published target." - removed
Input schema / properties / index / enumRemoved value: -[ - "get_tariff_index", - "rank_landed_cost", - "reshoring_score", - "get_tariff_bill", - "get_policy_premium", - "get_tariff_dollars_by_country", - "get_source_shift", - "get_tariff_effect", - "get_sourcing_diversification", - "get_import_price_movers", - "get_duty_free_routes", - "get_wage_board", - "get_forecast", - "get_forecast_accuracy", - "get_cost_pressure_index", - "get_input_cost_diffusion", - "get_supply_chain_fragility", - "get_state_cost_index", - "get_cost_pass_through", - "get_manufacturing_pmi", - "get_reshoring_break_even", - "get_tariff_action_ledger", - "get_eti_outlook", - "get_vintages", - "get_revisions", - "get_seasonally_adjusted", - "get_hs_naics" -] - added
Input schema / properties / index / maxLengthAdded value: +500 - changed
Input schema / properties / limit / descriptionPrevious value: -"Optional row depth for the indices that return a ranked board: \"all\" or a number. Default 15. Every payload carries a resultSets block saying what came back, how much exists, and the exact call for the rest."New value: +"Rows: \"all\" or count." - added
Input schema / properties / limit / maxLengthAdded value: +500 - added
Input schema / properties / naicsAdded value: +{ + "description": "Six-digit NAICS code for get_hs_naics.", + "maxLength": 500, + "type": "string" +} - changed
Input schema / properties / points / descriptionPrevious value: -"Optional history depth for the indices that carry a time series (get_tariff_index, get_tariff_bill, get_cost_pressure_index, get_input_cost_diffusion, get_manufacturing_pmi): \"all\", \"latest\", or a number of newest months. Default 24."New value: +"History: \"latest\", \"all\", or count." - added
Input schema / properties / points / maxLengthAdded value: +500 - changed
Input schema / properties / scheduleYear / descriptionPrevious value: -"Four-digit HTS schedule year for get_duty_free_routes; unsupported years are declined explicitly."New value: +"Duty-free HTS year." - added
Input schema / properties / scheduleYear / maxLengthAdded value: +500 - added
Input schema / properties / sinceAdded value: +{ + "description": "Revision cutoff (YYYY-MM-DD).", + "maxLength": 500, + "type": "string" +}
- Changed
get_receipts1 field changed- changed
Input schema / properties / series / descriptionPrevious value: -"Series slug (e.g. industrial-electricity-price) for that series' archived receipts; omit for the catalogue"New value: +"Series key, slug, title, or approved alias; omit for the catalogue."
- Changed
get_revisions5 fields changed- added
Input schema / properties / artifact / maxLengthAdded value: +500 - added
Input schema / properties / limit / maxLengthAdded value: +500 - changed
Input schema / properties / series / descriptionPrevious value: -"Series key to scope the record to. Bare ('demand.vehicleSales') or namespaced ('econData:demand.vehicleSales.history'); both resolve to the same series. An unknown key is an error, never an empty record."New value: +"Series key, slug, title, approved alias, or archive key. Unknown or ambiguous values are errors." - added
Input schema / properties / series / maxLengthAdded value: +500 - added
Input schema / properties / since / maxLengthAdded value: +500
- Changed
get_vintages5 fields changed- added
Input schema / dependenciesAdded value: +{ + "asOf": [ + "series" + ] +} - added
Input schema / properties / asOf / maxLengthAdded value: +500 - added
Input schema / properties / limit / maxLengthAdded value: +500 - changed
Input schema / properties / series / descriptionPrevious value: -"Series key, bare or namespaced: 'fuels.diesel' and 'econData:fuels.diesel.history' are the same series. Omit for the catalogue."New value: +"Series key, slug, title, approved alias, or archive key; omit for the catalogue." - added
Input schema / properties / series / maxLengthAdded value: +500
- Changed
lookup_tariff4 fields changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Max family matches, default 5, max 10"New value: +"Max family matches, default 5; allowed range 1-10" - added
Input schema / properties / limit / maximumAdded value: +10 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer"
1 tool update
- Changed
get_index2 fields changed- added
Input schema / properties / countryAdded value: +{ + "description": "Origin qualifier for get_duty_free_routes, preserved independently from its optional family filter.", + "type": "string" +} - added
Input schema / properties / scheduleYearAdded value: +{ + "description": "Four-digit HTS schedule year for get_duty_free_routes; unsupported years are declined explicitly.", + "type": "string" +}
1 tool update
- Added
brief
1 tool update
- Changed
ask1 field changed- added
Input schema / properties / contextAdded value: +{ + "description": "Optional. The `context` string from a previous ask response. Pass it to ask a follow-up: 'and what about vietnam' or 'why did it go up' then resolve against the earlier subject instead of being answered on their own.", + "type": "string" +}
3 tool updates
- Changed
get_index2 fields changed- added
Input schema / properties / limitAdded value: +{ + "description": "Optional row depth for the indices that return a ranked board: \"all\" or a number. Default 15. Every payload carries a resultSets block saying what came back, how much exists, and the exact call for the rest.", + "type": "string" +} - changed
Input schema / properties / points / descriptionPrevious value: -"Optional history depth, for the indices that carry a time series (get_tariff_index, get_tariff_bill, get_cost_pressure_index)."New value: +"Optional history depth for the indices that carry a time series (get_tariff_index, get_tariff_bill, get_cost_pressure_index, get_input_cost_diffusion, get_manufacturing_pmi): \"all\", \"latest\", or a number of newest months. Default 24."
- Added
get_revisions - Added
get_vintages
1 tool update
- Changed
get_change_events1 field changed- changed
Input schema / properties / series / descriptionPrevious value: -"Optional series filter"New value: +"Optional series filter. Takes the bare key ('fuels.diesel'), the archive key ('econData:fuels.diesel.history'), or an artifact name ('costPassThrough') to cover its whole family. An unknown key is an error, never an empty page."
2 tool updates
- Changed
get_index1 field changed- changed
Input schema / properties / index / enumPrevious value: -[ - "get_tariff_index", - "rank_landed_cost", - "reshoring_score", - "get_tariff_bill", - "get_policy_premium", - "get_tariff_dollars_by_country", - "get_source_shift", - "get_tariff_effect", - "get_sourcing_diversification", - "get_import_price_movers", - "get_duty_free_routes", - "get_wage_board", - "get_forecast", - "get_forecast_accuracy", - "get_cost_pressure_index", - "get_input_cost_diffusion", - "get_supply_chain_fragility", - "get_state_cost_index", - "get_cost_pass_through", - "get_manufacturing_pmi", - "get_reshoring_break_even", - "get_tariff_action_ledger", - "get_eti_outlook" -]New value: +[ + "get_tariff_index", + "rank_landed_cost", + "reshoring_score", + "get_tariff_bill", + "get_policy_premium", + "get_tariff_dollars_by_country", + "get_source_shift", + "get_tariff_effect", + "get_sourcing_diversification", + "get_import_price_movers", + "get_duty_free_routes", + "get_wage_board", + "get_forecast", + "get_forecast_accuracy", + "get_cost_pressure_index", + "get_input_cost_diffusion", + "get_supply_chain_fragility", + "get_state_cost_index", + "get_cost_pass_through", + "get_manufacturing_pmi", + "get_reshoring_break_even", + "get_tariff_action_ledger", + "get_eti_outlook", + "get_vintages", + "get_revisions", + "get_seasonally_adjusted", + "get_hs_naics" +]
- Added
optimize_sourcing
24 tool updates
- Removed
get_cost_pass_through - Removed
get_cost_pressure_index - Removed
get_duty_free_routes - Removed
get_eti_outlook - Removed
get_forecast - Removed
get_forecast_accuracy - Removed
get_import_price_movers - Added
get_index - Removed
get_input_cost_diffusion - Removed
get_manufacturing_pmi - Removed
get_policy_premium - Removed
get_reshoring_break_even - Removed
get_source_shift - Removed
get_sourcing_diversification - Removed
get_state_cost_index - Removed
get_supply_chain_fragility - Removed
get_tariff_action_ledger - Removed
get_tariff_bill - Removed
get_tariff_dollars_by_country - Removed
get_tariff_effect - Removed
get_tariff_index - Removed
get_wage_board - Removed
rank_landed_cost - Removed
reshoring_score
2 tool updates
- Added
get_receipts - Added
get_whats_new
3 tool updates
- Added
get_change_events - Added
get_citation - Added
get_freshness
30 tool updates
- Changed
ask1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_calculator1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_cost_pass_through1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_cost_pressure_index1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_duty_free_routes1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_eti_outlook1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_forecast1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_forecast_accuracy1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_import_price_movers1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_input_cost_diffusion1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_manufacturing_pmi1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_policy_premium1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_provenance1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_reshoring_break_even1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_source_shift1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_sourcing_diversification1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_state_cost_index1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_supply_chain_fragility1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_tariff_action_ledger1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_tariff_bill1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_tariff_dollars_by_country1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_tariff_effect1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_tariff_index1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
get_wage_board1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
lookup_tariff1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
rank_landed_cost1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
reshoring_score1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
run_calculator1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
search_calculators1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
search_site1 field changed- added
Input schema / additionalPropertiesAdded value: +false
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Instant parametric cost estimates for custom manufacturing: CNC, molding, sheet metal, 3DP, PCB.
140+ calculators and data tools — finance, health, science, global comparisons and more.
Steel takeoff, weight and gauge calculators plus RFQ, RFI, NCR and Bluebeam markup generators.
Parametric should-cost: P50/P80/P90 estimates, 801 materials, 25 countries, quote review.
Related MCP Servers
- AlicenseCqualityBmaintenanceDeterministic Odoo ERP calculators: implementation, migration and upgrade cost, ROI and TCO, US/Canada/EU sales tax and VAT, Canadian payroll source deductions, and inventory maths (reorder point, safety stock, EOQ, landed cost, OEE). 24 tools, each a pure function, the numbers are arithmetic rather than a model's guess. Hosted remote server, no install and no API key; a stdio bridge is included24MIT
- AlicenseAqualityDmaintenanceLive US import tariff calculator covering 19,856 HTS codes, allowing AI to look up stacked tariff rates and project the November 10, 2026 cliff impact on any product.245MIT
- FlicenseAqualityCmaintenanceReal-time supply chain risk intelligence with 25 tools: Global Disruption Index, Manufacturing Index, commodity prices, port congestion, border delays, chokepoints, air cargo, trade policy, energy, rail, freight, economic indicators, predictive signals, and AI intelligence briefs.6341-
- FlicenseNot gradedqualityDmaintenanceIntelligently generates cost estimates and lead times for manufacturing RFPs by parsing requests, matching against historical quotes, and calculating activity-based costs with confidence scoring and human approval workflows.-
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Most tools have clearly distinct roles, especially the calculator search/inspect/run flow and the ask-vs-brief distinction. However, get_revisions, get_vintages, and get_change_events all overlap around published and revised data history, and their descriptions only partially clarify which one an agent should choose for a revision trail.
The vast majority of tools follow a clean lowercase verb_noun snake_case pattern: get_*, search_*, run_calculator, lookup_tariff, and optimize_sourcing. The one-word verbs `ask` and `brief` are minor deviations, but no mixed casing or contradictory verb styles appear.
At 17 tools, the set sits just above the typical well-scoped 3–15 range, but the domain is broad: calculators, live economic data, tariffs, historical archives, and verification. The count feels slightly heavy rather than bloated, since most tools serve a distinct purpose.
The calculator lifecycle is complete: search_calculators, get_calculator, and run_calculator cover discovery, inspection, and execution. The data side is also thorough with freshness, history, citations, and provenance, though there is no obvious direct raw time-series fetch or bulk export, so agents may need to work around that via ask, brief, or get_index.