MCP-ADAPTER
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FEKO_EXE | No | Explicit executable path for Altair Feko. When unset the adapter looks on PATH and in the usual vendor install folders. | |
| EAGLE_EXE | No | Explicit executable path for Autodesk EAGLE. When unset the adapter looks on PATH and in the usual vendor install folders. | |
| ALTIUM_EXE | No | Explicit executable path for Altium Designer. When unset the adapter looks on PATH and in the usual vendor install folders. | |
| COMSOL_EXE | No | Explicit executable path for COMSOL Multiphysics. When unset the adapter looks on PATH and in the usual vendor install folders. | |
| DRAWIO_EXE | No | Explicit executable path for draw.io desktop. When unset the adapter looks on PATH and in the usual vendor install folders. | |
| MATLAB_EXE | No | Explicit executable path for MATLAB. When unset the adapter looks on PATH and in the usual vendor install folders (newest version wins). | |
| PSPICE_EXE | No | Explicit executable path for Cadence PSpice. When unset the adapter looks on PATH and in the usual vendor install folders. | |
| TAVILY_API | No | API key for search_docs_online (live web search of vendor documentation). Only used when MCP_ADAPTER_ALLOW_INTERNET=true. | |
| VIVADO_EXE | No | Explicit executable path for AMD Vivado. When unset the adapter looks on PATH and in the usual vendor install folders. | |
| PROTEUS_EXE | No | Explicit executable path for Proteus Design Suite. When unset the adapter looks on PATH and in the usual vendor install folders. | |
| PSPICE_ARGS | No | Release-specific command-line overrides for PSpice. | |
| ANSYS_EDT_EXE | No | Explicit executable path for Ansys Electronics Desktop (HFSS). When unset the adapter looks on PATH and in the usual vendor install folders. | |
| PHOTOSHOP_EXE | No | Explicit executable path for Adobe Photoshop. When unset the adapter looks on PATH and in the usual vendor install folders. | |
| VITIS_HLS_EXE | No | Explicit executable path for Vitis HLS. When unset the adapter looks on PATH and in the usual vendor install folders. | |
| ORCAD_CAPTURE_EXE | No | Explicit executable path for Cadence OrCAD Capture. When unset the adapter looks on PATH and in the usual vendor install folders. | |
| WOLFRAMSCRIPT_EXE | No | Explicit executable path for wolframscript (Wolfram Mathematica). When unset the adapter looks on PATH and in the usual vendor install folders. | |
| ALTIUM_SCRIPT_ARGS | No | Override for the Altium script switch template (default X2.EXE -RScriptFile:<PrjScr> -RProcName:<Unit>Proc>) if your version expects different names. | |
| PHOTOSHOP_APP_NAME | No | Release-specific application name used for Photoshop automation. | |
| MCP_ADAPTER_TIMEOUT | No | Default timeout in seconds for launching an application (default 600). | |
| ORCAD_CAPTURE_TCL_CMD | No | Start-up switch/command used to make OrCAD Capture source a Tcl script, since the switch differs between releases. | |
| MCP_ADAPTER_AUTH_TOKEN | No | Bearer token for the HTTP transports. Required in network mode (server refuses to start an HTTP transport without it) and every request must send Authorization: Bearer <token>. Optional in local mode, enforced whenever set. Must be 24+ characters. | |
| MCP_ADAPTER_OUTPUT_DIR | No | Where generated scripts, logs and results are written (default ./outputs). | |
| AUTOCAD_CORE_CONSOLE_EXE | No | Explicit executable path for Autodesk AutoCAD accoreconsole. When unset the adapter looks on PATH and in the usual vendor install folders. | |
| MCP_ADAPTER_ENABLE_<APP> | No | Set to false to switch off a specific application (e.g. MCP_ADAPTER_ENABLE_MATLAB=false). | |
| MCP_ADAPTER_NETWORK_MODE | No | Security policy network mode. 'local' (default): HTTP/SSE transports may only bind 127.0.0.1/localhost; DNS-rebinding protection rejects non-localhost Host/Origin headers. 'network': other interfaces allowed when explicitly requested with --host and requires MCP_ADAPTER_AUTH_TOKEN. Set by mcp-adapter-setup. | |
| MCP_ADAPTER_OUTPUT_ROOTS | No | Semicolon-separated list of folders that restricts the folders that can be chosen with set_output_folder. | |
| MCP_ADAPTER_ALLOWED_HOSTS | No | Comma-separated Host header allow-list used only in network mode (e.g. 192.168.1.20:8000), enabling rebinding protection for those hosts. | |
| MCP_ADAPTER_ALLOW_INTERNET | No | When false (default), search_docs_online (Tavily) and mathematica_wolfram_alpha are not registered at all so no code path can reach the internet. Set to true to enable those tools. | |
| MCP_ADAPTER_EXPOSE_UNAVAILABLE | No | false (default): register automation tools only for detected applications. true: register every tool regardless (calls for missing software then return ok: false with a hint). |
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
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_softwareA | List the supported applications with catalog size and whether the executable was found locally. |
| list_categoriesA | List the catalog categories (with tool counts) for one application, e.g. 'matlab' or 'vivado'. |
| list_toolsB | List catalog entries for an application, optionally filtered by category substring and kind. Returns compact rows (name, kind, category, description). Use describe_tool for usage and examples. |
| describe_toolC | Full description of one catalog entry: what it does, usage/syntax, parameters, example, docs link. |
| search_toolsC | Search the catalogs by keyword(s) across all applications or one; ranked by name/category/description matches. |
| software_overviewB | Everything an agent needs to decide how to use an application: what it is best for, typical tasks, what it is not suited to, its capability areas (catalog categories with entry counts, browse them with list_tools), the automation entry points (CLI flags, scripting APIs, file formats) and whether it is installed here. |
| recommend_applicationA | Suggest which application (and tool family) fits an engineering task best, e.g. antennas -> HFSS, SPICE circuits -> PSpice, coupled physics -> COMSOL, PCB -> Altium, FPGA -> Vivado, symbolic math -> Mathematica, numerics/plots -> MATLAB. Call this before choosing tools for a task. Returns ranked candidates with the matched terms, what each is best for, whether it is installed here and its tool prefix, plus a head-to-head comparison of the applications that can do this kind of task (strength, when to choose each, limits). The result is a suggestion, not a rule: if the suggested application is not installed or the user prefers another, use an installed alternative and tell the user its limits. |
| compare_applicationsA | Head-to-head comparison of the applications that can do the same kind of task (antennas, antenna placement/RCS, RF passives/SI, circuits, power electronics, schematic capture/BOM, PCB, 3D PCB/MCAD, firmware, FPGA, control, ODEs/numerics, symbolic maths, data/ML, signal/image processing, photo editing, structural, thermal, CFD, low-frequency EM, acoustics, multiphysics, batteries/chemistry, optics, EMC, drawings, diagrams). Each area has a one-line summary of which application is best for what; each candidate has its strength, when to choose it and its limits, ranked from the usual first choice, with installation status on this machine. Advisory only: the suggested pick is the application the task names (if installed), else the first installed candidate that can substitute. Any installed candidate may be used; tell the user which trade-offs apply. Call with no arguments to list the areas, with area= for one area, or with task= to match areas. |
| adapter_statusB | Which applications were detected, which automation tools are exposed or hidden (and why), and the security policy. |
| security_policyB | Effective network/internet policy (local-only vs network mode, which tools are disabled, how to change it) and the rules for the output folder. |
| set_output_folderA | Write all generated scripts and results into folder, normally the folder the user gave or granted for the task, instead of the adapter's default outputs folder. Call it first in a task that has a folder. Relative paths in later tool arguments are resolved inside it. Each application writes into its own subfolder (e.g. D:\Projects\PCB\orcad) unless per_application_subfolders is false. An empty folder goes back to the default. The folder must already exist on a local disk. Drive roots, the home folder itself, hidden, system, program, application-data and network folders are refused; MCP_ADAPTER_OUTPUT_ROOTS in .env can restrict it further. The setting applies to this server process (all chats of this client) until changed or the server restarts. |
| time_nowA | Current date/time in a timezone (IANA name like 'Europe/Berlin', 'local', 'EST', or '+03:30'). Returns ISO 8601, unix epoch, UTC offset, DST flag, weekday, ISO week and an optional strftime-formatted string. |
| time_convertB | Convert a date/time between timezones. Accepts ISO 8601, unix timestamps, 'now', 'today'. |
| time_addB | Add (or subtract with negatives) a duration to a date/time. |
| time_differenceC | Elapsed time between two date/times in seconds, minutes, hours, days, weeks and a human string. |
| time_formatC | Format a date/time with a strftime pattern (e.g. '%A %d %B %Y, %I:%M %p'). |
| time_list_timezonesA | List IANA timezone names, optionally filtered by substring (e.g. 'Asia', 'London'). |
| time_world_clockB | Show one instant across several timezones (defaults to ten major zones). |
| time_unixC | Convert a date/time to unix epoch seconds/milliseconds (or 'now'). |
| orcad_parse_pspice_outputB | [OrCAD PSpice/Capture/PCB Editor: analog & mixed-signal circuit simulation, schematics, PCB] Parse an existing PSpice .out file (errors, warnings, node voltages, total power). |
| altium_script_templateA | [Altium Designer: schematic capture, PCB layout/routing, stackups, fabrication outputs] Return ready-made DelphiScript: template 'export_bom' (project_path, output_file .csv) or 'pcb_stats' (output_file .txt). |
| proteus_project_infoA | [Proteus: microcontroller/firmware co-simulation (VSM) with circuit, plus schematic and PCB] Inspect a .pdsprj container without opening Proteus: embedded files, firmware references, MCU hints. |
| feko_parse_outA | [Altair Feko: computational electromagnetics (MoM/MLFMM/FEM/PO/UTD hybrids) for antennas, antenna placement on platforms, RCS, EMC] Parse a Feko .out report (no Feko needed): solution frequencies, per-source impedance/current/power, section headings, mesh/memory/time summary lines, warnings and errors. |
| feko_lua_templateC | [Altair Feko: computational electromagnetics (MoM/MLFMM/FEM/PO/UTD hybrids) for antennas, antenna placement on platforms, RCS, EMC] Ready-made Lua scripts to adapt: 'dipole' (CADFEKO build + solve), 'export_source_data' (POSTFEKO impedance CSV), 'export_farfield' (POSTFEKO .ffe export), 'rcs_sweep' (CADFEKO plane-wave monostatic RCS). |
| eagle_read_designB | [Autodesk EAGLE (retired June 2026): schematic capture and PCB layout; reads EAGLE designs, command-line CAM (Gerber/Excellon), BOM and netlist, User Language programs and scripts] Read an EAGLE XML design without EAGLE: schematic (sheets, parts with package and attributes, nets with pins, variants, modules), board (copper layers, size, elements with position/rotation, signals with pads/wires/vias, unrouted signals, key design rules) or library (packages, symbols, device sets). |
| eagle_bomA | [Autodesk EAGLE (retired June 2026): schematic capture and PCB layout; reads EAGLE designs, command-line CAM (Gerber/Excellon), BOM and netlist, User Language programs and scripts] Bill of materials from an EAGLE schematic or board (XML, no EAGLE needed), grouped by value, package, manufacturer and MPN attributes, with designators; parts without a package (frames, supply symbols) are left out. Optionally writes a CSV (relative paths go into the current output folder). |
| eagle_netlistA | [Autodesk EAGLE (retired June 2026): schematic capture and PCB layout; reads EAGLE designs, command-line CAM (Gerber/Excellon), BOM and netlist, User Language programs and scripts] Netlist from an EAGLE schematic (part.pin per net) or board (element.pad per signal), XML only; optionally written as a tab-separated text file. |
| drawio_create_diagramB | [draw.io: diagrams (flowcharts, block diagrams, architecture, UML, network) as editable files and PNG/SVG/PDF] Build a .drawio diagram from nodes [{id,label,shape?,style?,x?,y?,width?,height?}] and edges [{source,target,label?,style?}]. Shapes: rectangle, rounded, ellipse, circle, rhombus/decision, process, terminator, start, end, document, cylinder/database, cloud, note, hexagon, parallelogram/data, triangle, actor, text, card, step, container/swimlane, cube, component, umlclass. Layout is automatic (layered, direction TB or LR) unless x/y are given. Set export_format=png|svg|pdf to also render. |
| drawio_flowchartC | [draw.io: diagrams (flowcharts, block diagrams, architecture, UML, network) as editable files and PNG/SVG/PDF] Quick linear flowchart from a list of step labels (labels ending with '?' become decision diamonds). |
| drawio_readB | [draw.io: diagrams (flowcharts, block diagrams, architecture, UML, network) as editable files and PNG/SVG/PDF] Read a .drawio/.xml file: pages, vertex/edge counts, labels and the decoded mxGraphModel XML. |
| drawio_codecA | [draw.io: diagrams (flowcharts, block diagrams, architecture, UML, network) as editable files and PNG/SVG/PDF] Decode a compressed payload to XML (mode=decode) or compress XML to draw.io format (mode=encode). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| resource_software_list | JSON list of supported applications and catalog sizes. |
TDQS
Scored across 31 tools
Most tools have clearly distinct purposes: the time_* family, the app-specific tools (eagle_*, feko_*, drawio_*), and the catalog browsers are separable. However, the discovery/advisory cluster overlaps—list_software vs software_overview vs adapter_status, and recommend_application vs compare_applications—could cause misselection, and list_tools vs describe_tool vs search_tools blur somewhat.
Names follow a predictable snake_case verb_noun or prefix_noun pattern throughout, with clear per-domain prefixes (time_*, eagle_*, feko_*, drawio_*, altium_, orcad_, proteus_). Even the meta tools (list_*, describe_tool, search_tools, set_output_folder) stay consistent.
31 tools is heavy, sitting above the ideal 3-15 range. The breadth is partly justified by aggregating many engineering applications plus time and meta utilities, but the distribution is uneven (draw.io gets 4 tools while OrCAD/Altium/Proteus get one each), so the count feels padded rather than tightly scoped.
The meta/catalog and time surfaces are complete (list/describe/search, full time arithmetic). But application coverage is thin per app: many supported applications have only a single parse or template tool, and EAGLE lacks create/CAM-export while draw.io lacks update/edit, leaving notable gaps an agent must route around via catalog scripts.