Spec MCP 2026-07-28 — quedan -12 días

MCP toolguard

Contratos, drift y seguridad para servidores MCP, en CI y en producción.

Sin registro · 30 segundos · o en tu terminal: uvx mcp-toolguard scan <target>

mcp-toolguard scan
El problema

Un rename silencioso. Todos tus agentes rotos.

Un servidor MCP puede cambiar su contrato en cualquier deploy. No rompe ningún build, no dispara ningún error de tipos: rompe a tus agentes en producción, en silencio.

  1. 1El servidor publica v2.5.0: query pasa a llamarse search_query. Nadie lo anuncia.
  2. 2Tus agentes siguen llamando con query. Cada invocación falla. Te enteras por los usuarios.
  3. 3Con ToolGuard en el PR, el breaking change se ve, se discute y se bloquea antes del merge.
tools/search · inputSchemav2.4.1 → v2.5.0
{ "type": "object", "properties": { - "query": { "type": "string" },+ "search_query": { "type": "string" }, "limit": { "type": "integer" } }, - "required": ["query"]+ "required": ["search_query"]}
agente · producción03:12 AM
Busca "streamable http" en las docs
McpError: Invalid params — unknown parameter 'query'
pull request #142 · checkstoolguard-io/action@v1
ToolGuard — 1 breaking change
tools.search.inputSchema: 'query' eliminado (breaking)
Merge bloqueado. Aceptar = baseline --update, visible en la review.
Un motor, tres capas

Contratos, drift y seguridad.
Un mismo motor.

connectsnapshotdiffrules
01 · Contratos

El contrato vive en tu repo

Snapshot canónico de tools, schemas y capabilities. Validado contra la matriz de specs: la actual y la 2026-07-28.

02 · Drift

Cada cambio, clasificado

Breaking, compatible o sospechoso. En CI con la Action; en producción, con chequeos programados y alertas.

03 · Seguridad

Tool poisoning, vigilado

15 reglas contra inyección y exfiltración. La baseline es el estado aceptado: solo bloquea lo nuevo.

.toolguard/baseline.jsoncommiteado en tu repo
{"content_hash": "sha256:a3f29c1…", "server": "acme-mcp 2.4.1", "protocol_version": "2025-11-25", "tools": [ 8 tools ]}
spec matrix → ✓ 2025-11-25 · ▲ 2026-07-28: logging deprecada (SEP-2577)
mcp-toolguard diffbaseline → ahora
breakingtools.search.inputSchema: 'query' removed
suspicioustools.fetch.description: text changed
compatibletools: + 'get_status'
en CI: policy breaking → falla · en producción: alerta en Slack en minutos
mcp-toolguard scan · TG1xx–TG3xx15 reglas
highTG201 · credential-shaped parameter in inputSchema
mediumTG103 · cross-tool coercion: "Always use this tool…"
lowTG107 · invisible characters in description (U+200B)
la baseline es el estado aceptado → solo los hallazgos nuevos bloquean
Features

Todo lo que vigila, explicado.

El mismo motor, capa a capa: lo que captura, lo que compara y lo que bloquea.

Snapshot & baseline

El contrato de tu servidor, commiteado

Un snapshot canónico de tools, schemas, capabilities e instructions, con hash determinista. Vive en .toolguard/baseline.json, versionado con tu código: el contrato se revisa donde se revisa todo lo demás, en el PR.

.toolguard/baseline.jsongit
{"content_hash": "sha256:a3f29c1…", "server": "acme-mcp 2.4.1", "tools": [ 8 tools ]}
determinista — mismo servidor, mismo hash
protocolo 2025-11-25 · 8 tools
Diff clasificado

Cada cambio, con apellido

No es un diff de texto: es un diff semántico del contrato. Eliminaciones y cambios de tipo son breaking; lo aditivo, compatible; y el texto que llega al contexto del modelo —descripciones, instructions— se marca sospechoso: es la superficie del prompt injection.

mcp-toolguard diffbaseline → now
breakinginputSchema: 'query' removed
suspiciousdescription: text changed
compatibletools: + 'get_status'
opcional→requerido = breaking
en CI: audit · breaking · strict
Seguridad

15 reglas contra el tool poisoning

Instrucciones imperativas al modelo, tags ocultos, coerción entre tools, parámetros con forma de credencial, caracteres invisibles. Cada hallazgo trae su evidencia — y la baseline es el estado aceptado: solo lo nuevo bloquea tu CI.

TG1xx–TG3xx15 rules
highTG201 · credential-shaped parameter
mediumTG103 · "Always use this tool…"
lowTG107 · invisible characters (U+200B)
evidencia incluida, cero claims vacíos
calibrado contra servidores reales
Spec matrix

Listo para la 2026-07-28 antes del 28 de julio

Cada snapshot se valida contra dos versiones de la spec MCP a la vez: la vigente y la que viene. Un informe independiente por versión — sabes hoy exactamente qué romperá mañana.

spec matrix2 versions
✓ 2025-11-25 no errors▲ 2026-07-28 1 error — logging capability deprecated (SEP-2577)
quedan -12 días
SEP-986 · SEP-2106 · SEP-2577
Drift en producción

Y cuando ya está desplegado, seguimos mirando

Chequeos programados contra tus servidores — y contra los de terceros de los que dependes. Si el contrato cambia bajo tus pies, te llega la alerta en minutos, no cuando fallan los agentes.

#mcp-alertsSlack · webhook
09:41▲ toolguard acme-mcp: 1 breaking — 'query' removed · view diff →
09:41baseline a3f29c1 → snapshot 9d04e7b · 2 min ago
cada 5–15 min según plan
tus servidores y los de terceros
En tu CI en 2 minutos

Dos snippets. Cero infraestructura.

  • Check pasa/falla + comentario único actualizable en el PR.
  • La baseline vive en tu repo: el free tier funciona 100 % offline.
  • Aceptar un breaking change es un commit visible en la review.
  • Open source, MIT — pip install mcp-toolguard
# .github/workflows/toolguard.ymlname: ToolGuard on: [pull_request] jobs:contract:runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: toolguard-io/action@v1 with:target: "python -m my_mcp_server" # or an http(s) URLpolicy: breaking # audit | breaking | strict
exit 0 ok · exit 1 política · exit 2 operacional — apto para cualquier CI
Precios

Transparentes. Self-service.
Sin «book a demo».

La unidad de valor es el servidor monitorizado. Asientos ilimitados en todos los planes de pago: las alertas deben llegar a toda la guardia.

Gratis durante la campaña: vigilamos tu readiness 2026-07-28 — hasta 3 servidores, re-chequeo semanal, y el veredicto contra la spec final el mismo 28 de julio. Hasta el 31 de agosto.
Free
$0

Para probar, y para el CI de cualquier repo. 100 % offline.

  • 1 servidor monitorizado
  • Chequeo diario
  • Historial 7 días
  • Alertas por email
  • Hallazgos básicos en scan
  • Badge para el README
Team
$79/mes

Para equipos con flotas de servidores y guardias.

  • 25 servidores monitorizados
  • Chequeo cada 5 min
  • Historial 1 año
  • + ruteo de alertas por severidad
  • + informe OWASP con tendencias
  • Baselines por entorno
Enterprise
~$500/mes

Custom: flotas grandes, compliance, on-prem.

  • Servidores y frecuencia custom
  • + PagerDuty, SIEM
  • + reglas custom, export de evidencias
  • Multi-org
  • SSO/SAML

Anual: 2 meses gratis · USD, impuestos automáticos · cancela cuando quieras