Koskamo

Compatsy 3D Printing MCP

An MCP server providing structured specs, versioned compatibility rules, and live merchant prices for 3D printing parts. It allows agents to determine if parts fit specific machines, compare components, check stock availability, and find the lowest in-stock total price.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Compatsy 3D Printing MCP logo, by CompatsyVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by Compatsy
MCP endpoint (Streamable HTTP)
https://compatsy.com/3d-printing/mcp
Vendor documentation

What you can do with it

  • Determine if a 3D printing part fits a specific machine
  • Compare specifications of printers, nozzles, or filaments
  • Check real-time stock and pricing for compatible parts
  • Report compatibility issues or data errors

Source and maintenance

Vendor evidenceRegistry 0.1.0
Maintenance checked

Protocol and capabilities

Server
compatsy-compare 0.1.0
MCP protocol
2025-06-18
Tools
6 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Look up printer, nozzle, hotend, build plate, filament, enclosure products: search, specs with sources, side-by-side comparison, fit checks and live stock with verified prices. Fit verdicts cite the rule id and rules version that decided them; unknown means a needed spec is missing. Other sections have their own MCP servers: Home espresso at https://compatsy.com/home-espresso/mcp. Links are affiliate links; we may earn a commission. The default link is the lowest in-stock price regardless of commission.

Tools

6 advertised

search_products — Search products
Advertised by the server during the last successful anonymous check.
Advertised read-only

Find products by name or by category and spec filters; returns key specs and the best in-stock offer. Example: {"query":"hardened 0.4","category":"nozzle","limit":5}

search_products input schema
{
  "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
}
search_products annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_product — Get product details
Advertised by the server during the last successful anonymous check.
Advertised read-only

Full specs with per-field confidence and source, every offer with verified time, 30/90-day price range. Example: {"product_id":"prusa-mk4s"}

get_product input schema
{
  "type": "object",
  "required": [
    "product_id"
  ],
  "properties": {
    "product_id": {
      "type": "string",
      "description": "Product id or slug"
    }
  },
  "additionalProperties": false
}
get_product annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
compare — Compare products
Advertised by the server during the last successful anonymous check.
Advertised read-only

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":["prusa-core-one","bambu-lab-p1s"]}

compare input schema
{
  "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
}
compare annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
check_fit — Check fit
Advertised by the server during the last successful anonymous check.
Advertised read-only

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-1-75mm-brass-nozzles-0-40mm-1-75mm","target_id":"prusa-mk4s"}

check_fit input schema
{
  "type": "object",
  "required": [
    "subject_id",
    "target_id"
  ],
  "properties": {
    "target_id": {
      "type": "string",
      "description": "Id or slug of the machine the part goes on"
    },
    "subject_id": {
      "type": "string",
      "description": "Part id or slug"
    }
  },
  "additionalProperties": false
}
check_fit annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
check_stock — Check stock and price
Advertised by the server during the last successful anonymous check.
Advertised read-only

Availability and price per merchant, re-verified live when the data is over an hour old. Example: {"product_id":"e3d-v6-1-75mm-brass-nozzles-0-40mm-1-75mm","merchant_id":"e3d-online-com"}

check_stock input schema
{
  "type": "object",
  "required": [
    "product_id"
  ],
  "properties": {
    "product_id": {
      "type": "string"
    },
    "merchant_id": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
check_stock annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
report_issue — Report a data issue
Advertised by the server during the last successful anonymous check.

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

report_issue input schema
{
  "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
}
report_issue annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
275 ms
95th percentile latency
275 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 275 ms · metadata changed · 6 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http compatsy-3d-printing-mcp https://compatsy.com/3d-printing/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add compatsy-3d-printing-mcp --url https://compatsy.com/3d-printing/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable compatsy-3d-printing-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "compatsy-3d-printing-mcp": {
      "url": "https://compatsy.com/3d-printing/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "compatsy-3d-printing-mcp": {
      "type": "streamableHttp",
      "url": "https://compatsy.com/3d-printing/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start compatsy-3d-printing-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "compatsy-3d-printing-mcp": {
      "type": "http",
      "url": "https://compatsy.com/3d-printing/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http compatsy-3d-printing-mcp https://compatsy.com/3d-printing/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "compatsy-3d-printing-mcp": {
      "url": "https://compatsy.com/3d-printing/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "compatsy-3d-printing-mcp": {
      "serverUrl": "https://compatsy.com/3d-printing/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Compatsy 3D Printing MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Compatsy 3D Printing MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing