MCP (Model Context Protocol): conecta Claude a tus herramientas en menos de 30 minutos

MCP (Model Context Protocol): conecta Claude a tus herramientas en menos de 30 minutos
Foto de Planet Volumes en Unsplash

El problema que nadie te cuenta sobre los LLMs en producción

Tienes Claude. Tienes tus herramientas internas: bases de datos, APIs, sistemas de archivos, repositorios. Y tienes un abismo entre ambos que cierras a mano cada vez que necesitas contexto real. El Model Context Protocol (MCP) es la respuesta de Anthropic a ese problema, y en este artículo vas a ver cómo funciona y cómo tenerlo operativo hoy mismo.

Qué es MCP y por qué importa ahora

MCP es un protocolo abierto, presentado por Anthropic en noviembre de 2024, que estandariza cómo los modelos de lenguaje se conectan con fuentes de datos y herramientas externas. Piénsalo como el USB-C de la integración de LLMs: un estándar único que reemplaza cables propietarios.

Antes de MCP, integrar Claude con, por ejemplo, una base de datos PostgreSQL requería lógica personalizada en cada aplicación, manejo manual del contexto y prompts frágiles. Con MCP, defines un servidor MCP que expone recursos y herramientas, y cualquier cliente compatible (Claude Desktop, tu propia app) los consume de forma uniforme.

El protocolo funciona sobre JSON-RPC 2.0 y soporta tres primitivas fundamentales:

  • Resources: datos que el modelo puede leer (archivos, registros de DB, respuestas de API).
  • Tools: funciones que el modelo puede invocar (ejecutar una query, enviar un email).
  • Prompts: plantillas reutilizables que el servidor expone al cliente.

Arquitectura en 5 minutos

Un setup MCP tiene tres componentes: el host (Claude Desktop o tu aplicación), el cliente MCP integrado en el host, y el servidor MCP que tú controlas. La comunicación puede ser local via stdio o remota via HTTP + SSE.

Para desarrollo local, stdio es la opción más rápida: el host lanza el servidor como subproceso y se comunican por entrada/salida estándar. Sin puertos, sin configuración de red.

Guía paso a paso: tu primer servidor MCP en Python

Usaremos el SDK oficial de Python. Tiempo estimado: 20-25 minutos.

Paso 1: Instala las dependencias

pip install mcp anthropic

Paso 2: Crea el servidor

Este ejemplo expone una herramienta que ejecuta queries SQL contra una base de datos SQLite local:

import sqlite3
from mcp.server import Server
from mcp.server.stdio import stdio_server
from mcp import types

app = Server("mi-db-server")

@app.list_tools()
async def list_tools() -> list[types.Tool]:
    return [
        types.Tool(
            name="query_db",
            description="Ejecuta una query SELECT en la base de datos local",
            inputSchema={
                "type": "object",
                "properties": {
                    "sql": {"type": "string", "description": "Query SQL a ejecutar"}
                },
                "required": ["sql"]
            }
        )
    ]

@app.call_tool()
async def call_tool(name: str, arguments: dict):
    if name == "query_db":
        conn = sqlite3.connect("datos.db")
        cursor = conn.execute(arguments["sql"])
        rows = cursor.fetchall()
        cols = [d[0] for d in cursor.description]
        conn.close()
        resultado = [dict(zip(cols, row)) for row in rows]
        return [types.TextContent(type="text", text=str(resultado))]

if __name__ == "__main__":
    import asyncio
    asyncio.run(stdio_server(app))

Paso 3: Registra el servidor en Claude Desktop

Edita el archivo de configuración de Claude Desktop. En macOS está en ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "mi-db-server": {
      "command": "python",
      "args": ["/ruta/absoluta/a/tu/servidor.py"]
    }
  }
}

Paso 4: Reinicia Claude Desktop y verifica

Al reiniciar, verás un icono de herramientas en la interfaz. Claude ahora puede invocar query_db de forma autónoma cuando lo necesite en una conversación.

Paso 5: Pruébalo con un prompt real

Escribe en Claude Desktop:

Dame un resumen de los 5 clientes con mayor volumen de compras este trimestre, 
consultando directamente la base de datos.

Claude identificará que necesita la herramienta, solicitará tu confirmación (si tienes aprobación manual activada) y ejecutará la query apropiada.

Errores comunes y cómo evitarlos

  • Rutas relativas en la configuración: usa siempre rutas absolutas en claude_desktop_config.json. Las relativas fallan silenciosamente.
  • Schemas de entrada poco descriptivos: Claude usa el campo description para decidir cuándo y cómo usar la herramienta. Sé explícito.
  • No manejar excepciones en el servidor: un error no capturado mata el proceso y Claude pierde acceso a todas las herramientas de ese servidor.
  • Exponiendo herramientas de escritura sin validación: si tu herramienta puede modificar datos, añade validación explícita en el esquema y considera requerir aprobación manual.

Servidores MCP ya disponibles que puedes usar hoy

No necesitas construirlo todo desde cero. El repositorio oficial modelcontextprotocol/servers en GitHub incluye servidores listos para:

  • Sistema de archivos local
  • GitHub (leer repos, abrir issues)
  • PostgreSQL y SQLite
  • Brave Search y fetch de URLs
  • Slack y Google Drive

El siguiente paso concreto

MCP cambia la ecuación de lo que puedes delegar a Claude: deja de ser un generador de texto y empieza a actuar como un agente con acceso real a tu stack. La curva de entrada es baja, el SDK está bien documentado y el ecosistema crece semana a semana.

Tu acción inmediata: clona el repositorio modelcontextprotocol/python-sdk, ejecuta uno de los ejemplos incluidos y tenlo funcionando en Claude Desktop antes de que acabe el día. Una vez que veas a Claude consultar tu propia base de datos en tiempo real, el modelo mental de lo que es posible cambia por completo.