Skip to main content
Glama

Server Details

Search and review real KiCad and Altium PCB designs: schematics, BOMs, netlists, DRC/ERC.

Ownership verified

The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.

If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.

Status
Unhealthy
Uptime
59.7% over 63 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP
URL
Repository
flintt-dev/boardrepo-plugin
GitHub Stars
0

TDQS

A4.6/5.0

Scored across 12 tools

Disambiguation4/5

Each tool has a distinct purpose and the descriptions carefully police boundaries, especially among read_file, read_pcb, read_schematic, query_design, and search_board. The main risk is that several content-access tools exist in the same domain, so a less careful agent could pick the wrong reader, though the descriptions largely prevent this.

Naming Consistency5/5

All names follow a consistent lowercase snake_case verb_noun pattern: get_*, list_*, read_*, search_*, plus query_design and run_checks. The plural search_boards is also clearly differentiated from the singular search_board, and each verb accurately reflects the tool's action.

Tool Count5/5

Twelve tools is well within the ideal scope for this domain and each tool earns its place: metadata lookup, file listing, raw reads, two specialized readers, structure queries, BOM access, DRC/ERC checks, and fab profiles. There is no obvious redundancy or bloat.

Completeness4/5

The read/analyze lifecycle is well covered: search, board metadata, file access, schematic and PCB analysis, BOM, and both stored and runnable checks. The main gap is that get_board references list_my_boards, but no such tool is exposed, leaving a minor hole for private-board enumeration.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedget_board1 field changed
      • changedOutput schema / oneOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "board": {
        -        "type": "string"
        -      },
        -      "found": {
        -        "const": false
        -      },
        -      "message": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "found",
        -      "board",
        -      "message"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": true,
        -    "properties": {
        -      "capabilities": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "bom": {
        -            "type": "boolean"
        -          },
        -          "gerbers": {
        -            "type": "boolean"
        -          },
        -          "pcb": {
        -            "type": "boolean"
        -          },
        -          "schematic": {
        -            "type": "boolean"
        -          }
        -        },
        -        "required": [
        -          "schematic",
        -          "pcb"
        -        ],
        -        "type": "object"
        -      },
        -      "createdAt": {
        -        "type": "string"
        -      },
        -      "downloadCount": {
        -        "type": "integer"
        -      },
        -      "fileCount": {
        -        "type": "integer"
        -      },
        -      "found": {
        -        "const": true
        -      },
        -      "handle": {
        -        "type": "string"
        -      },
        -      "name": {
        -        "type": "string"
        -      },
        -      "saveCount": {
        -        "type": "integer"
        -      },
        -      "slug": {
        -        "type": "string"
        -      },
        -      "updatedAt": {
        -        "type": "string"
        -      },
        -      "url": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "found",
        -      "handle",
        -      "slug",
        -      "name",
        -      "capabilities",
        -      "fileCount",
        -      "downloadCount",
        -      "saveCount",
        -      "createdAt",
        -      "updatedAt",
        -      "url"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "board": {
        +        "type": "string"
        +      },
        +      "found": {
        +        "const": false
        +      },
        +      "message": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "found",
        +      "board",
        +      "message"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": true,
        +    "properties": {
        +      "capabilities": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "bom": {
        +            "type": "boolean"
        +          },
        +          "gerbers": {
        +            "type": "boolean"
        +          },
        +          "pcb": {
        +            "type": "boolean"
        +          },
        +          "schematic": {
        +            "type": "boolean"
        +          }
        +        },
        +        "required": [
        +          "schematic",
        +          "pcb"
        +        ],
        +        "type": "object"
        +      },
        +      "createdAt": {
        +        "type": "string"
        +      },
        +      "downloadCount": {
        +        "type": "integer"
        +      },
        +      "fileCount": {
        +        "type": "integer"
        +      },
        +      "found": {
        +        "const": true
        +      },
        +      "handle": {
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "saveCount": {
        +        "type": "integer"
        +      },
        +      "slug": {
        +        "type": "string"
        +      },
        +      "stars": {
        +        "type": "integer"
        +      },
        +      "updatedAt": {
        +        "type": "string"
        +      },
        +      "url": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "found",
        +      "handle",
        +      "slug",
        +      "name",
        +      "capabilities",
        +      "fileCount",
        +      "downloadCount",
        +      "saveCount",
        +      "createdAt",
        +      "updatedAt",
        +      "url"
        +    ],
        +    "type": "object"
        +  }
        +]
  2. 3 tool updates
    • Changedget_checks1 field changed
      • changedInput schema / properties / vendor / description
        Previous value: -"Optional fab house id from list_fab_profiles. Returns that fab's manufacturability verdict for this board instead of the board's own DRC/ERC. Do not invent an id."New value: +"Optional fab house id from list_fab_profiles. Returns geometric checks against that fab's stored profile for this board instead of the board's own DRC/ERC. Do not invent an id."
    • Changedquery_design1 field changed
      • changedInput schema / properties / select / description
        Previous value: -"Node names from the root downward, e.g. [\"kicad_pcb\",\"layers\"] or [\"kicad_sch\",\"lib_symbols\",\"symbol\"]. The first entry is the file's root node."New value: +"Node names from the root downward, e.g. [\"kicad_pcb\",\"layers\"], [\"kicad_pcb\",\"via\"], [\"kicad_pcb\",\"zone\"], or [\"kicad_sch\",\"lib_symbols\",\"symbol\"]. The first entry is the file's root node."
    • Addedread_pcb
  3. 1 tool update
    • Changedget_checks1 field changed
      • changedInput schema / properties / vendor / description
        Previous value: -"Optional fab house id. Returns that fab's manufacturability verdict for this board instead of the board's own DRC/ERC. Do not guess an id - if your tool list includes one for listing fab profiles, get the id from there; if it does not, use `rules` with explicit millimetre limits instead."New value: +"Optional fab house id from list_fab_profiles. Returns that fab's manufacturability verdict for this board instead of the board's own DRC/ERC. Do not invent an id."
  4. 9 tool updates
    • Changedget_board1 field changed
      • changedInput schema / properties / board / description
        Previous value: -"A public board: handle/slug (e.g. alice/keezyboost40) or a boardrepo.com URL. Discover it with search_boards; do not invent one."New value: +"A board: handle/slug or a boardrepo.com URL. Discover public boards with search_boards, personal or authorised organisation boards with list_my_boards."
    • Changedget_bom1 field changed
      • changedInput schema / properties / board / description
        Previous value: -"A public board: handle/slug (e.g. alice/keezyboost40) or a boardrepo.com URL. Discover it with search_boards; do not invent one."New value: +"A board: handle/slug or a boardrepo.com URL. Use search_boards for public boards or list_my_boards for personal and authorised organisation boards. Do not invent references."
    • Changedget_checks1 field changed
      • changedInput schema / properties / board / description
        Previous value: -"A public board: handle/slug (e.g. alice/keezyboost40) or a boardrepo.com URL. Discover it with search_boards; do not invent one."New value: +"A board: handle/slug or a boardrepo.com URL. Use search_boards for public boards or list_my_boards for personal and authorised organisation boards. Do not invent references."
    • Changedlist_board_files1 field changed
      • changedInput schema / properties / board / description
        Previous value: -"A public board: handle/slug (e.g. alice/keezyboost40) or a boardrepo.com URL. Discover it with search_boards; do not invent one."New value: +"A board: handle/slug or a boardrepo.com URL. Use search_boards for public boards or list_my_boards for personal and authorised organisation boards. Do not invent references."
    • Changedquery_design1 field changed
      • changedInput schema / properties / board / description
        Previous value: -"A public board: handle/slug (e.g. alice/keezyboost40) or a boardrepo.com URL. Discover it with search_boards; do not invent one."New value: +"A board: handle/slug or a boardrepo.com URL. Use search_boards for public boards or list_my_boards for personal and authorised organisation boards. Do not invent references."
    • Changedread_file1 field changed
      • changedInput schema / properties / board / description
        Previous value: -"A public board: handle/slug (e.g. alice/keezyboost40) or a boardrepo.com URL. Discover it with search_boards; do not invent one."New value: +"A board: handle/slug or a boardrepo.com URL. Use search_boards for public boards or list_my_boards for personal and authorised organisation boards. Do not invent references."
    • Changedread_schematic1 field changed
      • changedInput schema / properties / board / description
        Previous value: -"A public board: handle/slug (e.g. alice/keezyboost40) or a boardrepo.com URL. Discover it with search_boards; do not invent one."New value: +"A board: handle/slug or a boardrepo.com URL. Use search_boards for public boards or list_my_boards for personal and authorised organisation boards. Do not invent references."
    • Changedrun_checks1 field changed
      • changedInput schema / properties / board / description
        Previous value: -"A public board: handle/slug (e.g. alice/keezyboost40) or a boardrepo.com URL. Discover it with search_boards; do not invent one."New value: +"A board: handle/slug or a boardrepo.com URL. Use search_boards for public boards or list_my_boards for personal and authorised organisation boards. Do not invent references."
    • Changedsearch_board1 field changed
      • changedInput schema / properties / board / description
        Previous value: -"A public board: handle/slug (e.g. alice/keezyboost40) or a boardrepo.com URL. Discover it with search_boards; do not invent one."New value: +"A board: handle/slug or a boardrepo.com URL. Use search_boards for public boards or list_my_boards for personal and authorised organisation boards. Do not invent references."
  5. 1 tool update
    • Changedsearch_board2 fields changed
      • addedOutput schema / properties / bytesTruncated
        Added value: +{
        +  "type": "boolean"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "query",
        -  "matches",
        -  "filesScanned",
        -  "filesSkipped",
        -  "filesTruncated",
        -  "hasMore"
        -]New value: +[
        +  "query",
        +  "matches",
        +  "filesScanned",
        +  "filesSkipped",
        +  "filesTruncated",
        +  "bytesTruncated",
        +  "hasMore"
        +]
  6. 1 tool update
    • Changedsearch_boards2 fields changed
      • changedInput schema / properties / query / description
        Previous value: -"Free text and/or qualifiers, e.g. \"esp32 keyboard component:esp32 tag:keyboard has:schematic author:alice\". Omit to list recent public boards."New value: +"Free text and/or qualifiers, e.g. \"esp32 keyboard component:esp32 tag:keyboard has:schematic author:alice\". Free-text words are ANDed, so every extra word can only NARROW the results — measured on the live corpus, \"esp32\" matches 748 boards, \"esp32 keyboard\" 23, and \"esp32 keyboard lora\" 1. Start with the ONE most distinctive word (a part number, chip family, or brand) and add terms only to narrow a result set that is too large. At most 6 distinct free-text words; more is rejected. Omit to list recent public boards."
      • addedOutput schema / properties / hint
        Added value: +{
        +  "type": "string"
        +}
  7. 4 tool updates
    • Removedget_findings
    • Removedlist_my_boards
    • Removedreview_board
    • Removedverify_claim
  8. 15 tool updates
    • First observedget_board
    • First observedget_bom
    • First observedget_checks
    • First observedget_findings
    • First observedlist_board_files
    • First observedlist_fab_profiles
    • First observedlist_my_boards
    • First observedquery_design
    • First observedread_file
    • First observedread_schematic
    • First observedreview_board
    • First observedrun_checks
    • First observedsearch_board
    • First observedsearch_boards
    • First observedverify_claim

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    AI copilot for PCB design: search real JLCPCB/LCSC parts, build schematics, run ERC, auto-place and autoroute 2-layer boards with DRC, export Gerbers/BOM/pick-and-place, and generate 3D-printable enclosures. Changes appear live in the CircuitPilot browser editor.
    4
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables natural language interaction with KiCad projects, schematics, and PCBs, supporting project management, design rule checking, netlist extraction, and datasheet RAG search.
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables natural language search and exploration of KiCad component symbol libraries with fast full-text search across 20,000+ components including metadata like datasheets, footprints, and descriptions.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.