altium-monkey-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_projectsB | Find Altium projects (.PrjPcb) under a directory, with their sheets and PCB files. |
| project_infoC | Overview: sheet hierarchy, variants, PCB docs, project parameters, component/net counts. |
| search_componentsB | Regex search (case-insensitive) over designator, value, comment, footprint, description and parameter values. |
| get_componentC | Component details: parameters, every pin with its net (and other parts on that net), and PCB placement. |
| search_netsC | Regex search over net names; returns name and pin count. |
| get_netB | All pins on a net (designator, pin number/name, type, part value) and, if a PCB exists, routing stats: track length/width per layer, vias, pads. |
| get_bomB | Bill of materials (optionally for a design variant). grouped=True merges identical parts. |
| pcb_infoB | PCB overview: board size, copper layers in use with stackup, primitive counts, net classes, differential pairs and design rules. |
| pcb_placementC | Pick-and-place: designator, footprint, layer (top/bottom), center X/Y and rotation.
|
| components_nearB | PCB components whose centers lie within radius_mm of the given component (same and opposite side). |
| render_schematicB | Render one schematic sheet (file name, e.g. 'sterowanie.SchDoc') to SVG and PNG. Returns file paths; open the PNG with the Read tool to look at it. |
| render_pcbB | Render the PCB to SVG/PNG. |
| export_netlist_jsonA | Write the full compiled netlist (components, nets, terminals, hierarchy) as JSON to out_path. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Most tools target clearly distinct objects: project discovery (list_projects), project overview (project_info), component/net search vs. detail retrieval (search_components/get_component, search_nets/get_net), and PCB-specific queries (pcb_info, pcb_placement, components_near). The main soft spot is the search vs. get pairs for nets and components, where an agent must remember that search_nets only returns name+pin count while get_net returns full pin/routing data, and export_netlist_json partially overlaps with get_net/get_bom outputs.
Nine tools use a verb_noun pattern (get_net, list_projects, search_components, render_pcb, export_netlist_json), but four deviate into bare noun phrases (project_info, pcb_info, pcb_placement, components_near). The convention is readable and snake_case throughout, but the prefix is not predictable from the tool name alone.
Thirteen tools is well within a healthy scope for inspecting a full Altium project spanning schematics, PCB, BOM and netlist export. Each tool maps to a distinct analysis need (discovery, search, detail, visualization, export) with no obviously redundant entries.
The surface covers the realistic read-only lifecycle: project discovery, hierarchy/variant overview, component and net search and detail, BOM, PCB geometry/routing, rendering and netlist export. Minor gaps exist, such as no direct query of differential pairs or net classes beyond what pcb_info dumps, and no way to filter PCB primitives (tracks/vias) by layer or region for targeted inspection; write operations are out of scope for this server.