For AI assistants and agents
Manufacturing cost API and MCP server for AI agents
Short answer: the RFQdecoder API with keys and MCP server are available. Claude Code, Cursor, Le Chat or your own agent send a PDF, DXF or STEP drawing and get the price line by line, with the assumption behind each line and what is not included. Free trial of 10 estimates, then pay as you go.
By The RFQdecoder team · updated 5 October 2026
What does the RFQdecoder API do?
- Cost a part from its drawing: upload a PDF, DXF or STEP file, get the routing and the price of each step (1 unit).
- Vary the quantity: part price at 50, 200 or 1,000 parts in a single call, 2 to 8 quantities (1 unit per quantity).
- Compute a machine hourly rate with your own values: depreciation, interest, floor space, energy, maintenance, tooling, operator (free).
- Read the rate of a workstation from the database, for example a machining centre (1 unit).
- Check a supplier quote: compare its price with the rebuilt price, line by line, and list the questions to ask (1 unit).
Every response is JSON with the lines, the status of each value (proven or assumption), the declared assumptions and the list of what is not included. The full description is public: OpenAPI.
How do I connect through the MCP server?
Server address: https://rfqdecoder.com/api/mcp. The key goes in the Authorization: Bearer header. The tool list is visible without a key; tool calls need the key.
Claude Code, one command:
claude mcp add --transport http rfqdecoder https://rfqdecoder.com/api/mcp --header "Authorization: Bearer rfqd_VOTRE_CLE"
Cursor, in the MCP configuration file:
{
"mcpServers": {
"rfqdecoder": {
"url": "https://rfqdecoder.com/api/mcp",
"headers": {
"Authorization": "Bearer rfqd_VOTRE_CLE"
}
}
}
}The assistant then discovers six tools: deposer_plan, chiffrer_piece, comparer_quantites, calculer_taux_horaire, verifier_devis and consulter_usage. It calls them when the conversation needs them. Connecting from Claude.ai and ChatGPT, which do not accept a key in a header yet, needs an account-based sign-in: it is planned next.
How do I call the REST API?
Address: https://rfqdecoder.com/api/v1. Same key, same header. Python example: upload the drawing, then cost it.
import requests
H = {"Authorization": "Bearer rfqd_VOTRE_CLE", "User-Agent": "mon-agent/1.0"}
B = "https://rfqdecoder.com/api/v1"
plan = requests.post(B + "/plans", headers=H, files={"plan": open("part.pdf", "rb")}).json()["plan_id"]
r = requests.post(B + "/chiffrages", headers=H, json={
"plan_id": plan, "matiere": "aluminium", "quantite": 200,
"lot_de_fabrication": "commande_entiere"}).json()
print(r["prix"]["unitaire_eur"], r["non_inclus"])Always send a User-Agent header: some clients, such as curl without the -A option, are refused by the site firewall.
What does a response look like?
Extract from the real costing of housing BTC-120-80-45 (aluminium, 200 parts): the price, the first three lines, what is not counted and the assumptions. Field names are in French, as in the API.
{
"ok": true,
"prix": {
"unitaire_eur": 22.62,
"devise": "EUR",
"hors_taxes": true,
"total_affaire_eur": 4524.16,
"cout_de_revient_eur": 17.95,
"quantite": 200,
"taille_lot": 200,
"nombre_de_lots": 1
},
"lignes": [
{
"rang": 1,
"libelle": "Je pars d'un bloc d'aluminium de 125 × 85 × 50 mm (1,43 kg)",
"machine": "achat matière",
"montant_eur": 7.72,
"cumul_eur": 7.72,
"etat": "prouve",
"hypothese": "1.434 kg brut (1.434 kg net, rendement 1.00) a 5.380 EUR/kg"
},
{
"rang": 2,
"libelle": "Je débite le brut à la scie",
"machine": "scie à ruban",
"montant_eur": 1.58,
"cumul_eur": 9.3,
"etat": "prouve",
"hypothese": "débit à la scie, 120 mm"
},
{
"rang": 3,
"libelle": "J'usine la première face et la poche de 96 × 56 mm, profondeur 30 (posage 1 sur 2, 136,6 cm³ de copeaux)",
"machine": "centre d'usinage 3 axes",
"montant_eur": 2.34,
"cumul_eur": 11.64,
"etat": "prouve",
"hypothese": "136.6 cm³ à 151 cm³/min, Vc 450 m/min"
}
],
"non_inclus": [
{
"element": "Transport (approvisionnement, livraison)",
"raison": "non déclaré : ce prix est un plancher"
},
{
"element": "Anodisation incolore 15 µm après usinage (chiffrée à part).",
"raison": "écrite sur le plan, non comptée dans ce prix"
}
],
"hypotheses": [
"Frais généraux : 20% du coût de revient (hypothèse déclarée, ajustable)",
"Marge : 5% (hypothèse déclarée, ajustable)",
"Rebut cumulé : 1.39%"
],
"compte": {
"unites_utilisees": 1,
"credits_restants": 9
}
} What do the errors and limits mean?
| Code | Meaning |
|---|---|
| 401 | Key missing or unknown. |
| 402 | Credits used up: top up the key. |
| 403 | Key revoked or suspended. |
| 404 | Drawing not found for this key. |
| 422 | Drawing read but part not costable: the response says what is missing. |
| 429 | Per-minute rate or daily or monthly quota exceeded (Retry-After header). |
A refused call uses no unit. Each key has its own credits, daily and monthly quota and per-minute limit.
How are your key and drawings protected?
- The key is shown only once. RFQdecoder keeps only its fingerprint: nobody, not even the team, can read it back.
- A key can be revoked at any time, with immediate effect.
- An uploaded drawing is visible only to the key that uploaded it.
- Abnormal use, such as systematically sweeping the parameters of one drawing, suspends the key automatically.
- No route returns the database: the API only returns prices calculated for a given drawing.
How much does the API cost?
Prepaid credits, no subscription. One unit is one successful estimate. Prices exclude VAT.
| Plan | Estimates | Price excl. VAT | Per estimate |
|---|---|---|---|
| Trial | 10 once per key | free | €0 |
| Essential | 100 | €90 | €0.90 |
| Pro | 500 | €350 | €0.70 |
| Volume | 2,000 | €1,100 | €0.55 |
Above 2,000 estimates, on quote. Computing an hourly rate with your own values is free.
How do I get a key?
Write to contact@rfqdecoder.com, subject “API access”, with your intended use: assistant, in-house agent, integration. The key comes with 10 free estimates.
Frequently asked questions
Does RFQdecoder have an API?
Yes. The REST API with a key and the MCP server are available. They expose the same engine as the online tool: a PDF, DXF or STEP drawing in, a line-by-line price breakdown out.
What is an MCP server?
MCP (Model Context Protocol) is an open standard that lets an AI assistant call external tools. With the RFQdecoder MCP server, the assistant runs a costing itself instead of estimating from memory.
Which AI assistants can connect?
Those that accept an MCP server with a key in a header, such as Claude Code, Cursor or Mistral Le Chat, and any agent that can call an API with a key. Connecting from Claude.ai and ChatGPT needs an account-based sign-in, planned next.
How do I get an API key?
Write to contact@rfqdecoder.com with the subject “API access” and your intended use. The key comes with 10 free estimates. It is shown only once, when it is created.
How much does an estimate cost through the API?
A successful estimate uses one unit. Packs range from €0.55 to €0.90 per unit, excluding VAT. A refused call costs nothing, and computing an hourly rate with your own values is free.
Is the price reliable?
It is an indicative costing. Every line says whether its value is proven or an assumption, and the response names what is not included (shipping, dedicated tooling, finishes written on the drawing).
Write to contact@rfqdecoder.com, subject “API access”, with your intended use. 10 free estimates to try.
The same engine, in the online tool: upload a drawing and read the costed routing.