
Synapse SDK
Interface UIpar NimbleBrainInc
SDK TypeScript pour construire des ext-apps MCP — appels d'outils typés, synchronisation réactive des données, store d'état et hooks React en un seul `await connect()`.
Ce qu'il fait
Synapse est un SDK développeur pour créer des applications d'interface utilisateur interactives qui s'exécutent dans des hôtes d'ext-apps MCP (Claude Desktop, VS Code Copilot, ChatGPT, NimbleBrain et tout runtime compatible). Il encapsule le handshake postMessage brut de @modelcontextprotocol/ext-apps et ajoute une API typée et propre pour que vous puissiez vous concentrer sur la construction de l'UI plutôt que sur le câblage de la plomberie JSON-RPC.
Un seul appel await connect() vous donne un accès immédiat au thème, aux informations de l'hôte, aux appels d'outils typés, à la synchronisation réactive des données et à un store d'état semblable à Redux — le tout avec une dégradation gracieuse sur les hôtes autres que NimbleBrain.
Caractéristiques clés
- Handshake sans configuration —
await connect()se résout lorsque l'hôte est prêt ; vous ne touchez jamais directement àui/initialize - Appels d'outils typés — appelez des outils MCP avec des types d'entrée/sortie TypeScript complets via
app.callTool(name, args) - API d'événements réactive — abonnez-vous aux événements
tool-result,tool-input,theme-changedet aux événements d'extension personnalisés avec une méthodeon()unifiée - Store d'état — store typé semblable à Redux avec persistance optionnelle et visibilité pour le LLM (
visibleToAgent: true) - Hooks React —
AppProvider,useToolResult,useCallTool,useResize,useStore, et plus encore - Génération de code — le CLI (
npx synapse) génère des types TypeScript à partir de manifestes, de serveurs en cours d'exécution ou de fichiers JSON Schema - Bundle multi-format — ESM, CJS, IIFE (balise
<<scriptscript>) et un plugin Vite inclus
Installation
npm install @nimblebrain/synapse @modelcontextprotocol/ext-apps
Pour les projets React :
npm install @nimblebrain/synapse @modelcontextprotocol/ext-apps react
Claude Desktop — enregistrez votre bundle d'ext-app dans claude_desktop_config.json selon la documentation des ext-apps de votre hôte, puis initialisez avec :
import { connect } from "@nimblebrain/synapse";
const app = await connect({ name: "my-app", version: "1.0.0" });
VS Code Copilot — le support des ext-apps suit la spécification d'extension MCP de VS Code ; utilisez le même appel connect() à l'intérieur de votre point d'entrée iframe.
Claude.ai web — si l'hôte expose un point de terminaison HTTP ext-apps, configurez l'URL du serveur MCP dans Paramètres Claude.ai → Intégrations.
Hôtes supportés
Fonctionne dans tout hôte implémentant le protocole MCP ext-apps. Testé avec Claude Desktop, VS Code Copilot, ChatGPT et NimbleBrain. Les fonctionnalités spécifiques à NimbleBrain (sélecteur de fichiers, actions de plateforme, actions d'agent) se dégradent gracieusement en opérations vides (no-ops) sur les autres hôtes.






