Skip to main content
Glama
NeuronCState

Digital MCP Server

by NeuronCState

digital_build_circuit

Build a .dig circuit file from a structured design, with optional tests, SVG rendering, and opening in the Digital app.

Instructions

Build a Digital .dig file from a structured circuit design, optionally test, render and open it. The host AI should translate text or an attached image into this design object.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
openNoOpen the generated circuit in Digital.app on macOS.
designYesObject with elements, wires, and optional tests; see digital_design_schema.
file_nameNoOptional simple .dig filename.
run_testsNoRun embedded test cases after building.
render_svgNoExport an SVG preview after building.
timeout_secondsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose side effects. It only says 'optionally test, render and open' without explaining what those operations do, whether they modify state, require permissions, or produce side effects like opening an app. There is no mention of error behavior or output format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, efficient and front-loaded. The first sentence covers the core function, the second adds a directive for the AI. No filler, but the second sentence is more of a usage hint than a description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with a nested design object, six parameters, and no output schema or annotations, the description is insufficient. It does not explain how to form the design object, what happens after building, what return values to expect, or error handling. The agent would need to infer from sibling tools or the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 83%, so the baseline is 3. The description adds minimal param-specific meaning beyond the schema, such as 'structured circuit design' and 'design object', but it does not explain the design structure or how to construct it. It relies on the schema's reference to digital_design_schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action (build a .dig file), the resource (Digital circuit), and optional operations (test, render, open). It clearly distinguishes the tool's core role from sibling tools by positioning it as the builder that may delegate to others. The instruction to translate text/image into a design object adds valuable context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this is the primary build tool and mentions optional test/render/open, but it does not explicitly state when to use sibling tools like digital_run_tests or digital_open_circuit instead. It gives a context hint about translating input but lacks clear when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.