MCP Python SDK
Esta página foi traduzida por máquina
As traduções desta documentação são geradas automaticamente a partir das páginas em inglês, e a versão em inglês desta página é a oficial.
Encontrou um problema na tradução? Veja como as traduções funcionam e como reportar um problema.
Esta documentação cobre a v2, a linha de release estável atual
Chegou agora na v2 ou está vindo da v1? O que há de novo na v2 é o tour de cinco minutos sobre o que mudou, e o Guia de migração cobre cada mudança incompatível. Ainda na v1.x? A documentação dela fica na documentação da v1.x. Achou algo confuso ou malfeito? Conte pra gente.
O Model Context Protocol (MCP) permite que aplicações forneçam contexto a LLMs de forma padronizada, separando a tarefa de fornecer contexto da interação com o LLM em si.
Este é o SDK oficial em Python para ele. Com ele você pode:
- Construir servidores MCP que expõem ferramentas, recursos e prompts para qualquer host MCP.
- Construir clientes MCP que se conectam a qualquer servidor MCP.
- Falar todos os transportes padrão: stdio, Streamable HTTP e SSE.
Requisitos
Python 3.10+.
Instalação
uv add "mcp[cli]"
pip install "mcp[cli]"
O extra [cli] te dá o comando mcp; você vai querer ele para o desenvolvimento.
Veja Instalação para entender para que serve cada dependência.
Exemplo
Crie
Crie um arquivo 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}!"
Esse é um servidor MCP completo.
Ele expõe uma ferramenta, add, e um recurso com template, greeting://{name}.
Execute
uv run mcp dev server.py
Isso inicia o seu servidor e abre o MCP Inspector, uma interface interativa para cutucar o servidor. Abra a URL que ele imprime.
Note
O Inspector é um app Node.js, então o mcp dev precisa do npx no seu PATH.
Experimente
No Inspector, vá em Tools e chame add com a=1, b=2.
Você recebe 3 de volta. ✨
O Inspector montou esse formulário (um campo inteiro obrigatório para a, outro para b) a partir das suas type hints. O Claude vai fazer o mesmo, e todo outro host MCP também.
Agora vá em Resources e leia greeting://World:
Hello, World!
Recapitulando
Olhe de novo para o que você não escreveu:
- Nenhum JSON Schema.
a: int, b: inté o schema. - Nenhum parsing de requisição, nenhuma serialização, nenhum código de validação.
- Nenhum tratamento de protocolo, nada.
Você escreveu duas funções Python com type hints e uma docstring. O SDK faz o resto.
Para onde ir agora
- Primeiros passos leva você da instalação até um servidor funcionando e testado.
- Está construindo uma aplicação que usa servidores MCP? Comece por Clientes.
- Já tem um app FastAPI ou Starlette? Adicionar a um app existente monta um servidor MCP dentro dele.
- Caçando uma mensagem de erro específica? Solução de problemas é indexado pelo texto literal.
- Curioso sobre o que mudou na v2? O que há de novo na v2 é o tour de cinco minutos.
- Migrando da v1? Comece pelo Guia de migração.
- Procurando uma assinatura exata? A Referência da API é gerada a partir do código-fonte.
- Lendo com um LLM? Esta documentação também é publicada no formato llms.txt: llms.txt é um índice das páginas, e llms-full.txt contém todas as páginas em um único arquivo.