Serveur MCP Enclave
Commit 13 nov. 2026Fournit un environnement d'exécution sandbox JavaScript sécurisé pour exécuter en toute sécurité du code généré par des LLM grâce à de multiples couches de sécurité.
Aussi connu sous agentfront/enclave
- Étoiles
- 6
- Outils
- —
- Téléchargements, 30 jours
- —
- Dernière version
- —
- Dernier commit
- 13 nov. 2026
- Licence
- Apache-2.0
Qu'est-ce que Enclave MCP ?
Enclave est un serveur MCP. Fournit un environnement d'exécution sandbox JavaScript sécurisé pour exécuter en toute sécurité du code généré par des LLM grâce à de multiples couches de sécurité.
Résumé généré à partir du README du projet
À propos du MCP server Enclave
Enclave fournit un sandbox JavaScript sécurisé conçu spécifiquement pour l'exécution de code généré par des modèles de langage de grande taille. Il utilise six couches de sécurité distinctes pour protéger les environnements contre les sorties d'IA potentiellement malveillantes ou imprévues. Les développeurs peuvent intégrer cet environnement d'exécution dans des applications Node.js ou basées sur le navigateur en utilisant divers packages spécialisés tels que @enclave-vm/core pour le sandbox et ast-guard pour la validation de sécurité basée sur l'AST.
Le système prend en charge le streaming d'événements en temps réel via un protocole NDJSON, permettant des mises à jour en direct pendant l'exécution du code. Pour les configurations complexes, l'architecture inclut un tool broker pour la gestion des sessions et des secrets, un SDK client pour se connecter aux sessions de streaming, et un runtime worker déployable adapté à des environnements comme Lambda ou Vercel. Cette approche modulaire permet à la fois une exécution intégrée et des architectures distribuées à trois serveurs impliquant un client, un broker et un runtime.
Les utilisateurs peuvent gérer les tool calls au sein du sandbox, permettant à l'IA d'interagir avec des fonctions externes via un gestionnaire d'outils contrôlé. Le framework est conçu avec une approche TypeScript-first pour garantir la sécurité du typage et fournit des hooks React tels que useEnclaveSession pour une intégration facile dans les interfaces web.
Ce que vous pouvez faire avec
- 1Exécuter du code IA non fiableExécutez du code JavaScript généré par un LLM dans un environnement protégé pour éviter toute compromission du système.
- 2Streamer des données d'exécution en temps réelSurveillez la progression de l'exécution du code et les tool calls via une interface de streaming en direct.
Extrait du README du projet. Chaque cas d'utilisation est vérifié par rapport à une citation du document.
Vérifications automatisées
Exécuté le 15 nov. 2026Rapport complet →Pas encore vérifié. Un serveur nécessite un score de 80, aucune faille sérieuse et suffisamment de données pour que nous puissions effectuer les vérifications. Fonctionnement des vérifications · Ce qu'il faut corriger pour gagner des points
- Dépôt source lié et accessibleagentfront/enclave is public and reachablegithub.com/agentfront/enclave ↗Réussi
- Le nom du package correspond au dépôt sourceNon vérifié
- Provenance du build (attestation Sigstore)Non vérifié
- Licence open source (OSI)Apache-2.0spdx.org/licenses/Apache-2.0.html ↗Réussi
- Commit ou version publiée au cours de l'année écouléeLast commit or release 2026-11-13github.com/agentfront/enclave ↗Réussi
- OpenSSF ScorecardNon vérifié
- Nom du package non proche d'un package populaireNon vérifié
- Aucun avis critique dans le package ou ses dépendancesNon vérifié
- Aucune instruction cachée destinée au modèle0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersRéussi
- Les outils destructifs sont étiquetésNon vérifié
- Le point de terminaison distant répond à la poignée de main MCPNon vérifié
README
Voir sur GitHubEnclave
Secure sandbox runtime for AI agents
Documentation | Live Demo | FrontMCP Framework
Why Enclave?
- Extensive security testing - See security audit for details
- Defense in depth - 6 security layers for LLM-generated code
- Streaming runtime - Real-time event streaming with tool call support
- Zero-config - Works out of the box with sensible defaults
- TypeScript-first - Full type safety and excellent DX
Install
Core Packages
npm install @enclave-vm/core # Secure JS sandbox
npm install ast-guard # AST security validation
Streaming Runtime
npm install @enclave-vm/broker # Tool broker & session management
npm install @enclave-vm/client # Browser/Node client SDK
npm install @enclave-vm/react # React hooks & components
Packages
| Package | Description |
|---|---|
@enclave-vm/core |
Secure JavaScript sandbox with 6 security layers |
@enclave-vm/broker |
Tool registry, secrets management, session API |
@enclave-vm/client |
Browser & Node.js client for streaming sessions |
@enclave-vm/react |
React hooks: useEnclaveSession, EnclaveProvider |
@enclave-vm/runtime |
Deployable runtime worker (Lambda, Vercel, etc.) |
@enclave-vm/types |
TypeScript types & Zod schemas |
@enclave-vm/stream |
NDJSON streaming, encryption, reconnection |
ast-guard |
AST-based security validator |
Quick Start
import { Enclave } from '@enclave-vm/core';
const enclave = new Enclave({
securityLevel: 'SECURE',
toolHandler: async (name, args) => {
if (name === 'getUser') return { id: args.id, name: 'Alice' };
throw new Error(`Unknown tool: ${name}`);
},
});
const result = await enclave.run(`
const user = await callTool('getUser', { id: 123 });
return { greeting: 'Hello, ' + user.name };
`);
if (result.success) {
console.log(result.value); // { greeting: 'Hello, Alice' }
}
enclave.dispose();
React Integration
import { EnclaveProvider, useEnclaveSession } from '@enclave-vm/react';
function App() {
return (
<EnclaveProvider brokerUrl="https://your-server.com">
<CodeRunner />
</EnclaveProvider>
);
}
function CodeRunner() {
const { execute, state, result, stdout } = useEnclaveSession();
const runCode = () =>
execute(`
const data = await callTool('fetchData', { id: 123 });
return data;
`);
return (
<div>
<button onClick={runCode} disabled={state === 'running'}>
{state === 'running' ? 'Running...' : 'Run Code'}
</button>
{stdout && <pre>{stdout}</pre>}
{result && <pre>{JSON.stringify(result, null, 2)}</pre>}
</div>
);
}
Architecture
See README-ARCHITECTURE.md for detailed architecture documentation covering:
- Deployment scenarios (embedded vs extracted runtime)
- Streaming protocol (NDJSON)
- Tool broker pattern
- Reference sidecar & auto-ref
- Security & encryption
Demos
Enclave Demo (basic sandbox)
npx nx serve enclave-demo
A CLI script that demonstrates core sandbox features: arithmetic, loops, tool calls, and security blocking of disallowed operations.
Streaming Demo (full architecture)
npx nx demo streaming-demo
Starts a 3-server architecture with a web UI, covering embedded, lambda, and direct execution modes:
- Client (port 4100) — Web UI
- Broker (port 4101) — Tool execution & session management
- Runtime (port 4102) — Sandboxed code execution
License
Questions sur Enclave MCP
Qu'est-ce qui rend Enclave sécurisé pour les agents IA ?
Il utilise une approche de défense en profondeur avec 6 couches de sécurité spécifiquement conçues pour le code généré par les LLM afin de protéger contre les injections et les évasions de sandbox.
Enclave peut-il gérer les appels d'outils (tool calls) ?
Oui, il prend en charge le streaming d'événements en temps réel avec le support des tool calls et inclut un tool broker pour la gestion des sessions.
Enclave supporte-t-il les applications React ?
Oui, il existe un package dédié fournissant des hooks React comme useEnclaveSession et un composant EnclaveProvider.