Servidores MCP

Un servidor MCP es una dependencia que le habla a tu modelo

Corre en tu máquina con tus permisos, como cualquier paquete. A diferencia de un paquete, sus descripciones de herramientas caen dentro del contexto del modelo, donde se leen como instrucciones. La seguridad de un servidor MCP tiene que cubrir las dos mitades.

las descripciones son prompt, no documentaciónlos servidores stdio heredan tu entornoun esquema puede cambiar después de que lo apruebes
Riesgos

Riesgos de seguridad de servidores MCP, en concreto

Ninguno de estos es exótico. Salen de cómo funciona el protocolo y de dónde pone la gente sus credenciales.

tool poisoning

La descripción es parte del prompt

El nombre, la descripción y el esquema de parámetros de una herramienta llegan al modelo como texto. Un servidor puede escribir una descripción que le diga al modelo que lea un archivo y pase su contenido como argumento, y el modelo no tiene forma de distinguir eso de una instrucción legítima.

vía del prompt

entrega de credenciales

Un servidor local se queda con lo que le des

Los servidores MCP locales corren por stdio como procesos hijo. Reciben el entorno que les das, y eso suele significar un token de larga vida en una variable. A partir de ahí la credencial ya no está en tus manos.

clave expuesta

cambio de esquema

Aprobaste una versión, no un comportamiento

Las descripciones y los esquemas de las herramientas pueden cambiar en la siguiente actualización. El servidor que revisaste en marzo no es necesariamente el que corre en junio, y nada en el protocolo hace ruido con ese cambio.

cambio silencioso

alcance del token

Un token emitido para una cosa, gastado en otra

Los servidores remotos guardan tokens de acceso en tu nombre. Un servidor que acepta o reenvía un token emitido para otro recurso se convierte en un delegado muy cómodo para llegar a cosas que nunca autorizaste.

alcance que crece

sin registro

No puedes auditar lo que no registraste

La mayoría de las configuraciones no guardan constancia de qué herramienta MCP se ejecutó, con qué argumentos y contra qué host. El problema aparece según el calendario de otro, normalmente en una factura o en un aviso de brecha.

punto ciego

El hilo común: es el modelo quien lee las descripciones de las herramientas, y la credencial está en algún sitio donde el servidor puede leerla. Arregla la segunda mitad y la primera deja de poder rentar.

Autenticación

Autenticación MCP y OAuth 2.1

Los servidores MCP locales y remotos se autentican de maneras completamente distintas, y esa diferencia pesa más de lo que sugieren la mayoría de las guías de instalación.

Local, por stdio

No hay paso de autenticación. El servidor es un proceso hijo que tú lanzaste, y merece tanta confianza como el entorno con el que lo arrancaste. El token que exportaste ahora también es el token del servidor.

confianza = tu entorno

Remoto, por HTTP

El perfil de autorización de MCP se apoya en OAuth 2.1: el cliente descubre el servidor de autorización, tú das el consentimiento en el navegador, y el cliente guarda un token de acceso de vida corta con un token de refresco detrás.

confianza = el alcance del token

01 · Vida corta gana a vida larga
Un token OAuth que puedes revocar desde el panel del proveedor es mejor posición que un personal access token pegado en un archivo de configuración hace dos meses.
02 · Los tokens deberían nombrar su destinatario
El perfil de MCP espera un token ligado al recurso para el que se emitió. Un servidor dispuesto a aceptar un token emitido en otro sitio es un diseño que deberías rechazar.
03 · El refresco es donde se escapan los tokens
Los tokens de refresco viven más que todo lo demás del flujo y suelen acabar en un archivo en texto plano dentro de un directorio personal. Sallyport los sella en la bóveda y hace el refresco dentro de la app.
Buenas prácticas

Ocho comprobaciones antes de instalar un servidor MCP

