Guia completo para construir servidores MCP com FastMCP 3.0 - tools, resources, autenticação, providers, middleware e deploy. Use ao criar servidores MCP em Python ou integrar modelos de IA com ferramentas e dados externos.
Scanned 9/8/2026
Install to Claude Code
npx -y skills add artubss/SKILLS-CLAUDE-CODE --skill fastmcp-server --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Fastmcp Server?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/artubss-fastmcp-server)More formats (shields.io, HTML) on the badges page.
---
name: fastmcp-server
description: Guia completo para construir servidores MCP com FastMCP 3.0 - tools, resources, autenticação, providers, middleware e deploy. Use ao criar servidores MCP em Python ou integrar modelos de IA com ferramentas e dados externos.
version: 1.0.0
author: FastMCP Community
license: MIT
tags: [FastMCP, MCP, Python, AI, Tools, Server, Authentication, Providers]
dependencies: []
---
# Desenvolvimento de Servidores FastMCP 3.0
Referência completa para construir servidores MCP (Model Context Protocol) prontos para produção com FastMCP 3.0 - o framework Pythônico rápido para conectar LLMs a ferramentas e dados.
## Quando usar esta skill
**Use FastMCP Server quando:**
- Criar um novo servidor MCP em Python
- Adicionar tools, resources ou prompts a um servidor MCP
- Implementar autenticação (OAuth, OIDC, verificação de token)
- Configurar middleware para logging, rate limiting ou autorização
- Configurar providers (local, filesystem, skills, customizado)
- Construir servidores MCP para produção com telemetria e storage
- Fazer upgrade de FastMCP 2.x para 3.0
**Áreas-chave cobertas:**
- **Tools & Resources** (CORE): Decoradores, validação, tipos de retorno, templates
- **Context & DI** (CORE): Contexto MCP, injeção de dependência, background tasks
- **Autenticação** (SECURITY): OAuth, OIDC, verificação de token, padrões de proxy
- **Autorização** (SECURITY): Controle de acesso baseado em escopo e role
- **Middleware** (ADVANCED): Pipeline de request/response, middleware integrado
- **Providers** (ADVANCED): Local, filesystem, skills e providers customizados
- **Features** (ADVANCED): Paginação, sampling, storage, OpenTelemetry, versionamento
## Referência rápida
### Padrões principais
**Criar um servidor com tools:**
```python
from fastmcp import FastMCP
mcp = FastMCP("MyServer")
@mcp.tool
def add(a: int, b: int) -> int:
"""Add two numbers"""
return a + b
```
**Criar um resource:**
```python
@mcp.resource("data://config")
def get_config() -> dict:
"""Return server configuration"""
return {"version": "1.0", "debug": False}
```
**Criar um template de resource:**
```python
@mcp.resource("users://{user_id}/profile")
def get_user_profile(user_id: str) -> dict:
"""Get a user's profile by ID"""
return fetch_user(user_id)
```
**Criar um prompt:**
```python
@mcp.prompt
def review_code(code: str, language: str = "python") -> str:
"""Review code for best practices"""
return f"Review this {language} code:\n\n{code}"
```
**Executar o servidor:**
```python
if __name__ == "__main__":
mcp.run()
# Or with transport options:
# mcp.run(transport="sse", host="0.0.0.0", port=8000)
```
### Usar context em tools
```python
from fastmcp import FastMCP, Context
mcp = FastMCP("MyServer")
@mcp.tool
def process_data(uri: str, ctx: Context) -> str:
"""Process data with logging and progress"""
ctx.info(f"Processing {uri}")
ctx.report_progress(0, 100)
data = ctx.read_resource(uri)
ctx.report_progress(100, 100)
return f"Processed: {data}"
```
### Configuração de autenticação
```python
from fastmcp import FastMCP
from fastmcp.server.auth import BearerAuthProvider
auth = BearerAuthProvider(
jwks_uri="https://your-provider/.well-known/jwks.json",
audience="your-api",
issuer="https://your-provider/"
)
mcp = FastMCP("SecureServer", auth=auth)
```
## Conceitos-chave
### Tools
Funções expostas como capacidades executáveis para LLMs. Decoradas com `@mcp.tool`. Suportam validação Pydantic, async, tipos de retorno customizados e anotações (readOnlyHint, destructiveHint).
### Resources & Templates
Fontes de dados estáticas ou dinâmicas identificadas por URIs. Resources usam URIs fixos (`data://config`), templates usam URIs parametrizados (`users://{id}/profile`). Suportam tipos MIME, anotações e parâmetros com wildcard.
### Context
O objeto `Context` fornece acesso a recursos MCP dentro de tools/resources: logging, report de progresso, acesso a resources, sampling de LLM, elicitação de usuário e estado de sessão.
### Injeção de Dependência
Injete valores em funções de tool/resource usando `Depends()`. Suporta requisições HTTP, access tokens, dependências customizadas e padrões baseados em gerador para limpeza.
### Providers
Controle de onde os componentes vêm. `LocalProvider` (padrão, baseado em decorador), `FileSystemProvider` (carrega de arquivos Python em disco), `SkillsProvider` (bundles empacotados) ou providers customizados.
### Autenticação & Autorização
Múltiplos padrões de autenticação: verificação de token (JWT, JWKS), proxy OAuth, proxy OIDC, OAuth remoto e servidor OAuth completo. Autorização via escopos em componentes e middleware.
### Middleware
Intercepte e modifique requests/responses. Middleware integrado para rate limiting, tratamento de erros, logging e limites de tamanho de response. Middleware customizado via `@mcp.middleware`.
## Usando as referências
A documentação detalhada está organizada na pasta `references/`:
### Primeiros Passos
- **getting-started/installation.md** - Instale FastMCP, dependências opcionais, verifique setup
- **getting-started/upgrade-guide.md** - Migre de FastMCP 2.x para 3.0
- **getting-started/quickstart.md** - Primeiro servidor, tools, resources, prompts, executar
### Server
- **server/server-class.md** - Configuração do servidor FastMCP, opções de transport, filtro de tags
- **server/tools.md** - Decorador tool, parâmetros, validação, tipos de retorno, anotações
- **server/resources-and-templates.md** - Resources, templates, URIs, wildcards, tipos MIME
### Context
- **context/mcp-context.md** - Objeto Context, logging, progresso, acesso a resources, sampling
- **context/background-tasks.md** - Operações de longa duração com suporte a tasks
- **context/dependency-injection.md** - Depends(), deps customizadas, requisição HTTP, access tokens
- **context/user-elicitation.md** - Solicite entrada estruturada de usuários durante execução
### Features
- **features/icons.md** - Ícones customizados para tools, resources, prompts e servidores
- **features/lifespans.md** - Gerenciamento de ciclo de vida do servidor e hooks de startup/shutdown
- **features/client-logging.md** - Envie mensagens de log para clientes MCP
- **features/middleware.md** - Pipeline de request/response, middleware integrado e customizado
- **features/pagination.md** - Paginação de listas grandes de componentes
- **features/progress-reporting.md** - Reporte progresso para operações de longa duração
- **features/sampling.md** - Solicite conclusões de LLM do cliente
- **features/storage-backends.md** - Storage em memória, arquivo e Redis para cache e tokens
- **features/opentelemetry.md** - Rastreamento distribuído e observabilidade
- **features/versioning.md** - Versione componentes e filtre por intervalos de versão
### Autenticação
- **authentication/token-verification.md** - JWT, JWKS, introspection, chaves estáticas, customizado
- **authentication/remote-oauth.md** - Delegue autenticação ao provider OAuth upstream
- **authentication/oauth-proxy.md** - Proxy OAuth completo com PKCE, gerenciamento de clientes
- **authentication/oidc-proxy.md** - Proxy OpenID Connect com auto-discovery
- **authentication/full-oauth-server.md** - Servidor OAuth completo integrado
### Autorização
- **authorization.md** - Controle de acesso baseado em escopo, autorização em middleware, padrões
### Providers
- **providers/local.md** - Provider padrão, registro de componentes baseado em decorador
- **providers/filesystem.md** - Carregue componentes de arquivos Python em disco
- **providers/skills.md** - Empacote e distribua bundles de componentes
- **providers/custom.md** - Construa providers customizados para qualquer fonte de componente
## Histórico de versões
**v1.0.0** (Fevereiro de 2026)
- Lançamento inicial cobrindo FastMCP 3.0 (release candidate)
- 30 arquivos de referência em 7 categorias
- Cobertura completa de tools, resources, context, autenticação, providers e featuresIs this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!