com.mfgcalcs/mfgcalcs
REMOTE · WWW.MFGCALCS.COM · SCANNED SEP 24
5,400+ manufacturing calculators plus live U.S. tariff, PMI, cost-index, wage, and forecast data.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 17 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability71
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2870 tokens (~168/item across 17 items; 17 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management95
- Stability check failed: schema churn in the 30 days we've observed: 0 tool removals, 1 breaking changes, 0 auth/transport breaks, 4 additions. See how to fix → Fail
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 17 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 18 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities40
- Spec-recency check failed: implements MCP spec 2025-03-26; the latest is 2026-07-28. See how to fix → Fail
How do I install the com.mfgcalcs/mfgcalcs MCP server?
com.mfgcalcs/mfgcalcs is a hosted endpoint at https://www.mfgcalcs.com/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · www.mfgcalcs.com
claude mcp add --transport http com-mfgcalcs-mfgcalcs 'https://www.mfgcalcs.com/api/mcp'
{
"mcpServers": {
"com-mfgcalcs-mfgcalcs": {
"url": "https://www.mfgcalcs.com/api/mcp"
}
}
} {
"servers": {
"com-mfgcalcs-mfgcalcs": {
"type": "http",
"url": "https://www.mfgcalcs.com/api/mcp"
}
}
} [mcp_servers.com-mfgcalcs-mfgcalcs] url = "https://www.mfgcalcs.com/api/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-mfgcalcs-mfgcalcs": {
"type": "remote",
"url": "https://www.mfgcalcs.com/api/mcp",
"enabled": true
}
}
} openclaw mcp add com-mfgcalcs-mfgcalcs --url 'https://www.mfgcalcs.com/api/mcp' --transport streamable-http
mcp_servers:
com-mfgcalcs-mfgcalcs:
url: "https://www.mfgcalcs.com/api/mcp" {
"McpServers": {
"com-mfgcalcs-mfgcalcs": {
"Transport": "http",
"Url": "https://www.mfgcalcs.com/api/mcp"
}
}
} assistant mcp add com-mfgcalcs-mfgcalcs -t streamable-http -u 'https://www.mfgcalcs.com/api/mcp'
{
"mcpServers": {
"com-mfgcalcs-mfgcalcs": {
"type": "http",
"url": "https://www.mfgcalcs.com/api/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 19 Sept 26 +9
No change was recorded against any check on this day. Stability & Change Management went from 32 to 95.
- 17 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 21 to 32.
- 16 Sept 26 0
- The server rewrote its instructions, which are the text every model session reads security
- 11 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 18 to 21.
- 10 Sept 26 −1
No change was recorded against any check on this day. Stability & Change Management went from 21 to 18.
- 7 Sept 26 +1
- Tool “ask” rewrote its description, which is the text the model reads security
- 5 Sept 26 −11
- Stability: pass → fail ▼ security
- 3 Sept 26 −1
- Tool “ask” rewrote its description, which is the text the model reads security
- “ask” added an optional parameter “detail” cosmetic
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 24 Sept 2026 · Probed https://www.mfgcalcs.com/api/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=*.mfgcalcs.com | CN=YR1,O=Let's Encrypt,C=US | 13 Sept 2026 | 12 Dec 2026 | RSA 2048 | SHA256-RSA | 54666c29bd8673e34ebfd148dec6f21231b |
| SANs: *.mfgcalcs.com, mfgcalcs.com | ||||||
| CN=YR1,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | a20253f15f2691c05dc1ce13b9bcca4e |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of www.mfgcalcs.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| mfgcalcs.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=63072000; includeSubDomains; preload |
| content-security-policy | default-src 'self'; base-uri 'self'; object-src 'none'; form-action 'self'; frame-ancestors 'none'; script-src 'self' 'unsafe-inline' 'wasm-unsafe-eval' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' data: https://fonts.gstatic.com; img-src 'self' data: blob: https:; connect-src 'self' https://www.googletagmanager.com https://www.google-analytics.com https://*.google-analytics.com; worker-src 'self' blob:; manifest-src 'self'; upgrade-insecure-requests |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | no-referrer |
| permissions-policy | camera=(), microphone=(), geolocation=(), payment=() |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://www.mfgcalcs.com/api/mcp | Verified | 400 | |
| http (plaintext) | http://www.mfgcalcs.com/api/mcp | HTTPS enforced | 308 | https://www.mfgcalcs.com/api/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
ask ~253
Answer manufacturing questions from committed data; deterministic, no LLM. Missing subjects and product ties ask for clarification. Calculators collect required inputs, retain corrections via `context`, and run when complete; defaults appear only in explicit worked examples. Statistics name period, frequency, scope and measure. `detail`: `answer` is compact, `evidence` adds scoped evidence and calculator guidance, `full` is default. Pass returned `context` for follow-ups. Shared by MFGChat, MFGSearch and `/api/answer`. Cite resolved sources. Try: {"query":"OEE","detail":"evidence"}
| Name | Type | Req | Description |
|---|---|---|---|
| context | string | – | 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 answe… |
| detail | string | – | Response depth. `answer` is compact; `evidence` adds scoped evidence and adjacent facts; `full` preserves the compatibility-default forensic payload. Defaults to `full`. |
| query | string | yes | A full question, e.g. 'tariff on fasteners' or 'diesel price' |
No output schema declared.
No examples provided.
brief ~84
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 | Type | Req | Description |
|---|---|---|---|
| situation | string | yes | In plain words: 'importing $250,000 of aluminium from vietnam'. |
No output schema declared.
No examples provided.
get_calculator ~84
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 | Type | Req | Description |
|---|---|---|---|
| tool | string | yes | Calculator slug, e.g. 'oee' or 'unit-cost' |
No output schema declared.
No examples provided.
get_change_events ~128
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 | Type | Req | Description |
|---|---|---|---|
| artifact | string | – | Artifact filter, e.g. 'econData'. |
| limit | string | – | Page size (bounded server-side) |
| series | string | – | Series key, slug, title, alias, or archive key. |
| since | string | – | Non-negative integer offset from a previous page's cursor; omit to start at 0 |
| type | string | – | 'published' or 'revised' |
No output schema declared.
No examples provided.
get_citation ~152
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 | Type | Req | Description |
|---|---|---|---|
| accessed | string | – | ISO date (YYYY-MM-DD) the data was accessed; defaults to today |
| dataset | string | – | Dataset id from the catalogue; omit to list what is citable |
No output schema declared.
No examples provided.
get_freshness ~118
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 | Type | Req | Description |
|---|---|---|---|
| series | string | – | Series key, slug, title, or approved alias; omit for all series. |
No output schema declared.
No examples provided.
get_index ~238
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 | Type | Req | Description |
|---|---|---|---|
| artifact | string | – | Revision artifact filter. |
| asOf | string | – | Vintage cutoff (YYYY-MM-DD). |
| country | string | – | Duty-free origin. |
| filter | string | – | Target selector; meaning depends on index. |
| index | string | yes | Published target. |
| limit | string | – | Rows: "all" or count. |
| naics | string | – | Six-digit NAICS code for get_hs_naics. |
| points | string | – | History: "latest", "all", or count. |
| scheduleYear | string | – | Duty-free HTS year. |
| since | string | – | Revision cutoff (YYYY-MM-DD). |
No output schema declared.
No examples provided.
get_provenance ~145
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_receipts ~114
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 | Type | Req | Description |
|---|---|---|---|
| series | string | – | Series key, slug, title, or approved alias; omit for the catalogue. |
No output schema declared.
No examples provided.
get_revisions ~141
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 | Type | Req | Description |
|---|---|---|---|
| artifact | string | – | Artifact name to scope the record to. |
| limit | string | – | Max revisions to return. |
| series | string | – | Series key, slug, title, approved alias, or archive key. Unknown or ambiguous values are errors. |
| since | string | – | ISO date (YYYY-MM-DD); only later revisions. |
No output schema declared.
No examples provided.
get_vintages ~141
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 | Type | Req | Description |
|---|---|---|---|
| asOf | string | – | ISO date (YYYY-MM-DD). Returns the series as it stood on that date, ignoring every revision published since. |
| limit | string | – | Max observations to return. |
| series | string | – | Series key, slug, title, approved alias, or archive key; omit for the catalogue. |
No output schema declared.
No examples provided.
get_whats_new ~112
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: {}
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
lookup_tariff ~165
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 | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max family matches, default 5; allowed range 1-10 |
| query | string | yes | Keyword, family key, or HTS code/prefix, e.g. 'bearings' or '8482' |
No output schema declared.
No examples provided.
optimize_sourcing ~325
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 | Type | Req | Description |
|---|---|---|---|
| demand | string | – | Total units to allocate, e.g. '1000'. |
| maxSharePct | string | – | Diversification cap: the most any single supplier may take, in percent, e.g. '60'. |
| suppliers | string | – | 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. |
No output schema declared.
No examples provided.
run_calculator ~149
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 | Type | Req | Description |
|---|---|---|---|
| inputs | object | – | Input values keyed by field key or label param, e.g. {"availability": 90} |
| tool | string | yes | Calculator slug from search_calculators |
No output schema declared.
No examples provided.
search_calculators ~106
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 | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max results, default 10 |
| query | string | yes | What to calculate, e.g. 'OEE' or 'injection molding cycle time' |
No output schema declared.
No examples provided.
search_site ~120
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 | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max matches, default 10, max 25 |
| query | string | yes | Anything: 'steel imports', 'fastener tariff', 'texas electricity' |
No output schema declared.
No examples provided.
What is the com.mfgcalcs/mfgcalcs MCP server?
com.mfgcalcs/mfgcalcs is an MCP server listed in the public MCP registry as com.mfgcalcs/mfgcalcs. 5,400+ manufacturing calculators plus live U.S. tariff, PMI, cost-index, wage, and forecast data. This page covers its hosted endpoint (https://www.mfgcalcs.com/api/mcp).
Is the com.mfgcalcs/mfgcalcs MCP server safe to use?
com.mfgcalcs/mfgcalcs scores 77 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the com.mfgcalcs/mfgcalcs MCP server expose?
com.mfgcalcs/mfgcalcs exposes 17 tools: search_calculators, get_calculator, run_calculator, lookup_tariff, get_index, and 12 more. Their descriptions and schemas cost roughly 2,575 tokens of context every time the server is loaded.
Does the com.mfgcalcs/mfgcalcs MCP server require authentication?
No. We connected to com.mfgcalcs/mfgcalcs without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the com.mfgcalcs/mfgcalcs MCP server still maintained?
com.mfgcalcs/mfgcalcs is still listed as active in the MCP registry. We last reached this channel on 24 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.