OpenFab
Instant parametric cost estimates for custom manufacturing: CNC, molding, sheet metal, 3DP, PCB.
Should I use this
Quality & Safety
Findings (1)
- LOWin dfm_feedback
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"openfab": {
"url": "https://openfab-22100483453.us-central1.run.app/mcp/"
}
}
}Remote endpoints
https://openfab-22100483453.us-central1.run.app/mcp/streamable-httpWhat it can do
Tool inventory
Tools (7)
🟢discover_capabilities
List supported manufacturing processes, materials, and the fields an estimate accepts.
Input Schema
{
"type": "object",
"properties": {},
"title": "tool_discover_capabilitiesArguments"
}🟢request_quote(process, quantity, material, bounding_box_mm, tolerance_mm, ...)
Get an instant cost estimate for a custom manufactured part. Returns unit price, total, lead time, and assumptions. Indicative and non-binding.
Input Schema
{
"type": "object",
"properties": {
"process": {
"title": "Process",
"type": "string"
},
"quantity": {
"title": "Quantity",
"type": "integer"
},
"material": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Material"
},
"bounding_box_mm": {
"anyOf": [
{
"items": {
"type": "number"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Bounding Box Mm"
},
"tolerance_mm": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Tolerance Mm"
},
"finish": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Finish"
},
"cad_reference": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cad Reference"
},
"notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Notes"
}
},
"required": [
"process",
"quantity"
],
"title": "tool_request_quoteArguments"
}⚪refine_quote(token, process, quantity, material, bounding_box_mm, ...)
Refine a previous estimate (change quantity, material, tolerance, finish) by passing its quote_token.
Input Schema
{
"type": "object",
"properties": {
"token": {
"title": "Token",
"type": "string"
},
"process": {
"title": "Process",
"type": "string"
},
"quantity": {
"title": "Quantity",
"type": "integer"
},
"material": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Material"
},
"bounding_box_mm": {
"anyOf": [
{
"items": {
"type": "number"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Bounding Box Mm"
},
"tolerance_mm": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Tolerance Mm"
},
"finish": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Finish"
},
"cad_reference": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cad Reference"
},
"notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Notes"
}
},
"required": [
"token",
"process",
"quantity"
],
"title": "tool_refine_quoteArguments"
}🟢get_lead_time(process, quantity)
Estimated production lead time in days, by process and quantity.
Input Schema
{
"type": "object",
"properties": {
"process": {
"title": "Process",
"type": "string"
},
"quantity": {
"title": "Quantity",
"type": "integer"
}
},
"required": [
"process",
"quantity"
],
"title": "tool_get_lead_timeArguments"
}⚪dfm_feedback(process, quantity, material, bounding_box_mm, tolerance_mm, ...)
Rule-based design-for-manufacturability feedback for a part specification.
Input Schema
{
"type": "object",
"properties": {
"process": {
"title": "Process",
"type": "string"
},
"quantity": {
"title": "Quantity",
"type": "integer"
},
"material": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Material"
},
"bounding_box_mm": {
"anyOf": [
{
"items": {
"type": "number"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Bounding Box Mm"
},
"tolerance_mm": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Tolerance Mm"
},
"finish": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Finish"
},
"cad_reference": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cad Reference"
},
"notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Notes"
}
},
"required": [
"process",
"quantity"
],
"title": "tool_dfm_feedbackArguments"
}⚪estimate_bom(parts)
Estimate costs for a multi-part bill of materials in one call. Each part: {process, quantity, material?, bounding_box_mm?, tolerance_mm?, finish?}. Returns per-line estimates, a BOM total, and the longest lead time. Indicative and non-binding. Max 50 lines.
Input Schema
{
"type": "object",
"properties": {
"parts": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Parts",
"type": "array"
}
},
"required": [
"parts"
],
"title": "tool_estimate_bomArguments"
}⚪compare_processes(processes, quantity, material, bounding_box_mm, tolerance_mm, ...)
Compare cost and lead time for one part across manufacturing processes. Provide 2-8 process names and a quantity; returns per-process estimates sorted by total cost, plus a lowest-cost / shortest-lead-time note. Indicative and non-binding.
Input Schema
{
"type": "object",
"properties": {
"processes": {
"items": {
"type": "string"
},
"title": "Processes",
"type": "array"
},
"quantity": {
"title": "Quantity",
"type": "integer"
},
"material": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Material"
},
"bounding_box_mm": {
"anyOf": [
{
"items": {
"type": "number"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Bounding Box Mm"
},
"tolerance_mm": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Tolerance Mm"
},
"finish": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Finish"
}
},
"required": [
"processes",
"quantity"
],
"title": "tool_compare_processesArguments"
}Community
Evidence