MCP-Server

Costable — Parametric Should-Cost Analysis

io.github.1337mofo/costable
Business & Betrieb Daten & Analytik Öffentlich und erreichbar MCP 2026-07-28

Was dieses MCP kann

Builds probabilistic manufacturing should-cost models, compares sourcing countries, analyzes supplier quotes, and provides material, process, and labor data.

add_material_to_model
Add a material (BOM line) to an existing cost model. Searches the materials database by name query — no need for exact IDs.
Eingabeschema
{'type': 'object', 'required': ['modelId', 'materialQuery', 'massKg'], 'properties': {'qty': {'type': 'number', 'default': 1, 'description': 'Number of this material per unit assembly. Defaults to 1.'}, 'massKg': {'type': 'number', 'description': 'Mass of material per unit in kilograms.'}, 'modelId': {'type': 'number', 'description': 'Cost model ID returned by create_cost_model.'}, 'scrapFactor': {'type': 'number', 'default': 1.05, 'description': 'Scrap/yield factor (e.g. 1.05 = 5% material waste). Defaults to 1.05.'}, 'materialQuery': {'type': 'string', 'description': "Material name to search for, e.g. 'ABS', 'Aluminium 6061', 'Stainless 304'."}}}
add_process_to_model
Add a manufacturing process step to an existing cost model. Searches the process database by name query — no need for exact IDs.
Eingabeschema
{'type': 'object', 'required': ['modelId', 'processQuery', 'countryCode', 'skillLevel', 'cycleTimeHrs'], 'properties': {'modelId': {'type': 'number', 'description': 'Cost model ID returned by create_cost_model.'}, 'stepOrder': {'type': 'number', 'default': 1, 'description': 'Step sequence number (1 = first). Defaults to 1.'}, 'skillLevel': {'type': 'string', 'description': 'Worker skill level. Options: cnc_machinist, machine_operator, welder, composite_tech, assembly_tech, quality_inspector, toolmaker, engineer, general_labour, painter, electrician, plumber, driver, warehouse, admin, manager.'}, 'countryCode': {'type': 'string', 'description': 'Country where this process step is performed (ISO 3166-1 alpha-2).'}, 'cycleTimeHrs': {'type': 'number', 'description': 'Cycle time per unit in decimal hours (e.g. 0.5 = 30 minutes).'}, 'processQuery': {'type': 'string', 'description': "Process name to search for, e.g. 'CNC 3-Axis', 'Injection Moulding', 'TIG Welding'."}}}
calculate_cost_model
Run the Monte Carlo should-cost calculation on a cost model. Returns P50 (median), P80 and P90 cost-at-risk per unit, plus a full cost breakdown (material, labour, machine, overhead, margin).
Eingabeschema
{'type': 'object', 'required': ['modelId'], 'properties': {'modelId': {'type': 'number', 'description': 'Cost model ID returned by create_cost_model.'}}}
compare_manufacturing_countries
Run the cost model across multiple manufacturing countries simultaneously to identify the optimal sourcing location. Returns P50/P80/P90 per country and % delta vs baseline.
Eingabeschema
{'type': 'object', 'required': ['modelId', 'countries'], 'properties': {'modelId': {'type': 'number', 'description': 'Cost model ID returned by create_cost_model.'}, 'countries': {'type': 'array', 'items': {'type': 'string'}, 'description': "Array of ISO 3166-1 alpha-2 country codes to compare, e.g. ['US','CN','VN','MX','DE']. Maximum 6."}}}
create_cost_model
Create a new parametric cost model in Costable. Returns the model ID which is used by add_material_to_model, add_process_to_model, calculate_cost_model, and compare_manufacturing_countries.
Eingabeschema
{'type': 'object', 'required': ['name', 'countryCode', 'batchQty'], 'properties': {'name': {'type': 'string', 'description': "Descriptive name for the cost model, e.g. 'Aluminium Enclosure Rev2'."}, 'batchQty': {'type': 'number', 'description': "Batch / order quantity. Affects Wright's Law learning curve."}, 'marginRate': {'type': 'number', 'default': 0.15, 'description': 'Profit margin as a decimal fraction (e.g. 0.15 = 15%). Defaults to 0.15.'}, 'countryCode': {'type': 'string', 'description': 'Primary manufacturing country code (ISO 3166-1 alpha-2).'}, 'overheadRate': {'type': 'number', 'default': 0.25, 'description': 'Factory overhead as a decimal fraction (e.g. 0.25 = 25%). Defaults to 0.25.'}}}
estimate_part
Instantly estimate the should-cost of a manufactured part using natural language. Returns P50 (median), P80 and P90 cost-at-risk per unit based on Monte Carlo simulation of material price variance, labour rate variance and cycle time uncertainty. Use this for quick feasibility checks before building a full cost model.
Eingabeschema
{'type': 'object', 'required': ['description'], 'properties': {'batchQty': {'type': 'number', 'default': 100, 'description': "Batch / order quantity. Affects Wright's Law learning curve factor. Defaults to 100."}, 'countryCode': {'type': 'string', 'default': 'US', 'description': "ISO 3166-1 alpha-2 manufacturing country code. Defaults to 'US'. Supported: US, CN, DE, JP, UK, MX, IN, VN, TH, PL, BR, FR, IT, KR, TW, CA, SE, SG, MY, ID, CZ, TR, ZA, ES, AU."}, 'description': {'type': 'string', 'description': "Natural language description, e.g. '500 ABS injection moulded phone cases 0.08 kg' or 'CNC milled aluminium bracket 0.45 kg, 100 units'."}}}
get_labour_rates
Get manufacturing labour rates ($/hr) for all skill levels in a given country. Data covers 16 skill levels across 25 countries (ILO/BLS/ABS sourced).
Eingabeschema
{'type': 'object', 'required': ['countryCode'], 'properties': {'countryCode': {'type': 'string', 'description': "ISO 3166-1 alpha-2 country code, e.g. 'US', 'CN', 'DE', 'VN'."}}}
review_supplier_quote
Analyse a supplier quote against Costable's should-cost benchmarks. Returns a line-by-line delta (% over/under should-cost), verdict (LOW / COMPETITIVE / HIGH / VERY HIGH), and a list of the top items to challenge in negotiation.
Eingabeschema
{'type': 'object', 'required': ['supplierName', 'countryCode', 'items'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['description', 'quotedPrice', 'qty'], 'properties': {'qty': {'type': 'number', 'description': 'Order quantity.'}, 'description': {'type': 'string', 'description': 'Part description.'}, 'processHint': {'type': 'string', 'description': 'Optional process name hint for better matching.'}, 'quotedPrice': {'type': 'number', 'description': 'Quoted unit price in USD.'}, 'materialHint': {'type': 'string', 'description': 'Optional material name hint for better matching.'}}}, 'description': 'Quote line items.'}, 'countryCode': {'type': 'string', 'description': "Supplier's manufacturing country (ISO 3166-1 alpha-2)."}, 'supplierName': {'type': 'string', 'description': 'Name of the supplier (for labelling the report).'}}}
search_materials
Search the Costable materials database (37 materials with LME-sourced pricing). Returns material name, category, price per kg, density, and strength properties.
Eingabeschema
{'type': 'object', 'properties': {'limit': {'type': 'number', 'default': 20, 'description': 'Maximum results to return. Defaults to 20.'}, 'query': {'type': 'string', 'description': "Search query, e.g. 'aluminium', 'stainless', 'ABS', 'titanium'."}, 'category': {'type': 'string', 'description': 'Filter by category: Metals - Aluminium, Metals - Steel, Metals - Titanium, Metals - Copper Alloys, Polymers - Thermoplastic, Polymers - Thermoset, Composites, Timber, Rubber & Elastomers.'}}}
search_processes
Search the Costable manufacturing process database (41 processes). Returns process name, category, machine rate ($/hr), and cycle time model.
Eingabeschema
{'type': 'object', 'properties': {'limit': {'type': 'number', 'default': 20, 'description': 'Maximum results to return. Defaults to 20.'}, 'query': {'type': 'string', 'description': "Search query, e.g. 'CNC', 'injection moulding', 'laser cutting', 'anodising'."}, 'category': {'type': 'string', 'description': 'Filter by category: CNC Machining, Sheet Metal, Casting, Polymer Processing, Additive Manufacturing, Composites, Welding & Joining, Surface Finishing, Assembly.'}}}
Hinzugefügt
review_supplier_quote
17. September 2026 12:40
Hinzugefügt
compare_manufacturing_countries
17. September 2026 12:40
Hinzugefügt
calculate_cost_model
17. September 2026 12:40
Hinzugefügt
add_process_to_model
17. September 2026 12:40
Hinzugefügt
add_material_to_model
17. September 2026 12:40
Hinzugefügt
create_cost_model
17. September 2026 12:40
Hinzugefügt
get_labour_rates
17. September 2026 12:40
Hinzugefügt
search_processes
17. September 2026 12:40
Hinzugefügt
search_materials
17. September 2026 12:40
Hinzugefügt
estimate_part
17. September 2026 12:40