Nada de esto necesita un producto. Es la revisión que le harías a cualquier dependencia, más las dos preguntas propias de MCP.

  1. 01

    Fija la versión

    Instala una versión concreta en vez de lo que latest resuelva hoy. Un servidor que se actualiza solo puede cambiar sus descripciones de herramientas después de que las aprobaras.

  2. 02

    Lee las descripciones de herramientas, no el README

    El README está escrito para ti. Las descripciones están escritas para el modelo. Lee las que el modelo va a recibir de verdad.

  3. 03

    Da por hecho que un servidor local se queda con todo

    Un servidor stdio es un proceso hijo con tus permisos. Dale la credencial más estrecha que siga sirviendo, nunca un token de root que pasaba por ahí.

  4. 04

    Antes OAuth que una clave pegada

    Un token revocable y de vida corta gana a un personal access token en una variable de entorno, aunque la configuración cueste cinco minutos más.

  5. 05

    Mira a qué está limitado el token

    Un recurso, un destinatario. Un servidor que quiere un token de alcance amplio, o que acepta uno emitido para otra cosa, ya te está diciendo cómo se va a comportar.

  6. 06

    Un servidor, un trabajo

    Juntar cinco servicios detrás de un solo servidor MCP concentra todas las credenciales en un proceso. Sepáralos y el peor caso se hace más pequeño.

  7. 07

    Guarda constancia de las llamadas

    Si no puedes decir qué hizo un servidor el martes pasado, lo estás creyendo en vez de comprobándolo. Los registros son lo que convierte un incidente en un incidente acotado.

  8. 08

    Vuelve a revisar en cada actualización

    Trata un cambio de esquema de herramientas como una subida de dependencia: mira el diff. Es la comprobación que casi nadie hace, que es exactamente por lo que funciona como ataque.

Por la puerta

Pasa tus servidores MCP por un proxy en vez de confiar en ellos

Sallyport se sitúa delante de los servidores MCP con los que habla tu agente. Sus llamadas suben la misma escalera que todo lo demás y caen en el mismo registro.

  1. 01

    Una conexión para el agente

    Claude Code, Cursor o cualquier cliente MCP se conecta a Sallyport. Sallyport le presenta http.request, ssh.exec y los servidores upstream que hayas configurado.

  2. 02

    Los servidores upstream se quedan detrás

    Se pasan por proxy tanto los servidores stdio locales como los remotos con OAuth 2.1. Sallyport sella sus tokens en la bóveda y los refresca dentro de la app.

  3. 03

    Cada llamada sube la escalera

    Una bóveda bloqueada deniega la llamada. Una clave marcada para aprobación por llamada levanta una tarjeta. Si no, la aprobación de sesión que ya diste cubre la ejecución.

  4. 04

    El registro lo anota

    Cifrado y encadenado por hash mientras ocurre, de modo que la respuesta a "qué hizo ese servidor el martes pasado" existe antes de que la necesites.

Un límite honesto: un servidor MCP local por stdio que tú configures sí recibe la credencial que le vincules. El proxy te da aprobación y constancia de sus llamadas; no le quita la clave a un proceso que decidiste arrancar.

Preguntas frecuentes

Preguntas sobre seguridad de servidores MCP

¿Qué es un ataque de tool poisoning?
Un servidor MCP escribe instrucciones dentro del texto que el modelo lee como metadatos de la herramienta: la descripción, el nombre de un parámetro, un mensaje de error. El modelo lo toma como guía y actúa. Detectarlo no te lleva lejos, porque una instrucción colada se ve exactamente igual que una legítima. Lo que funciona es asegurarte de que seguirla no pueda alcanzar nada valioso.
¿Cómo sé si un servidor MCP es malicioso?
A menudo no puedes, y esa es la respuesta honesta. Sí puedes leer las descripciones de herramientas que recibirá el modelo, fijar una versión, darle la credencial más estrecha que funcione y guardar constancia de sus llamadas. Esos cuatro pasos convierten una incógnita en una incógnita acotada.
¿MCP trae autenticación de serie?
Para servidores remotos, el perfil de autorización se apoya en OAuth 2.1 con consentimiento en el navegador y tokens de acceso con alcance. Para servidores locales por stdio no hay ningún paso de autenticación: el servidor es un proceso hijo corriendo con tus permisos.
¿Dónde viven mis tokens OAuth de MCP?
Por defecto, en un archivo en texto plano dentro de un directorio personal, que es justo el primer sitio donde mira el malware que recolecta credenciales. Sallyport los guarda en la bóveda cifrada y hace el refresco dentro de la app.
¿Puede Sallyport aislar un servidor MCP en un sandbox?
No, y no vamos a decir lo contrario. Sallyport controla y registra lo que hacen a través de él las llamadas de un servidor upstream. No mete el proceso del servidor en un sandbox, no inspecciona el contenido de las peticiones y no pone un cortafuegos en el host.

Pon una puerta delante de tus servidores MCP

Descarga gratis. Apple Silicon, macOS 14 o posterior. Sin cuenta, nunca.

$brew install --cask olegsotnikov/tap/sallyport

macOS 14+ · Apple Silicon

Sallyport

Sallyport ejecuta llamadas de API y comandos SSH por tu agente de IA. Las claves se quedan en una bóveda local de tu Mac; tú apruebas cada ejecución y cada acción queda en un registro sellado.

© 2026 Sallyport · Código abierto bajo Apache-2.0 · Oleg Sotnikov