Koskamo

MFG Calcs MCP

An official MCP server operated by MFG Calcs that allows AI agents to access the entire platform via Model Context Protocol. It provides keyless access to 5,384 manufacturing calculators, live U.S. manufacturing data, tariff rates, cost indices, and forecasting tools, enabling agents to perform calculations, look up data series, and retrieve cited answers.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

MFG Calcs MCP logo, by MFG CalcsVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-06Operated by MFG Calcs
MCP endpoint (Streamable HTTP)
https://www.mfgcalcs.com/api/mcp
Vendor documentation

What its tools do

17 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

17 of 17 have a description · 0 of 17 declare behavior hints · 15 of 15 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to mfgcalcs.com ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Run manufacturing calculators for CNC, welding, or packaging
  • Look up live U.S. tariff rates and cost indices
  • Retrieve cited manufacturing data and forecasts
  • Perform site-wide search across calculators and data

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
mfgcalcs 1.0.0
MCP protocol negotiated in check
2025-03-26
Tools
17 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

MFG Calcs: live U.S. manufacturing data and 5,000+ deterministic calculators, keyless. Pick a tool by the question you were asked. Natural-language question about costs, tariffs, imports, wages, energy or a definition -> `ask`, which returns one cited number. A published index or gauge (cost pressure, PMI, effective tariff rate, wages, forecasts, state costs, reshoring, sourcing shifts) -> `get_index`; a GET to this endpoint lists every index with its definition, accepted selectors, and one valid request. A calculation -> `search_calculators`, then `run_calculator`. A duty rate for a product -> `lookup_tariff`. Splitting volume across suppliers -> `optimize_sourcing`, a real linear program. Anything else on the site -> `search_site`. Everything is computed from committed public data (USITC, BLS, EIA, Census, BEA), never from a model, so the same inputs always give the same answer. Every result carries a citable url: quote it. Before treating a recent reading as final, check `get_freshness` for staleness and `get_revisions` for whether it has been restated; `get_vintages` recovers what a series said on a past date, so an old citation stays reproducible. No API key, ever. Attribution is the whole licence (CC BY 4.0).

Tools

17 advertised

search_calculators
Advertised by the server during the last successful anonymous check.

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"}

search_calculators input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "limit": {
      "type": "number",
      "description": "Max results, default 10"
    },
    "query": {
      "type": "string",
      "description": "What to calculate, e.g. 'OEE' or 'injection molding cycle time'"
    }
  },
  "additionalProperties": false
}
get_calculator
Advertised by the server during the last successful anonymous check.

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"}

get_calculator input schema
{
  "type": "object",
  "required": [
    "tool"
  ],
  "properties": {
    "tool": {
      "type": "string",
      "description": "Calculator slug, e.g. 'oee' or 'unit-cost'"
    }
  },
  "additionalProperties": false
}
run_calculator
Advertised by the server during the last successful anonymous check.

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)

run_calculator input schema
{
  "type": "object",
  "required": [
    "tool"
  ],
  "properties": {
    "tool": {
      "type": "string",
      "description": "Calculator slug from search_calculators"
    },
    "inputs": {
      "type": "object",
      "description": "Input values keyed by field key or label param, e.g. {\"availability\": 90}",
      "additionalProperties": {
        "type": [
          "number",
          "string"
        ]
      }
    }
  },
  "additionalProperties": false
}
lookup_tariff
Advertised by the server during the last successful anonymous check.

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"}

lookup_tariff input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 10,
      "minimum": 1,
      "description": "Max family matches, default 5; allowed range 1-10"
    },
    "query": {
      "type": "string",
      "description": "Keyword, family key, or HTS code/prefix, e.g. 'bearings' or '8482'"
    }
  },
  "additionalProperties": false
}
get_index
Advertised by the server during the last successful anonymous check.

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"}.

