SPICE simulation
Validated .op, .dc, .ac, .tran, and .noise analyses through an isolated ngspice worker, with bounded vectors and stable diagnostics.
Available now
Tersa MCP is an early-access engineering-agent platform for validated simulation, measurements, bounded circuit optimization, and Touchstone inspection. An agent can run ngspice, optimize component values, or inspect one-port and two-port S-parameters for passivity and reciprocity. Harmonic balance, EM, and broader RF synthesis remain on the roadmap. Live image tools can turn a validated netlist into a deterministic circuit schematic and selected traces from an account-owned completed simulation into a plot. MCP returns PNG by default for broad client compatibility, with SVG available explicitly. Seven live workspace tools let an authenticated account list projects, create or read canonical revisions, and turn a typed engineering request into an editable SchematicDocument 1.0 through the real Tersa .NET component catalog and domain commands. Completed generation jobs provide a token-free link that opens the exact revision in Tersa Web.
mcp.tersaeda.comhttps://mcp-api.tersaeda.com/mcp · liveagent> Validate this RC low-pass netlist, run a transient analysis, return time and v(out), then explain whether the response is consistent with the component values. Do not change the circuit until you report any validation warning.
tool spice_validate_netlist
result valid · analysis=tran · warnings=0
tool spice_simulate
result completed · engine=ngspice · vectors=2Transport
Streamable HTTP
Identity
OAuth 2.1 + PKCE
Engine
ngspice worker
Engineering agent platform
Tersa MCP is the agent-facing control plane for Tersa engineering workflows. SPICE simulation, typed measurements, bounded optimization, Touchstone 1.x inspection, and editable circuit generation are live production capabilities. Harmonic balance, EM, and broader RF synthesis remain gated roadmap work.
Validated .op, .dc, .ac, .tran, and .noise analyses through an isolated ngspice worker, with bounded vectors and stable diagnostics.
Available now
Periodic steady-state and nonlinear RF analysis exposed through typed, inspectable agent contracts.
Platform roadmap
Geometry-aware electromagnetic jobs, field results, and solver diagnostics with explicit resource limits.
Platform roadmap
Bounded component variables, explicit engineering goals, deterministic methods, progress polling, cancellation, and source-simulation evidence.
Available now
Bounded one-port and two-port Touchstone 1.x inspection with impedance, sweep, passivity, reciprocity, and stable diagnostics.
Available now
Typed circuit specs materialized by Tersa's real .NET component catalog and domain commands into immutable SchematicDocument 1.0 revisions.
Available now
Roadmap items are product direction, not currently available MCP tools. Their names, scope, and release order may change.
Early access
The production endpoint has completed a real OAuth-to-MCP-to-BFF-to-worker-to-ngspice run with PKCE, consent, refresh rotation, revocation, account usage reporting, and bounded vectors. Access is user-scoped and requires a verified Tersa account. Codex and ChatGPT remain target clients until their interactive product acceptance is recorded; shared API keys are not the public authentication model.
Answer first
A remote Model Context Protocol service for controlled SPICE work. An agent calls typed tools rather than inventing shell commands, handling server files, or parsing an unbounded simulator transcript.
Validate and simulate an inline SPICE netlist, optimize bounded component values, or inspect one-port and two-port Touchstone 1.x S-parameters. Results include bounded vectors, typed measurements, passivity, reciprocity, stable diagnostics, polling, and cancellation.
Engineers and technical teams using an OAuth-capable remote MCP client who want an agent to assist with repeatable analog or RF checks. It is a focused simulation service, not a replacement for a complete desktop EDA suite.
Tools
Each tool has a narrow contract so the client can separate preparation, execution, monitoring, and diagnosis. Jobs are owned by the authenticated Tersa account; the public launch will not expose the internal service credential to users or agents.
spice_capabilitiesRead supported analyses, protocol behavior, server limits, and result constraints before composing a request.
spice_validate_netlistRun preflight checks without starting ngspice. Unsafe directives, multiple analyses, oversized input, and unsupported file operations are rejected early.
spice_submit_simulationCreate an asynchronous simulation job with requested vectors and an optional idempotency key for safe retries.
spice_get_simulationPoll only a job owned by the current account and receive its stable state, bounded result, or diagnostic code.
spice_cancel_simulationRequest cancellation when a queued or running experiment is no longer useful.
spice_simulateSubmit and wait briefly in one call; receive either a completed result or a job reference to continue polling.
spice_explain_failureTurn a stable validation or execution code into corrective guidance that an agent can apply to the next attempt.
spice_measure_resultCalculate typed measurements from retained vectors of a completed job without rerunning ngspice.
optimize_circuitSubmit a bounded component-value optimization with explicit variables, ranges, engineering goals, method, evaluation budget, and deterministic seed.
get_optimizationPoll an owner-scoped optimization and receive progress, best values, per-goal evidence, the materialized netlist, and source-simulation lineage.
cancel_optimizationRequest cooperative cancellation of a queued or running optimization without affecting another account's work.
network_submit_touchstoneSubmit bounded Touchstone 1.x S-parameter data for a one-port or two-port network in RI, MA, or DB format.
network_get_analysisPoll an owner-scoped network job for reference impedance, sweep bounds, passivity, reciprocity, and stable diagnostics.
network_cancel_analysisCancel a queued Touchstone inspection before worker execution begins.
render_circuit_schematicRender a validated bounded SPICE netlist as a deterministic circuit schematic with connectivity metadata; PNG is the default and SVG is optional.
render_simulation_plotRender selected real or complex traces from an owner-scoped completed simulation as a bounded PNG or SVG plot without rerunning ngspice.
get_renderPoll an owner-scoped render job and receive bounded metadata plus the completed PNG or SVG as an MCP image block.
cancel_renderCancel a queued render before worker execution begins.
project_listList account-owned project summaries without returning schematic documents or other project payloads.
project_getRead bounded metadata for one account-owned project, including sheet, plot, and model summaries but not document contents.
project_createIdempotently create an empty account-owned project with a stable clientRequestId; replay returns the same project and conflicting reuse is rejected.
project_get_documentRead one owner-scoped canonical SchematicDocument 1.0 revision, including its immutable revision identifier.
project_save_revisionSave a bounded canonical revision idempotently; updates require the latest baseRevisionId and conflicting reuse is rejected.
project_generate_circuitSubmit a bounded typed circuit specification for materialization by Tersa’s real .NET component catalog, placement, conductor, analysis, validation, and canonical serialization logic.
get_project_generationPoll an account-owned generation job and receive its immutable revision identifier, bounded counts, and token-free Tersa Web editor URL without exposing the generated document in activity logs.
The spice_measure_result tool contract 1.8.0 evaluates retained result vectors without rerunning ngspice. Sixteen algorithms are available now, and every request uses explicit parameters, source-vector evidence, and stable failure codes.
VALUE_AT_X, MINIMUM, MAXIMUM, MEAN, RMS, CROSSING, and BANDWIDTH are live for bounded result vectors. Crossing and bandwidth requests use an explicit threshold instead of an inferred level.
RISE_TIME and FALL_TIME require explicit lowThreshold and highThreshold values. SETTLING_WINDOW requires a finite target and positive absolute tolerance. All three require a real time vector.
OVERSHOOT and UNDERSHOOT require explicit target and startTime values. They report the sampled peak or trough and excursion amount at or after startTime; they do not invent an interpolated extremum.
DELAY requires an explicit threshold and referenceTime. Exactly one threshold crossing must occur at or after referenceTime; the returned delay is crossingTime minus referenceTime.
PERIOD and FREQUENCY average all complete rising-to-rising cycles at an explicit threshold. DUTY_CYCLE uses the same cycles and requires exactly one falling threshold crossing inside every included cycle.
Missing crossings return insufficient-data failures, while extra eligible crossings return AMBIGUOUS_CROSSING. Tersa MCP does not select a convenient edge for rise/fall timing, DELAY, CROSSING, BANDWIDTH, or periodic duty measurements.
Architecture
The MCP adapter does not run a simulator itself and never connects directly to the database. Separation between the public protocol, account authority, job state, and native process keeps the surface understandable and gives each layer one security responsibility.
A compatible client will open Tersa sign-in and consent. Email/password and Google sign-in resolve to the same account and session model. OAuth scopes will distinguish reading capabilities, validation, and simulation.
The remote adapter validates JSON-RPC and tool arguments, resolves the user, applies origin and rate policies, then delegates through a separate internal credential. The user token is not forwarded into the simulation network.
Tersa validates the inline netlist, analysis count, requested vectors, ownership, concurrency, and idempotency. PostgreSQL stores the queue and status through Hibernate/JPA so a client can safely reconnect and poll.
A worker claims the job and launches ngspice as a constrained child process in a private temporary directory. Timeout, CPU, memory, process, and result-point limits bound the run. Structured results return through the BFF and MCP tool response.
Connect
Create a verified Tersa account, open the private dashboard, then add https://mcp-api.tersaeda.com/mcp to a compatible remote client. OAuth discovery, PKCE, consent, refresh rotation, and revocation are live; named-client acceptance remains an explicit compatibility check.
Example agent request
Validate this RC low-pass netlist, run a transient analysis, return time and v(out), then explain whether the response is consistent with the component values. Do not change the circuit until you report any validation warning.
Register with email and password or use Google. The same identity is intended for the separate MCP dashboard, future Web CAD, mobile applications, and MCP grants; a separate MCP-only account is not required.
The separate app at mcp.tersaeda.com is the control plane for early-access status, future client connections, grants, revocation, execution counts, and daily usage. It remains private and is not a search landing page.
Add https://mcp-api.tersaeda.com/mcp. The client discovers authorization metadata, starts an OAuth 2.1 authorization-code flow with PKCE, and returns to its exact callback after consent.
Start with capabilities or validation, name one supported analysis, request only the vectors needed for the decision, and let the agent poll an asynchronous job when it cannot finish within the short synchronous window.
The intended transport is remote Streamable HTTP over HTTPS with user-scoped OAuth 2.1 and PKCE. Compatibility is defined by protocol behavior, not by a hard-coded vendor integration. The final public claim will follow an initialize, tools/list, validate, simulate, poll, cancel, refresh, and revoke acceptance run in each named client.
Registration is mandatory because simulations consume compute and every grant, job, result, and usage event needs an owner. The design favors short, inspectable contracts and rejects capabilities that would turn a simulator input into general server access.
Tersa MCP is being built as a reliable RF/analog simulation notebook for agents, not as unrestricted remote compute. Clear limitations make tool calls predictable and reduce the chance that an apparently simple prompt becomes an unsafe or irreproducible job.
Related
Learn the simulator workflow, review RF matching guidance, or open the private MCP dashboard. These routes explain the product around the protocol instead of treating MCP as an isolated API.
Each tool has a narrow contract so the client can separate preparation, execution, monitoring, and diagnosis. Jobs are owned by the authenticated Tersa account; the public launch will not expose the internal service credential to users or agents.
The MCP adapter does not run a simulator itself and never connects directly to the database. Separation between the public protocol, account authority, job state, and native process keeps the surface understandable and gives each layer one security responsibility.
Create a verified Tersa account, open the private dashboard, then add https://mcp-api.tersaeda.com/mcp to a compatible remote client. OAuth discovery, PKCE, consent, refresh rotation, and revocation are live; named-client acceptance remains an explicit compatibility check.
Tersa MCP
Create one Tersa identity, explore the simulator, and use the separate MCP dashboard to follow availability. If you need a specific client or analysis in the acceptance matrix, tell us about your engineering workflow.