.NET mete gobernanza real a MCP con una sola extensión: menos bricolaje y menos riesgo antes de producción
Microsoft anunció el 21 de mayo de 2026 un paquete preview para añadir gobernanza al builder oficial de servidores MCP en C#. La mejora útil no es otra librería de seguridad: es escanear tools, aplicar políticas y sanear respuestas sin reimplementar el mismo borde en cada servidor.

Por qué importa
Esta nota se enfoca en la decisión práctica para builders: qué cambia, qué riesgo agrega y cómo aplicarlo sin romper operación.
La conversación sobre MCP suele quedarse en cómo conectar más tools. El problema serio empieza después: quién decide qué tools se publican, cuáles pueden ejecutarse y qué basura puede volver al modelo desde la salida de una tool.
Microsoft empujó una respuesta bastante concreta el 21 de mayo de 2026. En el .NET Blog anunció Microsoft.AgentGovernance.Extensions.ModelContextProtocol, un paquete preview que se monta sobre el builder oficial de servidores MCP en C# y añade gobernanza con una sola llamada a WithGovernance(...).

La mejora real no es “más seguridad”
Eso sería un resumen demasiado fácil. La mejora útil es otra: mover controles repetidos a una capa estándar del pipeline del servidor.
Según la publicación oficial, esa extensión mete en el mismo punto:
- escaneo de definiciones de tools antes de exponerlas;
- enforcement de políticas en cada tool call;
- soporte de identidad autenticada para decidir permisos;
- sanitización de respuestas antes de devolverlas al modelo;
- y auditoría con métricas.
Eso cambia mucho el trabajo de quien hoy está montando MCP a mano. En vez de tener filtros sueltos, validaciones caseras y lógica de seguridad repartida por el servicio, Microsoft propone empaquetar el borde en una extensión del builder.
Por qué sí es relevante para builders
La propia nota enumera preguntas que cualquier equipo serio ya debería estar haciéndose:
- ¿toda tool registrada debería ser invocable por cualquier agente?;
- ¿qué haces si la descripción de una tool trae texto estilo prompt injection?;
- ¿cómo fallas en cerrado cuando cambia una definición riesgosa?;
- ¿y cómo evitas que la salida de una tool meta instrucciones o secretos de vuelta al loop?
Esa lista vale más que la feature. Resume exactamente por qué muchos servidores MCP funcionan en demo pero no están listos para un entorno real.
Lo que mete el paquete y sí cambia el borde
Escaneo de tools al arranque
La publicación oficial dice que el paquete puede detectar categorías como:
- tool poisoning;
- typosquatting;
- hidden instructions;
- schema abuse;
- description injection;
- y ataques cross-server.
Y la decisión importante está en el default: unsafe tools can fail startup. Ese detalle es bueno porque empuja a fallar antes de exponer herramientas al agente, no después de que ya tocó algo.
Políticas YAML fuera del código
También permite definir reglas de allow, deny y rate limiting con políticas YAML. Para equipos más grandes, eso importa porque separa control operativo de la lógica de negocio y evita reescribir permisos dentro de cada tool handler.
Sanitización de salidas
La parte más subestimada es la salida. Microsoft dice que el sanitizador puede buscar:
- etiquetas tipo
<system>...</system>; - frases de override como
ignore previous instructions; - patrones de fuga de credenciales;
- y URLs de exfiltración.
Eso no te vuelve inmune, pero sí ataca uno de los huecos más comunes del loop MCP: confiar demasiado en lo que devuelve una tool.

Dónde sí tiene sentido
Yo lo vería especialmente útil si hoy estás en uno de estos escenarios:
- tienes un servidor MCP interno y no quieres reescribir guardrails otra vez;
- necesitas políticas distintas según identidad o nivel de confianza;
- te preocupa más la higiene operativa que sumar otra tool vistosa.
También ayuda que el paquete se apoye en el builder oficial del SDK C#, no en un proxy aparte ni en una abstracción paralela. Eso reduce fricción de adopción.
El límite que no conviene esconder
La propia publicación es bastante responsable: esto no garantiza compliance por sí solo y sigue en Public Preview. Además, la eficacia del escaneo y la sanitización depende de umbrales, tuning y threat model.
Eso significa que la librería no sustituye revisión humana ni diseño de permisos. Lo que sí hace es evitar que cada equipo reinvente el mismo borde inseguro con nombres diferentes.
Demanda actual sin maquillaje
No hace falta inventar volumen para ver la intención de búsqueda. Hay demanda clara detrás de consultas como:
mcp governancesecure mcp serverdotnet mcp server securitysanitize tool output ai agent
Es tráfico pequeño pero muy bueno: gente que ya va tarde en el ciclo, justo donde un error cuesta más.
Si todavía estás en la fase donde priorizas herramientas, memoria y validación básica antes de montar un servidor propio, empieza por el curso gratis. Y si quieres comparar esta capa defensiva con decisiones de producto del lado del editor, cruza luego con el harness de Copilot en VS Code.
La conclusión útil es simple: Microsoft no solo está diciendo que MCP necesita gobernanza; ya está intentando volver esa gobernanza parte nativa del camino de construcción.