get_index input schema
{
  "type": "object",
  "oneOf": [
    {
      "properties": {
        "index": {
          "const": "get_tariff_index"
        },
        "points": {}
      },
      "additionalProperties": false
    },
    {
      "allOf": [
        {
          "not": {
            "required": [
              "filter",
              "limit"
            ]
          }
        }
      ],
      "properties": {
        "index": {
          "const": "rank_landed_cost"
        },
        "limit": {},
        "filter": {}
      },
      "additionalProperties": false
    },
    {
      "allOf": [
        {
          "not": {
            "required": [
              "filter",
              "limit"
            ]
          }
        }
      ],
      "properties": {
        "index": {
          "const": "reshoring_score"
        },
        "limit": {},
        "filter": {}
      },
      "additionalProperties": false
    },
    {
      "properties": {
        "index": {
          "const": "get_tariff_bill"
        },
        "limit": {},
        "points": {}
      },
      "additionalProperties": false
    },
    {
      "allOf": [
        {
          "not": {
            "required": [
              "filter",
              "limit"
            ]
          }
        }
      ],
      "properties": {
        "index": {
          "const": "get_policy_premium"
        },
        "limit": {},
        "filter": {}
      },
      "additionalProperties": false
    },
    {
      "allOf": [
        {
          "not": {
            "required": [
              "filter",
              "limit"
            ]
          }
        }
      ],
      "properties": {
        "index": {
          "const": "get_tariff_dollars_by_country"
        },
        "limit": {},
        "filter": {}
      },
      "additionalProperties": false
    },
    {
      "allOf": [
        {
          "not": {
            "required": [
              "filter",
              "limit"
            ]
          }
        }
      ],
      "properties": {
        "index": {
          "const": "get_source_shift"
        },
        "limit": {},
        "filter": {}
      },
      "additionalProperties": false
    },
    {
      "allOf": [
        {
          "not": {
            "required": [
              "filter",
              "limit"
            ]
          }
        }
      ],
      "properties": {
        "index": {
          "const": "get_tariff_effect"
        },
        "limit": {},
        "filter": {}
      },
      "additionalProperties": false
    },
    {
      "allOf": [
        {
          "not": {
            "required": [
              "filter",
              "limit"
            ]
          }
        }
      ],
      "properties": {
        "index": {
          "const": "get_sourcing_diversification"
        },
        "limit": {},
        "filter": {}
      },
      "additionalProperties": false
    },
    {
      "allOf": [
        {
          "not": {
            "required": [
              "filter",
              "limit"
            ]
          }
        }
      ],
      "properties": {
        "index": {
          "const": "get_import_price_movers"
        },
        "limit": {},
        "filter": {}
      },
      "additionalProperties": false
    },
    {
      "allOf": [
        {
          "not": {
            "required": [
              "filter",
              "limit"
            ]
          }
        }
      ],
      "properties": {
        "index": {
          "const": "get_duty_free_routes"
        },
        "limit": {},
        "filter": {},
        "country": {},
        "scheduleYear": {}
      },
      "additionalProperties": false
    },
    {
      "allOf": [
        {
          "not": {
            "required": [
              "filter",
              "limit"
            ]
          }
        }
      ],
      "properties": {
        "index": {
          "const": "get_wage_board"
        },
        "limit": {},
        "filter": {}
      },
      "additionalProperties": false
    },
    {
      "allOf": [
        {
          "not": {
            "required": [
              "filter",
              "limit"
            ]
          }
        }
      ],
      "properties": {
        "index": {
          "const": "get_forecast"
        },
        "limit": {},
        "filter": {}
      },
      "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": {
        "index": {
          "const": "get_supply_chain_fragility"
        },
        "limit": {},
        "filter": {}
      },
      "additionalProperties": false
    },
    {
      "allOf": [
        {
          "not": {
            "required": [
              "filter",
              "limit"
            ]
          }
        }
      ],
      "properties": {
        "index": {
          "const": "get_state_cost_index"
        },
        "limit": {},
        "filter": {}
      },
      "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": {
        "index": {
          "const": "get_reshoring_break_even"
        },
        "limit": {},
        "filter": {}
      },
      "additionalProperties": false
    },
    {
      "properties": {
        "index": {
          "const": "get_tariff_action_ledger"
        }
      },
      "additionalProperties": false
    },
    {
      "properties": {
        "index": {
          "const": "get_eti_outlook"
        }
      },
      "additionalProperties": false
    },
    {
      "properties": {
        "asOf": {},
        "index": {
          "const": "get_vintages"
        },
        "limit": {},
        "filter": {}
      },
      "dependencies": {
        "asOf": [
          "filter"
        ]
      },
      "additionalProperties": false
    },
    {
      "properties": {
        "index": {
          "const": "get_revisions"
        },
        "limit": {},
        "since": {},
        "filter": {},
        "artifact": {}
      },
      "additionalProperties": false
    },
    {
      "properties": {
        "index": {
          "const": "get_seasonally_adjusted"
        },
        "filter": {}
      },
      "additionalProperties": false
    },
    {
      "allOf": [
        {
          "not": {
            "required": [
              "filter",
              "naics"
            ]
          }
        }
      ],
      "properties": {
        "index": {
          "const": "get_hs_naics"
        },
        "limit": {},
        "naics": {},
        "filter": {}
      },
      "additionalProperties": false
    }
  ],
  "required": [
    "index"
  ],
  "properties": {
    "asOf": {
      "type": "string",
      "maxLength": 500,
      "description": "Vintage cutoff (YYYY-MM-DD)."
    },
    "index": {
      "type": "string",
      "maxLength": 500,
      "description": "Published target."
    },
    "limit": {
      "type": "string",
      "maxLength": 500,
      "description": "Rows: \"all\" or count."
    },
    "naics": {
      "type": "string",
      "maxLength": 500,
      "description": "Six-digit NAICS code for get_hs_naics."
    },
    "since": {
      "type": "string",
      "maxLength": 500,
      "description": "Revision cutoff (YYYY-MM-DD)."
    },
    "filter": {
      "type": "string",
      "maxLength": 500,
      "description": "Target selector; meaning depends on index."
    },
    "points": {
      "type": "string",
      "maxLength": 500,
      "description": "History: \"latest\", \"all\", or count."
    },
    "country": {
      "type": "string",
      "maxLength": 500,
      "description": "Duty-free origin."
    },
    "artifact": {
      "type": "string",
      "maxLength": 500,
      "description": "Revision artifact filter."
    },
    "scheduleYear": {
      "type": "string",
      "maxLength": 500,
      "description": "Duty-free HTS year."
    }
  },
  "additionalProperties": false
}
get_provenance
Advertised by the server during the last successful anonymous check.

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.

