¿Qué es un servidor MCP? Significado, ejemplos y cómo funciona
Un servidor MCP es un programa pequeño que da a una app de IA acceso controlado a archivos, bases de datos y herramientas mediante el Model Context Protocol. Este artículo define el término, sigue una solicitud paso a paso, muestra ejemplos reales y termina con un servidor breve en TypeScript que puedes ejecutar hoy.
Pide a un asistente de IA que resuma las ventas del último trimestre y te dirá, con educación, que no puede ver tu hoja de cálculo. El modelo es brillante, pero está encerrado en una caja sin puertas. Un servidor MCP es la puerta. Es un programa pequeño que expone una capacidad, como leer archivos, consultar una base de datos o generar una imagen, a cualquier app de IA que hable el Model Context Protocol. Escribes el servidor una vez y cualquier app compatible puede usarlo sin código de conexión personalizado.
Este artículo explica qué es un servidor MCP, cómo viaja una solicitud desde tu ventana de chat hasta la herramienta y de vuelta, qué servidores usa la gente hoy, dónde están los riesgos de seguridad y cómo construir uno que funcione en unas veinte líneas de TypeScript.
Qué significa realmente un servidor MCP
MCP son las siglas de Model Context Protocol, un estándar abierto que Anthropic publicó en noviembre de 2024. Un protocolo es simplemente una forma acordada de comunicarse. Un servidor MCP es cualquier programa que sigue esas reglas desde el lado que ofrece la capacidad: anuncia lo que puede hacer, espera solicitudes y devuelve resultados en un formato previsible. Productos de Anthropic, OpenAI, Google y Microsoft ya admiten MCP, y existen miles de servidores de la comunidad para todo, desde repositorios Git hasta calendarios.
La palabra servidor confunde a mucha gente. Un servidor MCP no tiene que estar en un centro de datos. La mayoría se ejecuta en tu propio equipo portátil como proceso en segundo plano que arranca cuando se abre tu app de IA. Otros funcionan de forma remota detrás de una dirección web, como cualquier sitio web.
MCP explicado en lenguaje sencillo
Imagina una antigua centralita telefónica. Quien llama no necesita saber cómo está cableada cada casa. Dice a la operadora con quién quiere hablar, y la operadora conecta el cable correcto en el enchufe correcto. MCP cumple el papel de la operadora entre una app de IA y el mundo exterior. La app dice necesito leer este archivo o necesito ejecutar esta consulta, y el protocolo envía la solicitud a un servidor que sabe cómo hacerlo.
💡 Definición rápida: Un servidor MCP es un programa que enumera las herramientas, los datos y las plantillas de prompt que ofrece, y permite que una app de IA los invoque mediante un único formato de mensaje estándar.
La comparación con USB-C
La analogía más popular es USB-C. Antes de él, cada dispositivo tenía su propio conector y cada equipo portátil necesitaba un cajón lleno de adaptadores. Antes de MCP, cada app de IA necesitaba un conector propio para cada servicio: uno para Slack en este asistente y otro para Slack en aquel. Haz la cuenta. Cinco apps y diez servicios significaban cincuenta integraciones separadas. Con MCP, cada app implementa el lado cliente una vez y cada servicio implementa un servidor una vez, así que quince piezas de trabajo sustituyen a cincuenta.
Cómo funciona un servidor MCP
Tres roles aparecen en cualquier configuración de MCP, y tenerlos claros elimina la mayor parte de la confusión.
Host, cliente y servidor
Rol
Qué es
Ejemplo
Host
La aplicación de IA con la que habla el usuario
Claude Desktop, Cursor, VS Code
Cliente
Un conector dentro del host que mantiene una conexión con un servidor
Creado automáticamente por el host
Servidor
El programa que expone herramientas, datos o prompts
Un servidor de sistema de archivos, un servidor de base de datos
El host crea un cliente por cada servidor. Si conectas cinco servidores, tu app ejecuta cinco clientes, cada uno con una línea privada hacia su propio servidor. Los mensajes viajan como JSON-RPC 2.0, un formato ligero de solicitud y respuesta que lleva años en uso. Nada exótico.
Qué ocurre en una solicitud
Este es el recorrido de una sola pregunta, ¿qué facturas están vencidas?, a través de un host conectado a un servidor de contabilidad:
Saludo inicial. Cuando el host arranca, el cliente envía initialize. Cliente y servidor acuerdan una versión del protocolo e intercambian sus capacidades.
Listado de herramientas. El cliente llama a tools/list. El servidor responde con el nombre de cada herramienta, una descripción sencilla y un JSON Schema para las entradas.
Decisión. El modelo lee tu pregunta junto con esas descripciones y decide que list_overdue_invoices es el movimiento correcto.
Aprobación. La mayoría de los hosts muestran la llamada y te piden confirmación antes de ejecutar nada que modifique datos.
Ejecución. El cliente envía tools/call con el nombre de la herramienta y los argumentos. El servidor hace el trabajo real, como ejecutar una consulta SQL.
Respuesta. El servidor devuelve el resultado, el modelo lo lee y escribe una respuesta normal.
El modelo nunca toca tu base de datos. Solo produce una solicitud. El servidor guarda las credenciales y hace el trabajo, y por eso los servidores son el lugar adecuado para aplicar límites.
Transportes locales frente a remotos
Un transporte es el canal que lleva esos mensajes JSON. MCP define dos estándares.
Transporte
Dónde se ejecuta el servidor
Ideal para
Contrapartida
stdio
En tu equipo, iniciado por el host como proceso hijo
Herramientas personales, acceso a archivos, desarrollo
Un solo usuario, debe instalarse en local
Streamable HTTP
En una dirección web, local o remota
Servidores compartidos de equipo, productos alojados
Necesita autenticación y alojamiento
Los servidores que usan stdio se comunican a través de la entrada y salida estándar, así que no hay ningún puerto de red que atacar. Los servidores Streamable HTTP pueden atender a muchos usuarios a la vez, por eso las empresas de software los publican. Los tutoriales antiguos mencionan un transporte HTTP+SSE. La especificación actual lo sustituyó por Streamable HTTP.
Qué puede ofrecer un servidor
Herramientas, recursos y prompts
Un servidor MCP expone hasta tres tipos de bloques de construcción.
Primitiva
Quién la controla
Qué hace
Ejemplo
Herramientas
El modelo decide cuándo invocarlas
Realizan acciones o cálculos
Enviar un correo, ejecutar una consulta, generar una imagen
Recursos
La aplicación decide qué adjuntar
Aportan datos de solo lectura como contexto
Un archivo, una fila de base de datos, un registro
Prompts
El usuario los elige
Plantillas de instrucciones reutilizables
"Revisa este pull request"
Las herramientas acaparan casi toda la atención porque permiten que una IA haga cosas. Los recursos son más discretos, pero igual de útiles: alimentan la conversación con contexto sin necesidad de una llamada a una herramienta. Los prompts funcionan como comandos de barra que el propio servidor incluye.
Por qué importan tanto las descripciones
El modelo elige las herramientas leyendo solo sus nombres y descripciones. Una herramienta llamada run con la descripción "hace cosas" se usará mal o se ignorará. Una herramienta llamada search_invoices con la descripción "Busca facturas por nombre de cliente, estado o rango de fechas. Devuelve hasta 20 resultados." se elegirá en el momento adecuado.
El buen diseño de herramientas se reduce a cuatro hábitos:
Nombra con un verbo y un sustantivo, como create_ticket o list_branches.
Indica qué devuelve, no solo lo que hace la herramienta.
Mantén las entradas pequeñas y tipadas, y usa opciones fijas cuando sea posible.
Devuelve los errores como texto legible, para que el modelo pueda corregir su entrada y reintentar.
💡 Consejo: Si un asistente sigue eligiendo la herramienta equivocada, reescribe la descripción antes de tocar cualquier código. En la práctica, eso resuelve la mayoría de las confusiones.
Ejemplos reales de servidores MCP
La forma más rápida de entender la idea es mirar qué ejecuta la gente de verdad.
Servidores de sistema de archivos
El servidor de sistema de archivos de referencia permite que un asistente lea, busque y edite archivos dentro de las carpetas que tú elijas. Apúntalo a un directorio de proyecto y pide todos los comentarios TODO agrupados por archivo. El servidor solo puede acceder a las carpetas que enumeraste, así que el asistente trabaja dentro de un cerco que tú trazaste.
Servidores de bases de datos y búsqueda
Los servidores de bases de datos exponen una herramienta de consulta y, a veces, la estructura de las tablas como recurso. Pregunta qué tres clientes gastaron más en septiembre, y el modelo escribe el SQL, el servidor lo ejecuta y llegan las filas. Muchos equipos los configuran solo de lectura a propósito. Los servidores de búsqueda y de web funcionan igual, dando al modelo páginas actualizadas en lugar de datos de entrenamiento desfasados. Otros servidores populares conectan GitHub, Slack, Google Drive, Notion, Postgres y la automatización de navegador.
Servidores de generación de imágenes y video
La generación es donde MCP se vuelve visual. Un servidor de imágenes expone una herramienta generate_image. El asistente escribe el prompt, el servidor llama a un modelo y una URL del archivo aparece de vuelta en el chat. El video funciona igual, con una diferencia: los clips tardan más, así que el servidor inicia un trabajo y el asistente comprueba su estado hasta que termina.
PicassoIA funciona con este patrón. Su API para desarrolladores está en https://api.picassoia.com/v1 y usa un token Bearer que empieza por pia_sk_. Las solicitudes siguen el estilo de Replicate: se crea una predicción, se consulta hasta que termina y después se obtiene el resultado. Cada cuenta puede ejecutar 5 predicciones a la vez. Los mismos cuatro modelos están disponibles a través de la API y del conector MCP de PicassoIA:
Las conexiones MCP se gestionan desde la página MCP de tu cuenta de PicassoIA, y la página de precios detalla lo que incluye cada plan. Si prefieres crear clips a mano en lugar de hacerlo a través de un asistente, modelos como Seedance 2.0 y Veo 3.1 están a un clic.
Un servidor de publicación en la práctica
Un ejemplo más, más cercano a casa. Un servidor de publicación de blog puede exponer cuatro herramientas: generar una imagen, comprobar si un slug de URL está libre, listar los modelos de IA disponibles y guardar el artículo terminado en una base de datos. Un asistente al que se le da un tema las llama en orden, reintenta cualquier imagen que falle y guarda el resultado. Nadie escribió un "bot de artículos". El modelo simplemente tenía las herramientas adecuadas y una tarea clara.
MCP frente a una API normal
Un servidor MCP suele envolver una API común, entonces ¿por qué añadir otra capa? Porque el lector es distinto. Una API REST se escribe para desarrolladores que leen la documentación. Un servidor MCP se escribe para un modelo que tiene que leer la documentación en tiempo de ejecución.
API REST
Llamada a funciones
Servidor MCP
Pensada para
Desarrolladores
El modelo de una sola app
Cualquier app de IA compatible
Encontrar herramientas
Documentación escrita para personas
Herramientas codificadas en cada app
Una solicitud en vivo de tools/list
Reutilización
Cada app escribe su propio cliente
Cada app vuelve a declarar las funciones
Un servidor, muchos hosts
Configuración típica
Llamadas HTTP en el código
Un JSON Schema en cada solicitud
Una entrada de configuración en el host
MCP no sustituye la llamada a funciones. El host traduce la lista de herramientas del servidor al formato de llamada a funciones que el modelo ya conoce. MCP solo estandariza de dónde sale esa lista.
💡 Regla práctica: ¿Estás creando una app con unas cuantas funciones privadas? La llamada a funciones normal basta. ¿Quieres la misma capacidad en varios asistentes, o que tus compañeros puedan conectarla? Escribe un servidor MCP.
Preguntas de seguridad que vale la pena hacerse
Un servidor MCP es código que una IA puede activar, a menudo con credenciales reales detrás. Trátalo como cualquier otro software que toque tus cuentas. Cinco preguntas detectan la mayoría de los problemas:
¿Quién lo escribió? Un servidor de un autor desconocido se ejecuta con tus permisos. Lee el código fuente o quédate con editores de confianza.
¿A qué puede acceder? Da a cada servidor el acceso más restringido posible: una carpeta, un rol de base de datos de solo lectura, un token limitado a un repositorio.
¿Quién aprueba las acciones? Mantén las confirmaciones activas para cualquier cosa que escriba, envíe o elimine.
¿Dónde viven los secretos? Guarda los tokens en variables de entorno, nunca en las descripciones de herramientas ni en los prompts.
¿Qué lee? Las páginas web, los correos y los documentos pueden esconder instrucciones dirigidas al modelo, un problema llamado inyección de prompts. Un servidor que obtiene texto externo merece permisos muy estrictos.
⚠️ Atención: Una descripción de herramienta es texto en el que el modelo confía. Un servidor malicioso puede esconder instrucciones dentro. Conecta solo servidores que estarías dispuesto a instalar como software.
Cómo crear el tuyo
Construir un servidor requiere menos trabajo de lo que la mayoría espera. Existen SDK oficiales para TypeScript, Python, Java, C# y varios otros lenguajes. Los mismos tres pasos se aplican en todos: crear un servidor, registrar una herramienta y conectar un transporte.
Un servidor mínimo en TypeScript
Este ejemplo registra una herramienta que cuenta palabras y la sirve por stdio. Guárdalo como módulo ES.
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
const server = new McpServer({ name: "word-counter", version: "1.0.0" });
server.registerTool(
"count_words",
{
description: "Count the words in a piece of text. Returns a single number.",
inputSchema: { text: z.string() },
},
async ({ text }) => ({
content: [
{ type: "text", text: String(text.trim().split(/\s+/).filter(Boolean).length) },
],
})
);
await server.connect(new StdioServerTransport());
Compílalo y luego añade una entrada al archivo de configuración de tu host: un nombre, el comando node y la ruta al archivo compilado. Reinicia el host y count_words aparecerá en su lista de herramientas. Pregunta "¿cuántas palabras hay en este párrafo?" y el asistente llamará a tu código en lugar de adivinar.
Probar con el Inspector
Antes de culpar al modelo, prueba el servidor por separado. El MCP Inspector oficial (npx @modelcontextprotocol/inspector node build/index.js) abre una página en el navegador donde puedes listar herramientas, rellenar argumentos y leer las respuestas sin procesar. Si funciona ahí, el problema está en la configuración del host o en la descripción de la herramienta.
Pruébalo con PicassoIA
Los servidores MCP hablan sobre todo texto, pero muchos flujos de trabajo terminan en una imagen o en un clip. Un buen orden de trabajo es esbozar la idea con un modelo de lenguaje y luego convertirla en visuales. PicassoIA Image se encarga de las fotografías, PicassoIA Image Editor Pro las corrige y les da forma, y PicassoIA Video anima el resultado.
Cómo usar Claude Sonnet 5
Un modelo que maneja el uso de herramientas y el código es un gran compañero para construir el servidor de arriba. Este es el camino rápido con Claude Sonnet 5 en PicassoIA:
Abre la página del modelo. Ve a la página de Claude Sonnet 5 en PicassoIA.
Escribe el prompt. Es el único campo obligatorio. Prueba con: "Escribe un servidor MCP en TypeScript con una herramienta que devuelva la fecha de hoy."
Elige el nivel de Effort. El valor por defecto, low, es rápido y barato. Cambia a high o max cuando una tarea abarque varios archivos o esconda un error difícil.
Define un System Prompt. Por ejemplo: "Eres un desarrollador senior de TypeScript. Devuelve código ejecutable y una frase de explicación." Reutilízalo en todo el proyecto.
Ajusta Max Tokens. El valor por defecto es 8192, suficiente para un archivo de servidor completo. Adjunta una Image, como una captura de un error, si te ayuda. Max Image Resolution viene por defecto en 0,5 megapíxeles para que las solicitudes sean rápidas.
Genera y prueba. Ejecuta el código en el Inspector antes de confiar en él.
Otros modelos de lenguaje merecen una prueba lado a lado: GPT 5.6 Terra para texto listo para producción, Gemini 3.5 Flash para respuestas rápidas y Kimi K2.6 para tareas de tipo agente.
Crea tu primera imagen hoy
Ahora sabes qué hace un servidor MCP, cómo viaja una solicitud a través de él y dónde se esconden los riesgos. La forma más rápida de sentir la idea es usar una herramienta que devuelva algo que puedas ver. Abre PicassoIA, describe una escena en una sola frase y genérala. Después ejecuta el mismo prompt en un segundo modelo y compara los resultados. Las herramientas pequeñas e intercambiables son el hábito que MCP premia, y una primera imagen lleva menos de un minuto. Pruébalo con PicassoIA ahora y mira adónde te lleva tu prompt.