What fits, with live prices: specs, fit verdicts with rule ids and stock for home espresso.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Does this part fit that machine? Returns a verdict with the rule id and version that decided it, or the missing fields. Example: {"subject_id":"e3d-v6-brass-0-4","target_id":"prusa-mk4s"}
Printer or hotend id or slug
Part id or slug
Does this part fit that machine? Returns a verdict with the rule id and version that decided it, or the missing fields. Example: {"subject_id":"e3d-v6-brass-0-4","target_id":"prusa-mk4s"}
| Argument | Type | Description |
|---|---|---|
| target_id* | string | Printer or hotend id or slug |
| subject_id* | string | Part id or slug |
{
"type": "object",
"required": [
"subject_id",
"target_id"
],
"properties": {
"target_id": {
"type": "string",
"description": "Printer or hotend id or slug"
},
"subject_id": {
"type": "string",
"description": "Part id or slug"
}
},
"additionalProperties": false
}Availability and price per merchant, re-verified live when the data is over an hour old. Example: {"product_id":"prusa-mk4s","merchant_id":"prusa3d"}
| Argument | Type | Description |
|---|---|---|
| product_id* | string | |
| merchant_id | string |
{
"type": "object",
"required": [
"product_id"
],
"properties": {
"product_id": {
"type": "string"
},
"merchant_id": {
"type": "string"
}
},
"additionalProperties": false
}Side-by-side spec table with offers and the fields that differ. Pass 2-10 product_ids, or a category with filters. Example: {"product_ids":["e3d-v6-brass-0-4","bondtech-cht-0-4"]}
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| filters | object | Needs category. Spec field -> exact value, e.g. {"material":"brass"}; an unknown field or value is an error listing the valid ones |
| category | string | |
| product_ids | array |
{
"type": "object",
"required": [],
"properties": {
"limit": {
"type": "integer",
"maximum": 10,
"minimum": 1
},
"filters": {
"type": "object",
"description": "Needs category. Spec field -> exact value, e.g. {\"material\":\"brass\"}; an unknown field or value is an error listing the valid ones",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
},
"category": {
"type": "string"
},
"product_ids": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"minItems": 2
}
},
"additionalProperties": false
}Full specs with per-field confidence and source, every offer with verified time, 30/90-day price range. Example: {"product_id":"prusa-mk4s"}
| Argument | Type | Description |
|---|---|---|
| product_id* | string | Product id or slug |
{
"type": "object",
"required": [
"product_id"
],
"properties": {
"product_id": {
"type": "string",
"description": "Product id or slug"
}
},
"additionalProperties": false
}Flag a wrong spec, price or fit verdict. Reports never edit facts; two independent reports mark a fact disputed. Example: {"entity_type":"product","entity_id":"prusa-mk4s","field":"nozzle_thread","claim":"MK4S uses the Nextruder thread"}
| Argument | Type | Description |
|---|---|---|
| claim* | string | |
| field | string | |
| entity_id* | string | |
| entity_type* | string |
{
"type": "object",
"required": [
"entity_type",
"entity_id",
"claim"
],
"properties": {
"claim": {
"type": "string",
"maxLength": 500
},
"field": {
"type": "string",
"maxLength": 64
},
"entity_id": {
"type": "string",
"maxLength": 120
},
"entity_type": {
"enum": [
"product",
"offer",
"fit"
],
"type": "string"
}
},
"additionalProperties": false
}Find products by name or by category and spec filters; returns key specs and the best in-stock offer. Example: {"query":"0.4 hardened nozzle","category":"nozzle","limit":5}
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query | string | |
| filters | object | Needs category. Spec field -> exact value, e.g. {"material":"brass"}; an unknown field or value is an error listing the valid ones |
| category | string |
{
"type": "object",
"required": [],
"properties": {
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1
},
"query": {
"type": "string"
},
"filters": {
"type": "object",
"description": "Needs category. Spec field -> exact value, e.g. {\"material\":\"brass\"}; an unknown field or value is an error listing the valid ones",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
},
"category": {
"type": "string"
}
},
"additionalProperties": false
}