get_provenance input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
search_site
Advertised by the server during the last successful anonymous check.

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"}

search_site input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "limit": {
      "type": "number",
      "description": "Max matches, default 10, max 25"
    },
    "query": {
      "type": "string",
      "description": "Anything: 'steel imports', 'fastener tariff', 'texas electricity'"
    }
  },
  "additionalProperties": false
}
get_whats_new
Advertised by the server during the last successful anonymous check.

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: {}

get_whats_new input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_receipts
Advertised by the server during the last successful anonymous check.

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: {}

get_receipts input schema
{
  "type": "object",
  "properties": {
    "series": {
      "type": "string",
      "description": "Series key, slug, title, or approved alias; omit for the catalogue."
    }
  },
  "additionalProperties": false
}
get_freshness
Advertised by the server during the last successful anonymous check.

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.

get_freshness input schema
{
  "type": "object",
  "properties": {
    "series": {
      "type": "string",
      "description": "Series key, slug, title, or approved alias; omit for all series."
    }
  },
  "additionalProperties": false
}
get_change_events
Advertised by the server during the last successful anonymous check.

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.

get_change_events input schema
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "description": "'published' or 'revised'"
    },
    "limit": {
      "type": "string",
      "description": "Page size (bounded server-side)"
    },
    "since": {
      "type": "string",
      "description": "Non-negative integer offset from a previous page's cursor; omit to start at 0"
    },
    "series": {
      "type": "string",
      "description": "Series key, slug, title, alias, or archive key."
    },
    "artifact": {
      "type": "string",
      "description": "Artifact filter, e.g. 'econData'."
    }
  },
  "additionalProperties": false
}
get_citation
Advertised by the server during the last successful anonymous check.

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.

