Costable — Parametric Should-Cost Analysis

Parametric should-cost: P50/P80/P90 estimates, 801 materials, 25 countries, quote review.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
98%
Vollständigkeit des Schemas
98%
Qualität der Benennung
94%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (1)

  • LOWTool 'compare_manufacturing_countries' name length outside 3-30 rangein compare_manufacturing_countries

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~1,868Tokens (Tool-Definitionen)
~1.5 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (1.46% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "costable": {
      "url": "https://costable.ai/api/mcp"
    }
  }
}

Remote-Endpunkte

https://costable.ai/api/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (10)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
⚪estimate_part(description, countryCode, batchQty)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "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'."
    },
    "countryCode": {
      "type": "string",
      "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.",
      "default": "US"
    },
    "batchQty": {
      "type": "number",
      "description": "Batch / order quantity. Affects Wright's Law learning curve factor. Defaults to 100.",
      "default": 100
    }
  },
  "required": [
    "description"
  ]
}
🟢search_materials(query, category, limit)

Search the Costable materials database (37 materials with LME-sourced pricing). Returns material name, category, price per kg, density, and strength properties.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "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."
    },
    "limit": {
      "type": "number",
      "description": "Maximum results to return. Defaults to 20.",
      "default": 20
    }
  }
}
🟢search_processes(query, category, limit)

Search the Costable manufacturing process database (41 processes). Returns process name, category, machine rate ($/hr), and cycle time model.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "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."
    },
    "limit": {
      "type": "number",
      "description": "Maximum results to return. Defaults to 20.",
      "default": 20
    }
  }
}
🟢get_labour_rates(countryCode)

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).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "countryCode": {
      "type": "string",
      "description": "ISO 3166-1 alpha-2 country code, e.g. 'US', 'CN', 'DE', 'VN'."
    }
  },
  "required": [
    "countryCode"
  ]
}
🟡create_cost_model(name, countryCode, batchQty, overheadRate, marginRate)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Descriptive name for the cost model, e.g. 'Aluminium Enclosure Rev2'."
    },
    "countryCode": {
      "type": "string",
      "description": "Primary manufacturing country code (ISO 3166-1 alpha-2)."
    },
    "batchQty": {
      "type": "number",
      "description": "Batch / order quantity. Affects Wright's Law learning curve."
    },
    "overheadRate": {
      "type": "number",
      "description": "Factory overhead as a decimal fraction (e.g. 0.25 = 25%). Defaults to 0.25.",
      "default": 0.25
    },
    "marginRate": {
      "type": "number",
      "description": "Profit margin as a decimal fraction (e.g. 0.15 = 15%). Defaults to 0.15.",
      "default": 0.15
    }
  },
  "required": [
    "name",
    "countryCode",
    "batchQty"
  ]
}
🟡add_material_to_model(modelId, materialQuery, massKg, qty, scrapFactor)

Add a material (BOM line) to an existing cost model. Searches the materials database by name query — no need for exact IDs.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "modelId": {
      "type": "number",
      "description": "Cost model ID returned by create_cost_model."
    },
    "materialQuery": {
      "type": "string",
      "description": "Material name to search for, e.g. 'ABS', 'Aluminium 6061', 'Stainless 304'."
    },
    "massKg": {
      "type": "number",
      "description": "Mass of material per unit in kilograms."
    },
    "qty": {
      "type": "number",
      "description": "Number of this material per unit assembly. Defaults to 1.",
      "default": 1
    },
    "scrapFactor": {
      "type": "number",
      "description": "Scrap/yield factor (e.g. 1.05 = 5% material waste). Defaults to 1.05.",
      "default": 1.05
    }
  },
  "required": [
    "modelId",
    "materialQuery",
    "massKg"
  ]
}
🟡add_process_to_model(modelId, processQuery, countryCode, skillLevel, cycleTimeHrs, ...)

Add a manufacturing process step to an existing cost model. Searches the process database by name query — no need for exact IDs.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "modelId": {
      "type": "number",
      "description": "Cost model ID returned by create_cost_model."
    },
    "processQuery": {
      "type": "string",
      "description": "Process name to search for, e.g. 'CNC 3-Axis', 'Injection Moulding', 'TIG Welding'."
    },
    "countryCode": {
      "type": "string",
      "description": "Country where this process step is performed (ISO 3166-1 alpha-2)."
    },
    "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."
    },
    "cycleTimeHrs": {
      "type": "number",
      "description": "Cycle time per unit in decimal hours (e.g. 0.5 = 30 minutes)."
    },
    "stepOrder": {
      "type": "number",
      "description": "Step sequence number (1 = first). Defaults to 1.",
      "default": 1
    }
  },
  "required": [
    "modelId",
    "processQuery",
    "countryCode",
    "skillLevel",
    "cycleTimeHrs"
  ]
}
🟢calculate_cost_model(modelId)

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).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "modelId": {
      "type": "number",
      "description": "Cost model ID returned by create_cost_model."
    }
  },
  "required": [
    "modelId"
  ]
}
⚪compare_manufacturing_countries(modelId, 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.

Eingabe-Schema

{
  "type": "object",
  "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."
    }
  },
  "required": [
    "modelId",
    "countries"
  ]
}
🟢review_supplier_quote(supplierName, countryCode, items)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "supplierName": {
      "type": "string",
      "description": "Name of the supplier (for labelling the report)."
    },
    "countryCode": {
      "type": "string",
      "description": "Supplier's manufacturing country (ISO 3166-1 alpha-2)."
    },
    "items": {
      "type": "array",
      "description": "Quote line items.",
      "items": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "Part description."
          },
          "quotedPrice": {
            "type": "number",
            "description": "Quoted unit price in USD."
          },
          "qty": {
            "type": "number",
            "description": "Order quantity."
          },
          "materialHint": {
            "type": "string",
            "description": "Optional material name hint for better matching."
          },
          "processHint": {
            "type": "string",
            "description": "Optional process name hint for better matching."
          }
        },
        "required": [
          "description",
          "quotedPrice",
          "qty"
        ]
      }
    }
  },
  "required": [
    "supplierName",
    "countryCode",
    "items"
  ]
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet10 Tools
verifiziertVersion nicht aufgezeichnet10 Tools