Tersa EDA
Model Context Protocol · Engineering Acceso anticipado

Tersa MCP: simulación controlada para agentes de ingeniería.

Tersa MCP ofrece simulación validada, mediciones, optimización acotada e inspección Touchstone. Un agente puede ejecutar ngspice, optimizar componentes o revisar pasividad y reciprocidad de parámetros S de uno o dos puertos. El balance armónico, EM y la síntesis RF avanzada siguen en el roadmap. Las herramientas de imagen convierten una netlist validada en un esquema determinista y las trazas de una simulación completada de la cuenta en un gráfico. MCP devuelve PNG por defecto para mayor compatibilidad y permite solicitar SVG. Siete herramientas workspace activas permiten consultar proyectos, crear o leer revisiones canónicas y convertir una solicitud de ingeniería tipada en un SchematicDocument 1.0 editable mediante el catálogo real de componentes y los comandos de dominio .NET de Tersa. El job completado devuelve un enlace sin token que abre la revisión exacta en Tersa Web.

Tersa MCP · Acceso anticipado
Endpoint de protocolo · activo
Dashboardmcp.tersaeda.com
Endpoint de protocolohttps://mcp-api.tersaeda.com/mcp · activo
agent> Valida este netlist RC low-pass, ejecuta un análisis transient, devuelve time y v(out) y explica si la respuesta concuerda con los componentes. No cambies el circuito antes de informar warnings.

tool  spice_validate_netlist
result valid · analysis=tran · warnings=0
tool  spice_simulate
result completed · engine=ngspice · vectors=2

Transporte

Streamable HTTP

Identidad

OAuth 2.1 + PKCE

Motor

ngspice worker

Plataforma para agentes de ingeniería

Tersa MCP es más que una capa sobre SPICE.

La simulación SPICE, las mediciones tipadas, la optimización acotada, Touchstone 1.x y la generación de circuitos editables están activas en producción. El balance armónico, EM y la síntesis RF más amplia siguen en el roadmap.

Beta activa

Simulación SPICE

Análisis .op, .dc, .ac, .tran y .noise validados con ngspice aislado, vectores limitados y diagnósticos estables.

Disponible ahora

Investigación

Balance armónico

Estado estacionario periódico y RF no lineal mediante contratos tipados e inspeccionables.

Roadmap de la plataforma

Planificado

Análisis EM

Trabajos electromagnéticos, campos y diagnósticos del solver con límites explícitos.

Roadmap de la plataforma

Beta activa

Optimización

Variables acotadas, objetivos explícitos, métodos deterministas, consulta de progreso, cancelación y evidencia de simulación.

Disponible ahora

Beta activa

Parámetros S

Inspección acotada Touchstone 1.x de uno o dos puertos con impedancia, barrido, pasividad, reciprocidad y diagnósticos estables.

Disponible ahora

Beta activa

Generación de circuitos editables

Una especificación tipada se materializa con el catálogo y los comandos de dominio .NET reales de Tersa en una revisión SchematicDocument 1.0 inmutable.

Disponible ahora

Los elementos del roadmap indican dirección de producto y aún no son tools MCP disponibles. El alcance y el orden pueden cambiar.

Acceso anticipado

El endpoint OAuth público está activo en early access.

El endpoint de producción completó un E2E real OAuth → MCP → BFF → worker → ngspice con PKCE, consentimiento, rotación y revocación, métricas por cuenta y vectores limitados. Se requiere una cuenta Tersa verificada. Codex y ChatGPT siguen como clientes objetivo hasta registrar su aceptación interactiva; la clave compartida no es el modelo público.

Respuesta directa

Tersa MCP en tres respuestas

¿Qué es?

Un servicio MCP remoto para tareas SPICE controladas. El agente usa tools tipadas, no shell arbitrario, archivos del servidor ni una salida ilimitada.

¿Qué puede hacer?

Validar netlists, consultar límites, ejecutar un análisis .op, .dc, .ac, .tran o .noise, devolver vectores, consultar y cancelar jobs y explicar errores conocidos.

¿Para quién?

Para ingeniería que usa un cliente MCP remoto con OAuth y necesita comprobaciones analógicas o RF reproducibles. No sustituye una suite EDA completa.

Herramientas

Veinticinco herramientas para generar circuitos, gestionar proyectos, simular, optimizar, analizar redes RF y crear visuales técnicos

Preparación, ejecución, seguimiento y diagnóstico tienen contratos estrechos. Cada job pertenece a la cuenta Tersa autenticada; la credencial interna nunca llega al cliente.

spice_capabilities

Consulta análisis, protocolo, límites y restricciones de resultados.

spice_validate_netlist

Valida sin iniciar ngspice y bloquea directivas inseguras, múltiples análisis y operaciones de archivo.

spice_submit_simulation

Crea un job asíncrono con vectores e idempotency key opcional.

spice_get_simulation

Devuelve estado, resultado limitado o diagnóstico solo para jobs de la cuenta actual.

spice_cancel_simulation

Solicita cancelar un experimento en cola o en ejecución.

spice_simulate

Espera brevemente y devuelve resultado o una referencia para polling.

spice_explain_failure

Convierte un código estable en una corrección aplicable por el agente.

spice_measure_result

Calcula mediciones tipadas desde los vectores guardados de un job completado sin volver a ejecutar ngspice.

optimize_circuit

Envía una optimización acotada de componentes con variables, rangos, objetivos, método, presupuesto de evaluaciones y semilla determinista explícitos.

get_optimization

Consulta una optimización propia y recibe progreso, mejores valores, evidencia por objetivo, netlist materializada y trazabilidad de simulación.

cancel_optimization

Solicita la cancelación cooperativa de una optimización en cola o en ejecución sin afectar a otras cuentas.

network_submit_touchstone

Envía datos S Touchstone 1.x acotados para una red de uno o dos puertos en formato RI, MA o DB.

network_get_analysis

Consulta el job de la cuenta para obtener impedancia, límites del barrido, pasividad, reciprocidad y diagnósticos estables.

network_cancel_analysis

Cancela una inspección Touchstone en cola antes de que comience el worker.

render_circuit_schematic

Renderiza una netlist SPICE validada y acotada como esquema determinista con metadatos de conectividad; PNG es el formato predeterminado y SVG es opcional.

render_simulation_plot

Renderiza trazas reales o complejas de una simulación completada de la cuenta como gráfico PNG o SVG acotado sin volver a ejecutar ngspice.

get_render

Consulta un render propio y recibe metadatos acotados y el PNG o SVG completado como bloque de imagen MCP.

cancel_render

Cancela un render en cola antes de que comience el worker.

project_list

Lista resúmenes de proyectos de la cuenta sin devolver documentos de esquema ni otros payloads del proyecto.

project_get

Lee metadatos acotados de un proyecto de la cuenta, incluidos resúmenes de hojas, gráficos y modelos, pero no el contenido de documentos.

project_create

Crea de forma idempotente un proyecto vacío de la cuenta con un clientRequestId estable; la repetición devuelve el mismo proyecto y un uso conflictivo se rechaza.

project_get_document

Lee una revisión canónica SchematicDocument 1.0 de la cuenta junto con su identificador de revisión inmutable.

project_save_revision

Guarda una revisión canónica acotada de forma idempotente; las actualizaciones requieren el baseRevisionId más reciente y los reintentos conflictivos se rechazan.

project_generate_circuit

Envía una especificación de circuito tipada y acotada para materializarla con el catálogo real .NET de Tersa, su colocación, conexiones, análisis, validación y serialización canónica.

get_project_generation

Consulta el job de generación y recibe la revisión inmutable, conteos acotados y una URL sin token para Tersa Web sin guardar el documento en los registros de actividad.

¿Qué mediciones tipadas están activas en Tersa MCP?

El contrato 1.8.0 de spice_measure_result evalúa los vectores conservados sin volver a ejecutar ngspice. Hay dieciséis algoritmos disponibles, con parámetros explícitos, evidencia del vector de origen y códigos de error estables.

Mediciones escalares y de serie

VALUE_AT_X, MINIMUM, MAXIMUM, MEAN, RMS, CROSSING y BANDWIDTH están activos para vectores limitados. CROSSING y BANDWIDTH usan un threshold explícito, no un nivel inferido.

Subida, bajada y asentamiento transitorios

RISE_TIME y FALL_TIME requieren lowThreshold y highThreshold explícitos. SETTLING_WINDOW requiere un target finito y un parámetro tolerance absoluto positivo. Los tres necesitan un vector de tiempo real.

Overshoot y undershoot muestreados

OVERSHOOT y UNDERSHOOT requieren target y startTime explícitos. Devuelven el peak o trough muestreado y la excursión en startTime o después, sin inventar un extremo interpolado.

Delay desde una referencia explícita

DELAY requiere threshold y referenceTime explícitos. Debe existir exactamente un cruce del threshold en referenceTime o después; el delay es crossingTime menos referenceTime.

Period, frequency y duty cycle

PERIOD y FREQUENCY promedian todos los ciclos completos rising-to-rising para un threshold explícito. DUTY_CYCLE usa esos ciclos y exige exactamente un cruce falling dentro de cada ciclo incluido.

La ambigüedad falla de forma explícita

Los cruces ausentes producen insufficient-data y los cruces elegibles adicionales devuelven AMBIGUOUS_CROSSING. Tersa MCP no elige un flanco conveniente para rise/fall, DELAY, CROSSING, BANDWIDTH ni duty periódico.

Arquitectura

De la solicitud a los datos medidos

El adaptador MCP no ejecuta ngspice ni accede a la base directamente. Protocolo, identidad, estado y proceso nativo quedan separados.

1. Autorización

El cliente abre el acceso y consentimiento de Tersa. Email/password y Google comparten cuenta; los scopes separan lectura, validación y simulación.

2. Tool call tipada

Se validan JSON-RPC, argumentos, origen y rate; BFF recibe una credencial interna separada, nunca el token del usuario.

3. Job limitado

BFF verifica netlist, análisis, vectores, propietario, concurrencia e idempotencia y persiste cola y estado con Hibernate/JPA.

4. ngspice aislado

El worker ejecuta un proceso hijo en un directorio privado con límites de tiempo, CPU, memoria, PID y puntos.

Conexión

Quick start de acceso anticipado

Crea y verifica una cuenta Tersa, abre el dashboard privado y añade https://mcp-api.tersaeda.com/mcp a un cliente compatible. Discovery, PKCE, consentimiento, rotación y revocación ya están activos.

Ejemplo de solicitud

Valida este netlist RC low-pass, ejecuta un análisis transient, devuelve time y v(out) y explica si la respuesta concuerda con los componentes. No cambies el circuito antes de informar warnings.

  1. 1

    Crea una cuenta Tersa

    Regístrate por email o Google. La misma identidad servirá para web, futuro Web CAD, móvil y grants MCP.

  2. 2

    Abre el dashboard MCP

    Es el control privado de estado, conexiones, grants, revocación, ejecuciones y uso diario.

  3. 3

    Conecta un cliente remoto

    Añade https://mcp-api.tersaeda.com/mcp y completa OAuth 2.1 authorization code + PKCE.

  4. 4

    Pide una tarea limitada

    Empieza por capabilities o validación, indica un análisis y solo los vectores necesarios; usa polling para jobs largos.

Compatibilidad de clientes

El objetivo es Streamable HTTP remoto por HTTPS con OAuth 2.1 y PKCE por usuario. Solo se anunciará soporte tras probar initialize, tools/list, validate, simulate, poll, cancel, refresh y revoke.

  • Codex es cliente objetivo; falta la aceptación en producción.
  • ChatGPT es objetivo donde el plan y workspace admitan custom remote MCP apps; falta la aceptación.
  • Otros clientes pueden admitirlo si soportan MCP, HTTPS, discovery, PKCE y rotación de refresh.

Cuenta, privacidad y límites de ejecución

El registro es obligatorio para atribuir consumo, grants, jobs y resultados. El contrato impide convertir un netlist en acceso general al servidor.

  • Tokens opacos; solo se guardan hashes SHA-256 y el replay revoca la familia.
  • Google ID token se verifica en servidor; ningún client secret llega a Nuxt, móvil o MCP.
  • Un análisis; se bloquean file reads, includes arbitrarios, control, shell y code models.
  • ngspice corre aislado y con límites de recursos.
  • Los logs no incluyen netlists completos, email, OAuth assertions, tokens ni keys.

Qué es —y qué no es— la beta

Es un notebook RF/analógico reproducible para agentes, no cómputo remoto sin límites.

  • Un análisis .op/.dc/.ac/.tran/.noise por solicitud.
  • Sin .include o .lib aportados por el usuario.
  • Sweeps y resultados deben limitarse a lo necesario.
  • No sustituye ADS, AWR ni una EDA de escritorio completa.
  • Endpoint, cuotas, clientes y condiciones pueden cambiar.

Relacionado

Revisa el simulador, la guía de matching RF o el dashboard MCP privado.

Tersa MCP

Prepara tu cuenta para Tersa MCP.

Crea una identidad Tersa, explora el simulador y sigue la disponibilidad en el dashboard.