Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
VeriSwarm MCP Server — Trust infrastructure for AI agents via Model Context Protocol
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"veriswarm": {
"command": "uvx",
"args": [
"veriswarm-mcp"
]
}
}
}Ejecuta esto en tu terminal
claude mcp add veriswarm -- uvx veriswarm-mcpPégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"veriswarm": {
"command": "uvx",
"args": [
"veriswarm-mcp"
]
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"veriswarm": {
"type": "stdio",
"command": "uvx",
"args": [
"veriswarm-mcp"
]
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub veriswarm, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.6.0) llegó al registro hace 3 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) en tu computadora.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, EmbeddedCI BenchPod
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Drive a BenchPod hardware-in-the-loop bench: power, flash, UART, I2C, CAN, analog and logic.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
Official client libraries, MCP server, and plugins for VeriSwarm — trust infrastructure for AI agents.
| Package | Language | Install | Description |
|---|---|---|---|
| Python SDK | Python | pip install veriswarm | REST client with Workflows, credential issuance, scoring profiles, LangChain adapter |
| Node.js SDK | JavaScript | npm install @veriswarm/sdk | ESM client for decisions, events, Workflows, agent management |
| MCP Server | Python | pip install veriswarm-mcp | 102 MCP tools for trust scoring, Guard, Passport, Vault, Workflows, Compliance (OWASP/EU AI Act/NIST/ISO 42001), Cedar policies + ABAC attributes, SRE, context governance, and content provenance (EU AI Act Art. 50). Works with Claude Desktop, Cursor, and any MCP client. (approve_jit_grant and issue_jit_token are deliberately not exposed to the LLM — those actions live behind an authenticated session in the web UI.) |
| OpenClaw Plugin | TypeScript | openclaw plugins install veriswarm | 11 tools + 5 hooks for OpenClaw agents. Local secret redaction, PII tokenization, policy enforcement, Session Sentry, audit. Per-feature enable/disable. |
| GitHub Action | Python | GitHub Marketplace | CI/CD trust gate — check agent trust scores in your pipeline |
| JSON Schemas | JSON | npm install @veriswarm/schemas | Schema definitions for events, profiles, scores, and workflows |
The packages share setting names but not behaviour. "Redacted locally" means replaced in-process, before any network call; "fails closed" lists what blocks (or withholds) instead of passing data through when a check can't run.
| Package | Setting (default) | Redacted locally | Sent to the VeriSwarm API | Fails closed |
|---|---|---|---|---|
| Node SDK | secretsDetection (false) | When on, guardOutboundText() redacts provider-prefix secrets (ghp_, sk-, AKIA, …). When off it is a no-op. Other methods are not filtered | When on and a secret was found, the already-redacted text, for PII tokenization. Everything else you pass to a method is sent as-is | guardOutboundText() returns the locally redacted text if tokenization fails |
| Python SDK | secrets_detection (False) | Same as the Node SDK, via guard_outbound_text() | Same as the Node SDK | Same as the Node SDK |
| Python adapters (decorator, Claude Agent SDK, OpenAI Agents, CrewAI; LangChain handler) | guard_secrets (True), guard_pii (True). The LangChain handler always guards secrets, does no PII tokenization, and enforces decisions only with enforce=True | Secrets in string tool arguments (including strings nested in dict/list/tuple arguments), string tool output, error messages and audit events | The trust-decision check (tool name), and secret-redacted strings for PII tokenization; wrapped functions receive the tokenized arguments (strings, and strings inside dict/list/tuple arguments; other types pass unchanged) | Anything but an explicit allow decision (including review and API errors) blocks the call; an input PII-tokenization failure blocks it; output that can't be tokenized, or a secret check that errors, is replaced with [VS:REDACTED:guard_unavailable]. on_deny="log" turns decision blocking off (a non-allow decision or decision-check error is logged and the call runs); a PII-tokenization outage still blocks |
| MCP Guard hooks (Claude Code) | GUARD_SECRETS_DETECTION (off), GUARD_BLOCK_PROMPT_PII (on), GUARD_PII_FAIL_OPEN (off) | Always: secrets in prompts (the prompt is blocked), MCP tool arguments and MCP tool responses | With VERISWARM_API_KEY set: prompts (a prompt with a secret is blocked before this) and secret-redacted tool arguments/responses, for PII tokenization. With GUARD_SECRETS_DETECTION=1, tool-argument strings that contain a secret are sent unredacted first, for recoverable tokens | Secret checks block. A tool-argument PII scan that can't finish blocks the call (unless GUARD_PII_FAIL_OPEN=1); a tool-response scan that can't finish withholds the output. The prompt PII check fails open with a warning |
| OpenClaw plugin | secretsDetection (false), piiEnabled (true), failOpen (false) | Always: secrets in tool params and outbound messages (with secretsDetection on, these block / cancel instead). Tool results: secrets always, structured PII patterns when piiEnabled | Secret-redacted param strings and message text, for PII tokenization and Session Sentry | PII tokenization, Session Sentry and hook errors block / cancel / withhold unless failOpen; missing secret rules always block. With secretsDetection off, another plugin's approval request can drop the param rewrite, so the tool itself may receive the secret |
| GitHub Action | fail-on-pii, fail-on-injection, fail-on-deny, fail-on-ci-exfil (all true) | Nothing. Sensitive-named files (.env, keys, .git/) and files outside the workspace are skipped | Scanned file chunks (scan mode) and CI files/diffs (ci-exfil mode), as-is | An enabled gate fails on API errors or unexpected responses. The decision gate fails only on deny: a review decision passes CI, unlike the Python adapters |
Add to your MCP client config (Claude Desktop, Cursor, etc.):
{
"mcpServers": { "veriswarm": { "command": "python3", "args": ["-m", "veriswarm_mcp"], "env": { "VERISWARM_API_URL": "https://api.veriswarm.ai", "VERISWARM_API_KEY": "YOUR_API_KEY" } } } }
Or use the setup CLI:
pip install veriswarm-mcp
veriswarm-setup --platform claude --api-key YOUR_API_KEY
This installs the MCP server, Guard hooks (PII protection + activity logging), and Guard Proxy config.
from veriswarm import VeriSwarmClient
client = VeriSwarmClient("https://api.veriswarm.ai", "YOUR_API_KEY")
agent = client.register_agent({"slug": "my-agent", "display_name": "My Agent"})
result = client.check_decision(agent_id="agt_123", action_type="send_email") print(result["decision"]) # "allow", "review", or "deny"
client.ingest_event( event_id="evt_001", agent_id="agt_123", source_type="platform", event_type="task.completed", occurred_at="2026-04-01T00:00:00Z", payload={"task": "onboarding", "success": True} )
import { VeriSwarmClient } from '@veriswarm/sdk'
const client = new VeriSwarmClient({ baseUrl: 'https://api.veriswarm.ai', apiKey: 'YOUR_API_KEY' })
const result = await client.checkDecision({ agentId: 'agt_123', actionType: 'send_email' })
{
plugins: { entries: { veriswarm: { enabled: true, config: { apiKey: "YOUR_API_KEY", piiEnabled: true, policyEnabled: true, injectionScan: true, auditEnabled: true } } } } }
Get started with no credit card:
Sign up at veriswarm.ai.
MIT