Skip to main content
Glama
altium-monkey-mcp

altium-monkey-mcp

by wjakiela

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
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. pattern filters by designator/comment/footprint regex.

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. layers = layer names to show (e.g. ['TOP','TOP_OVERLAY','MULTI_LAYER'], 'TOPOVERLAY' style also accepted); None renders all layers. Returns file paths; open the PNG with the Read tool.

export_netlist_jsonA

Write the full compiled netlist (components, nets, terminals, hierarchy) as JSON to out_path.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.2/5.0

Scored across 13 tools

Disambiguation4/5

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.

Naming Consistency3/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues