Tersa EDA
Model Context Protocol · Engineering Accès anticipé

Tersa MCP : simulation contrôlée pour agents d’ingénierie.

Tersa MCP propose simulation validée, mesures, optimisation bornée et inspection Touchstone. Un agent peut exécuter ngspice, optimiser des composants ou vérifier passivité et réciprocité de paramètres S à un ou deux ports. L’équilibrage harmonique, l’EM et la synthèse RF avancée restent sur la feuille de route. Les outils d’image transforment une netlist validée en schéma déterministe et les traces d’une simulation terminée du compte en graphique. MCP renvoie PNG par défaut pour une large compatibilité et permet de demander SVG explicitement. Sept outils workspace actifs consultent les projets, créent ou lisent des révisions canoniques et transforment une demande d’ingénierie typée en SchematicDocument 1.0 modifiable grâce au véritable catalogue de composants et aux commandes de domaine .NET de Tersa. Le job terminé fournit un lien sans jeton qui ouvre la révision exacte dans Tersa Web.

Tersa MCP · Accès anticipé
Endpoint du protocole · actif
Dashboardmcp.tersaeda.com
Endpoint du protocolehttps://mcp-api.tersaeda.com/mcp · actif
agent> Valide cette netlist RC passe-bas, exécute une analyse transitoire, retourne time et v(out), puis explique si la réponse correspond aux composants. Ne modifie rien avant de signaler les warnings.

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

Transport

Streamable HTTP

Identité

OAuth 2.1 + PKCE

Moteur

ngspice worker

Plateforme pour agents d’ingénierie

Tersa MCP ne se limite pas à une couche SPICE.

La simulation SPICE, les mesures typées, l’optimisation bornée, Touchstone 1.x et la génération de circuits modifiables sont actives en production. L’équilibrage harmonique, l’EM et la synthèse RF élargie restent dans la roadmap.

Bêta active

Simulation SPICE

Analyses .op, .dc, .ac, .tran et .noise validées via ngspice isolé, avec vecteurs bornés et diagnostics stables.

Disponible maintenant

Recherche

Équilibrage harmonique

Régime périodique et analyse RF non linéaire via des contrats typés et vérifiables.

Roadmap de la plateforme

Prévu

Analyse EM

Jobs électromagnétiques, champs et diagnostics solver avec limites explicites.

Roadmap de la plateforme

Bêta active

Optimisation

Variables bornées, objectifs explicites, méthodes déterministes, suivi, annulation et preuves de simulation source.

Disponible maintenant

Bêta active

Paramètres S

Inspection bornée Touchstone 1.x un ou deux ports avec impédance, balayage, passivité, réciprocité et diagnostics stables.

Disponible maintenant

Bêta active

Génération de circuits modifiables

Une spécification typée est matérialisée par le véritable catalogue et les commandes de domaine .NET de Tersa en révision SchematicDocument 1.0 immuable.

Disponible maintenant

Les éléments de roadmap indiquent une direction produit et ne sont pas encore des tools MCP disponibles. Leur portée et leur ordre peuvent évoluer.

Accès anticipé

L’endpoint OAuth public est actif en accès anticipé.

L’endpoint de production a validé un E2E réel OAuth → MCP → BFF → worker → ngspice avec PKCE, consentement, rotation et révocation, suivi par compte et vecteurs bornés. Un compte Tersa vérifié est requis. Codex et ChatGPT restent des clients cibles jusqu’à leur validation interactive ; la clé partagée n’est pas le modèle public.

Réponse directe

Tersa MCP en trois réponses

Qu’est-ce que c’est ?

Un service MCP distant pour des tâches SPICE contrôlées. L’agent appelle des tools typés, sans shell arbitraire, fichiers serveur ni sortie illimitée.

Que peut-il faire ?

Valider une netlist, lire les limites, exécuter une analyse .op/.dc/.ac/.tran/.noise, retourner des vecteurs, suivre ou annuler et expliquer les erreurs connues.

Pour qui ?

Pour les ingénieurs utilisant un client MCP distant OAuth et souhaitant des vérifications analogiques/RF reproductibles. Ce n’est pas une suite EDA complète.

Outils

Vingt-cinq outils pour générer des circuits, gérer les projets, simuler, optimiser, analyser les réseaux RF et créer des visuels techniques

Préparation, exécution, suivi et diagnostic ont des contrats étroits. Chaque job appartient au compte Tersa ; le credential interne reste privé.

spice_capabilities

Lit analyses, protocole, limites et contraintes de résultat.

spice_validate_netlist

Valide sans lancer ngspice et bloque directives dangereuses, analyses multiples et fichiers.

spice_submit_simulation

Crée une tâche asynchrone avec vecteurs et idempotency key optionnelle.

spice_get_simulation

Retourne état, résultat borné ou diagnostic uniquement pour les tâches du compte.

spice_cancel_simulation

Demande l’annulation d’une expérience en attente ou active.

spice_simulate

Attend brièvement puis renvoie résultat ou référence de polling.

spice_explain_failure

Transforme un code stable en correction exploitable par l’agent.

spice_measure_result

Calcule des mesures typées depuis les vecteurs conservés d’une tâche terminée sans relancer ngspice.

optimize_circuit

Soumet une optimisation bornée de composants avec variables, plages, objectifs, méthode, budget d’évaluations et graine déterministe explicites.

get_optimization

Suit une optimisation du compte et renvoie progression, meilleures valeurs, preuves par objectif, netlist matérialisée et traçabilité de simulation.

cancel_optimization

Demande l’annulation coopérative d’une optimisation en attente ou active sans affecter les autres comptes.

network_submit_touchstone

Soumet des paramètres S Touchstone 1.x bornés pour un réseau un ou deux ports au format RI, MA ou DB.

network_get_analysis

Suit le job du compte pour obtenir impédance, limites du balayage, passivité, réciprocité et diagnostics stables.

network_cancel_analysis

Annule une inspection Touchstone en attente avant le démarrage du worker.

render_circuit_schematic

Restitue une netlist SPICE validée et bornée sous forme de schéma déterministe avec métadonnées de connectivité ; PNG est le format par défaut et SVG reste optionnel.

render_simulation_plot

Trace les séries réelles ou complexes d’une simulation terminée du compte dans un graphique PNG ou SVG borné sans relancer ngspice.

get_render

Suit le rendu du compte et renvoie les métadonnées bornées ainsi que le PNG ou SVG terminé comme bloc image MCP.

cancel_render

Annule un rendu en attente avant le démarrage du worker.

project_list

Liste les résumés des projets du compte sans renvoyer les schémas ni d’autres contenus de projet.

project_get

Lit les métadonnées bornées d’un projet du compte, avec les résumés des feuilles, graphiques et modèles, sans le contenu des documents.

project_create

Crée de façon idempotente un projet vide du compte avec un clientRequestId stable ; un rejeu renvoie le même projet et une réutilisation contradictoire est refusée.

project_get_document

Lit une révision canonique SchematicDocument 1.0 du compte avec son identifiant de révision immuable.

project_save_revision

Enregistre une révision canonique bornée de façon idempotente ; une mise à jour exige le dernier baseRevisionId et tout rejeu contradictoire est refusé.

project_generate_circuit

Soumet une spécification de circuit typée et bornée pour la matérialiser avec le véritable catalogue .NET de Tersa, le placement, les connexions, les analyses, la validation et la sérialisation canonique.

get_project_generation

Suit le job de génération et reçoit la révision immuable, des compteurs bornés et une URL Tersa Web sans jeton, sans stocker le document dans les journaux d’activité.

Quelles mesures typées sont actives dans Tersa MCP ?

Le contrat 1.8.0 de spice_measure_result évalue les vecteurs de résultat conservés sans relancer ngspice. Seize algorithmes sont disponibles avec des paramètres explicites, les preuves du vecteur source et des codes d’échec stables.

Mesures scalaires et de série

VALUE_AT_X, MINIMUM, MAXIMUM, MEAN, RMS, CROSSING et BANDWIDTH sont actifs pour les vecteurs bornés. CROSSING et BANDWIDTH utilisent un threshold explicite, pas un niveau déduit.

Montée, descente et stabilisation transitoires

RISE_TIME et FALL_TIME exigent des lowThreshold et highThreshold explicites. SETTLING_WINDOW exige une valeur target finie et un paramètre tolerance absolu positif. Les trois nécessitent un vrai vecteur de temps.

Overshoot et undershoot échantillonnés

OVERSHOOT et UNDERSHOOT exigent des valeurs target et startTime explicites. Ils renvoient le peak ou trough échantillonné et l’excursion à partir de startTime, sans inventer un extremum interpolé.

Delay depuis une référence explicite

