Saltar a contenido

MCP Python SDK

Traducción automática

Esta página se tradujo automáticamente a partir de la documentación en inglés, y la página en inglés es la versión de referencia. Si algo no se lee bien, Traducciones explica cómo avisarnos.

Esta documentación describe v2, la línea de versiones estable actual

¿Eres nuevo en v2 o vienes de v1? Novedades de v2 es el recorrido de cinco minutos por lo que cambió, y la Guía de migración cubre cada cambio incompatible. ¿Sigues en v1.x? Su documentación está en la documentación de v1.x. ¿Algo quedó tosco o confuso? Cuéntanos.

El Model Context Protocol (MCP) permite que las aplicaciones proporcionen contexto a los LLM de forma estandarizada, separando la tarea de proporcionar contexto de la interacción con el LLM en sí.

Este es su SDK oficial para Python. Con él puedes:

  • Crear servidores MCP que exponen herramientas, recursos y prompts a cualquier host MCP.
  • Crear clientes MCP que se conectan a cualquier servidor MCP.
  • Hablar todos los transportes estándar: stdio, Streamable HTTP y SSE.

Requisitos

Python 3.10+.

Instalación

uv add "mcp[cli]"
pip install "mcp[cli]"

El extra [cli] te da el comando mcp; lo vas a necesitar para desarrollar. Consulta Instalación para saber para qué sirve cada dependencia.

Ejemplo

Créalo

Crea un archivo server.py:

server.py
from mcp.server import MCPServer

mcp = MCPServer("Demo")


@mcp.tool()
def add(a: int, b: int) -> int:
    """Add two numbers."""
    return a + b


@mcp.resource("greeting://{name}")
def greeting(name: str) -> str:
    """Greet someone by name."""
    return f"Hello, {name}!"

Eso es un servidor MCP completo.

Expone una herramienta, add, y un recurso con plantilla, greeting://{name}.

Ejecútalo

uv run mcp dev server.py

Esto inicia el servidor y abre el MCP Inspector, una interfaz interactiva para explorarlo. Abre la URL que imprime.

Note

El Inspector es una app de Node.js, así que mcp dev necesita npx en tu PATH.

Pruébalo

En el Inspector, ve a Tools y llama a add con a=1, b=2.

Te devuelve 3. ✨

El Inspector construyó ese formulario (un campo entero obligatorio para a y otro para b) a partir de tus anotaciones de tipo. Lo mismo hará Claude, y cualquier otro host MCP.

Ahora ve a Resources y lee greeting://World:

Hello, World!

Resumen

Fíjate de nuevo en lo que no escribiste:

  • Ningún JSON Schema. a: int, b: int es el esquema.
  • Nada de analizar solicitudes, ni de serialización, ni código de validación.
  • Ningún manejo del protocolo.

Escribiste dos funciones de Python con anotaciones de tipo y un docstring. El SDK hace el resto.

Dónde seguir

  • Empieza aquí te lleva de la instalación a un servidor funcional y probado.
  • ¿Estás creando una aplicación que usa servidores MCP? Empieza por Clientes.
  • ¿Ya tienes una app de FastAPI o Starlette? Añadir a una app existente monta un servidor MCP dentro de ella.
  • ¿Buscas un mensaje de error exacto? Solución de problemas está organizada por el texto literal.
  • ¿Te preguntas qué cambió en v2? Novedades de v2 es el recorrido de cinco minutos.
  • ¿Migras desde v1? Empieza por la Guía de migración.
  • ¿Buscas una firma exacta? La Referencia de la API se genera a partir del código fuente.
  • ¿Lees con un LLM? Esta documentación también se publica en el formato llms.txt: llms.txt es un índice de las páginas, y llms-full.txt contiene todas las páginas en un solo archivo.