get_citation input schema
{
  "type": "object",
  "properties": {
    "dataset": {
      "type": "string",
      "description": "Dataset id from the catalogue; omit to list what is citable"
    },
    "accessed": {
      "type": "string",
      "description": "ISO date (YYYY-MM-DD) the data was accessed; defaults to today"
    }
  },
  "additionalProperties": false
}
get_vintages
Advertised by the server during the last successful anonymous check.

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.

get_vintages input schema
{
  "type": "object",
  "properties": {
    "asOf": {
      "type": "string",
      "maxLength": 500,
      "description": "ISO date (YYYY-MM-DD). Returns the series as it stood on that date, ignoring every revision published since."
    },
    "limit": {
      "type": "string",
      "maxLength": 500,
      "description": "Max observations to return."
    },
    "series": {
      "type": "string",
      "maxLength": 500,
      "description": "Series key, slug, title, approved alias, or archive key; omit for the catalogue."
    }
  },
  "dependencies": {
    "asOf": [
      "series"
    ]
  },
  "additionalProperties": false
}
get_revisions
Advertised by the server during the last successful anonymous check.

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.

get_revisions input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "string",
      "maxLength": 500,
      "description": "Max revisions to return."
    },
    "since": {
      "type": "string",
      "maxLength": 500,
      "description": "ISO date (YYYY-MM-DD); only later revisions."
    },
    "series": {
      "type": "string",
      "maxLength": 500,
      "description": "Series key, slug, title, approved alias, or archive key. Unknown or ambiguous values are errors."
    },
    "artifact": {
      "type": "string",
      "maxLength": 500,
      "description": "Artifact name to scope the record to."
    }
  },
  "additionalProperties": false
}
optimize_sourcing
Advertised by the server during the last successful anonymous check.

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.

optimize_sourcing input schema
{
  "type": "object",
  "properties": {
    "demand": {
      "type": "string",
      "description": "Total units to allocate, e.g. '1000'."
    },
    "suppliers": {
      "type": "string",
      "description": "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": {
      "type": "string",
      "description": "Diversification cap: the most any single supplier may take, in percent, e.g. '60'."
    }
  },
  "additionalProperties": false
}
ask
Advertised by the server during the last successful anonymous check.

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"}

ask input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "query": {
      "type": "string",
      "description": "A full question, e.g. 'tariff on fasteners' or 'diesel price'"
    },
    "detail": {
      "enum": [
        "answer",
        "evidence",
        "full"
      ],
      "type": "string",
      "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`."
    },
    "context": {
      "type": "string",
      "maxLength": 1024,
      "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."
    }
  },
  "additionalProperties": false
}
brief
Advertised by the server during the last successful anonymous check.

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"}

brief input schema
{
  "type": "object",
  "required": [
    "situation"
  ],
  "properties": {
    "situation": {
      "type": "string",
      "description": "In plain words: 'importing $250,000 of aluminium from vietnam'."
    }
  },
  "additionalProperties": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (2 of 2 answered).

  1. 2026-11-07: 2 of 2 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
586 ms
95th percentile latency
586 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 586 ms · metadata changed · 17 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http mfg-calcs-mcp https://www.mfgcalcs.com/api/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add mfg-calcs-mcp --url https://www.mfgcalcs.com/api/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable mfg-calcs-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "mfg-calcs-mcp": {
      "url": "https://www.mfgcalcs.com/api/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "mfg-calcs-mcp": {
      "type": "streamableHttp",
      "url": "https://www.mfgcalcs.com/api/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start mfg-calcs-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "mfg-calcs-mcp": {
      "type": "http",
      "url": "https://www.mfgcalcs.com/api/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http mfg-calcs-mcp https://www.mfgcalcs.com/api/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://www.mfgcalcs.com/api/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "mfg-calcs-mcp": {
      "serverUrl": "https://www.mfgcalcs.com/api/mcp"
    }
  }
}

Let your agent find its tools

Find servers like MFG Calcs MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run MFG Calcs MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing