partreel

Verified KiCad footprints, symbols & 3D models for AI agents. No signup, CC-BY-4.0, quality-gated.

Should I use this

Quality & Safety

A
Description quality
97%
Schema completeness
79%
Naming quality
91%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,178Tokens (tool definitions)
~863 BTypical response size
Moderate attention impact (0.92% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "partreel": {
      "url": "https://mcp.partreel.com/mcp"
    }
  }
}

Remote endpoints

https://mcp.partreel.com/mcpstreamable-http

What it can do

Tool inventory

Tools (7)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_parts(query)

Search the PartReel registry of verified KiCad components (footprint + symbol + 3D STEP/GLB, no login, CC-BY-4.0). Returns matching parts with ids. Use get_part for download URLs. Example queries: 'usb-c', 'jst ph 4pin', 'esp32', 'microsd', 'screw terminal'.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Search text (name, family, keywords, pin count)"
    }
  },
  "required": [
    "query"
  ]
}
🟢get_part(id)

Get full detail for one part by id: parameters, verification status, datasheet, and absolute download URLs for .kicad_mod (footprint), .kicad_sym (symbol), .step and .glb (3D).

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Part id, e.g. 'jst_ph_4pin', 'usb_c_16p'"
    }
  },
  "required": [
    "id"
  ]
}
🟢list_parts

List all parts in the registry (id, name, family, pins).

Input Schema

{
  "type": "object",
  "properties": {}
}
⚪report_feedback(part_id, result, notes)

Report real-world usage feedback for a part (e.g. 'fabricated 5 boards at JLCPCB, footprint fit perfectly' or 'pad 3 misaligned'). Feedback is recorded publicly on GitHub and builds the part's field-proven trust score. Please report after actually using a part — both successes and problems help.

Input Schema

{
  "type": "object",
  "properties": {
    "part_id": {
      "type": "string",
      "description": "Part id, e.g. 'jst_ph_4pin'"
    },
    "result": {
      "type": "string",
      "enum": [
        "worked",
        "problem"
      ],
      "description": "'worked' = used successfully, 'problem' = issue found"
    },
    "notes": {
      "type": "string",
      "description": "Details: what you built, fab house, what worked or what was wrong (max 1000 chars)"
    }
  },
  "required": [
    "part_id",
    "result",
    "notes"
  ]
}
🟢request_part(family, pins, variant)

Request on-demand generation of a parametric part that isn't in the registry yet. The registry generates it (footprint+symbol+3D), runs quality gates, and publishes it within ~5 minutes. Pin-count families (use 'pins'): pin_header_254 (2.54mm), pin_header_200 (2.0mm), pin_header_127 (1.27mm) — pins 1-40. Variant families (use 'variant'): ht73xx (LDO Vout code: 7318,7325,7327,7330,7333,7335,7341,7350), ht78xx (7818,7825,7827,7830,7833,7850), sy8008 (grade a/b/c = 0.6A/1A/1.2A), max1704x (17048,17049). Always try get_part / search_parts first.

Input Schema

{
  "type": "object",
  "properties": {
    "family": {
      "type": "string",
      "enum": [
        "pin_header_254",
        "pin_header_200",
        "pin_header_127",
        "ht73xx",
        "ht78xx",
        "sy8008",
        "max1704x"
      ]
    },
    "pins": {
      "type": "integer",
      "minimum": 1,
      "maximum": 40,
      "description": "for pin_header_* families"
    },
    "variant": {
      "type": "string",
      "description": "for variant families (e.g. '7350', 'a', '17049')"
    }
  },
  "required": [
    "family"
  ]
}
🟢how_to_contribute

Get machine-readable instructions for adding a new part to the registry (file layout, metadata schema, quality gates, PR process). Use when a part is missing.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟡submit_part(id, name, description, category, license, ...)

Upload a part you built so it is SHARED IMMEDIATELY (status 'staging', unverified). It becomes searchable and downloadable right away; hourly CI then runs the full quality gates and opens a PR to promote it to the verified registry. Provide the full text of the .kicad_sym and .kicad_mod files plus metadata. Cite real datasheet dimensions in dimensions_source — copies of the official KiCad (CC-BY-SA) library are auto-rejected at promotion.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "part id: lowercase letters/digits/underscore, 3-64 chars, e.g. 'ti_sn74lvc1g08_sot23'"
    },
    "name": {
      "type": "string",
      "description": "human-readable name / MPN"
    },
    "description": {
      "type": "string"
    },
    "category": {
      "type": "string",
      "description": "one of: connector, discrete, ic, passive, switch, module, etc"
    },
    "license": {
      "type": "string",
      "description": "CC-BY-4.0 for original work; MIT/Apache-2.0/CERN-OHL-P/CC-BY for imports"
    },
    "dimensions_source": {
      "type": "string",
      "description": "datasheet URL + page/figure the dimensions came from (min 20 chars)"
    },
    "symbol": {
      "type": "string",
      "description": "full .kicad_sym file text"
    },
    "footprint": {
      "type": "string",
      "description": "full .kicad_mod file text"
    },
    "datasheet": {
      "type": "string",
      "description": "datasheet URL (optional)"
    }
  },
  "required": [
    "id",
    "name",
    "description",
    "category",
    "license",
    "dimensions_source",
    "symbol",
    "footprint"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded7 tools
verifiedversion not recorded7 tools