Costable — Parametric Should-Cost Analysis

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
98%
Integridad del esquema
98%
Calidad de los nombres
94%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (1)

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

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,868Tokens (definiciones de herramientas)
~1.5 KBTamaño de respuesta típico
Impacto moderado en la atención (1.46% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

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

Puntos de conexión remotos

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

Qué puede hacer

Inventario de herramientas

Herramientas (10)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
⚪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.

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Esquema de entrada

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

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada10 herramientas
verificadoversión no registrada10 herramientas