DELAY exige threshold et referenceTime. Il doit exister exactement un crossing du threshold à referenceTime ou après ; le delay vaut crossingTime moins referenceTime.

Period, frequency et duty cycle

PERIOD et FREQUENCY moyennent tous les cycles complets rising-to-rising pour un threshold explicite. DUTY_CYCLE utilise ces cycles et exige exactement un falling crossing dans chaque cycle inclus.

L’ambiguïté provoque un échec explicite

Les crossings manquants produisent insufficient-data ; les crossings éligibles supplémentaires renvoient AMBIGUOUS_CROSSING. Tersa MCP ne choisit aucun edge pratique pour rise/fall, DELAY, CROSSING, BANDWIDTH ou duty périodique.

Architecture

De la demande aux données mesurées

L’adaptateur MCP ne lance pas ngspice et n’accède pas directement à la base. Protocole, identité, état et processus natif sont séparés.

1. Autorisation

Le client ouvre la connexion et le consentement Tersa. Email/mot de passe et Google partagent le compte ; les scopes séparent lecture, validation et simulation.

2. Tool call typé

JSON-RPC, arguments, origine et débit sont validés ; BFF reçoit un credential interne, jamais le token utilisateur.

3. Tâche bornée

BFF vérifie netlist, analyse, vecteurs, propriétaire, concurrence et idempotence puis persiste avec Hibernate/JPA.

4. ngspice isolé

Le worker lance un processus enfant privé avec limites de temps, CPU, mémoire, PID et points.

Connexion

Quick start accès anticipé

Créez et vérifiez un compte Tersa, ouvrez le dashboard privé et ajoutez https://mcp-api.tersaeda.com/mcp à un client compatible. Discovery, PKCE, consentement, rotation et révocation sont actifs.

Exemple de demande

Valide cette netlist RC passe-bas, exécute une analyse transitoire, retourne time et v(out), puis explique si la réponse correspond aux composants. Ne modifie rien avant de signaler les warnings.

  1. 1

    Créer un compte Tersa

    Inscription par email ou Google. Une identité sert au web, futur Web CAD, mobile et grants MCP.

  2. 2

    Ouvrir le dashboard MCP

    Plan de contrôle privé pour statut, connexions, grants, révocation, exécutions et usage quotidien.

  3. 3

    Connecter un client distant

    Ajoutez https://mcp-api.tersaeda.com/mcp et terminez OAuth 2.1 authorization code + PKCE.

  4. 4

    Demander une tâche bornée

    Commencer par capabilities ou validation, choisir une analyse et les seuls vecteurs utiles ; poller les tâches longues.

Compatibilité client

Cible : Streamable HTTP distant sur HTTPS avec OAuth 2.1 et PKCE par utilisateur. Le support sera annoncé après initialize, tools/list, validate, simulate, poll, cancel, refresh et revoke.

  • Codex est ciblé ; validation production en attente.
  • ChatGPT est ciblé dans les plans/workspaces avec custom remote MCP apps ; validation en attente.
  • Autres clients possibles avec MCP, HTTPS, discovery, PKCE et rotation refresh.

Compte, confidentialité et limites

L’inscription attribue compute, grants, tâches et résultats. Les contrats empêchent une netlist de devenir un accès général au serveur.

  • Tokens opaques ; seuls les hashes SHA-256 sont stockés, un replay révoque la famille.
  • Google ID token est vérifié côté serveur ; aucun client secret dans Nuxt, mobile ou MCP.
  • Une analyse ; file reads, includes libres, control, shell et code models sont bloqués.
  • ngspice s’exécute isolé avec limites de ressources.
  • Les logs excluent netlists complètes, emails, assertions OAuth, tokens et clés.

Périmètre de la bêta

Un notebook RF/analogique reproductible pour agents, pas du calcul distant illimité.

  • Une analyse .op/.dc/.ac/.tran/.noise par requête.
  • Aucun .include/.lib fourni par le caller.
  • Limiter sweeps et résultats au besoin technique.
  • Pas un remplacement d’ADS, AWR ou d’une EDA desktop complète.
  • Endpoint, quotas, clients et conditions peuvent évoluer.

À découvrir

Consultez le workflow simulateur, le guide de matching RF ou le dashboard MCP privé.

Tersa MCP

Préparez votre compte pour Tersa MCP.

Créez une identité Tersa, explorez le simulateur et suivez la disponibilité dans le dashboard.