Copertina: fastapi_mcp: MCP nativo per backend FastAPI

fastapi_mcp: MCP nativo per backend FastAPI

Espone endpoint FastAPI come tool MCP in poche righe di codice, preservando autenticazione, schemi Pydantic e documentazione.

01 luglio 20266 min di lettura
fastapi_mcpModel Context ProtocolFastAPIMCP serveragenti AItool MCPPythonmicroservizi

Cos'è

fastapi_mcp è una libreria open-source, rilasciata sotto licenza MIT dal team di Tadata, che permette di esporre gli endpoint di un'applicazione FastAPI come tool di un server Model Context Protocol (MCP). MCP è il protocollo aperto promosso da Anthropic per collegare in modo standard agenti AI, assistenti e orchestratori alle risorse esterne: database, API, file system, strumenti aziendali e, appunto, microservizi web.

La differenza fondamentale rispetto agli adattatori generici OpenAPI→MCP è che fastapi_mcp non si limita a leggere lo spec Swagger e a generare tool in modo meccanico. Lavora direttamente all'interno dell'app FastAPI, accedendo a route, dipendenze, modelli di richiesta e risposta, e autenticazione. Il risultato è un server MCP nativo, co-locato o meno con l'applicazione, che riflette fedelmente la semantica originale delle API.

A cosa serve

In aziende e startup che hanno adottato FastAPI per i backend — un pattern molto comune in Italia tra software house, agenzie e team prodotto — il problema ricorrente è rendere i propri servizi accessibili agli agenti AI senza dover riscrivere adapter, SDK o client custom. fastapi_mcp risolve questo problema in modo chirurgico:

  • Agenti su codebase esistenti: Claude Code, Codex, Kimi, Grok o qualsiasi client MCP possono invocare direttamente le API aziendali.
  • Preservazione dell'investimento: non è necessario rifattorizzare i backend; basta aggiungere il mount MCP all'app esistente.
  • Sicurezza mantenuta: le dipendenze di autenticazione e autorizzazione di FastAPI (Depends(), OAuth2, JWT, API key) restano valide anche per i tool MCP.
  • Coerenza contrattuale: gli schemi Pydantic e le descrizioni degli endpoint, già presenti in Swagger, diventano automaticamente il contratto che l'agente deve rispettare.

È particolarmente utile per chi ha decine di microservizi Python in produzione — fatturazione, CRM, logistica, knowledge base, analisi dati — e vuole sbloccarne il potenziale agentico senza aumentare la superficie di attacco o duplicare la logica.

Come funziona

L'installazione avviene via pip come una normale dipendenza Python. Una volta importata la classe FastApiMCP, si passa l'istanza dell'app FastAPI e si monta il server MCP su un path a scelta. In forma minimale:

from fastapi import FastAPI
from fastapi_mcp import FastApiMCP

app = FastAPI()
# ... route e dipendenze esistenti ...

mcp = FastApiMCP(app)
mcp.mount()

Da questo momento, ogni endpoint compatibile è disponibile come tool MCP. La libreria gestisce in automatico:

  1. Introspezione delle route: legge i path operation, i metodi HTTP, i parametri path/query/header e i body request.
  2. Mapping degli schemi: converte i modelli Pydantic in descrizioni JSON Schema comprensibili all'agente.
  3. Esecuzione dei tool: quando l'agente chiama un tool, fastapi_mcp instrada la chiamata all'handler FastAPI corretto, applica le dipendenze e restituisce la risposta.
  4. Documentazione: descrizioni e tag degli endpoint, già scritti per Swagger, diventano metadati dei tool MCP.

È possibile montare il server MCP sullo stesso processo FastAPI oppure su un'app separata, condividendo solo il codice dei router. Questa flessibilità è importante per chi vuole isolare il traffico agentico o esporre solo un sottoinsieme di endpoint.

Perché conta

Nel 2025-2026 il Model Context Protocol si sta affermando come lo standard de facto per l'interoperabilità tra LLM e sistemi esterni. Avere un modo a basso attrito per convertire i propri backend FastAPI in server MCP significa ridurre drasticamente il tempo che separa un'API funzionante da un'azione invocabile da un agente.

Per founder, PM e CTO italiani il vantaggio è concreto:

  • Velocità di sperimentazione: un backend esistente diventa subito un tool per prototipi di agenti, senza sviluppo ad-hoc.
  • Governance: le regole di accesso, rate limiting e audit già implementate in FastAPI rimangono centralizzate.
  • Manutenibilità: non si introduce un secondo livello di codice (wrapper MCP) che va aggiornato ogni volta che cambia un endpoint.
  • Interoperabilità: un unico backend può servire applicazioni web tradizionali, mobile e agenti AI con lo stesso contratto d'interfaccia.

Inoltre, fastapi_mcp è progettato per essere leggero e CPU-friendly: non aggiunge un orchestratore pesante né un database, ma sfrutta l'infrastruttura già presente. Questo lo rende adatto anche a deployment su VPS, server on-premise o ambienti cloud ristretti, tipici di molte realtà italiane.

Quando conviene usarlo

La libreria è la scelta naturale quando si ha già un backend FastAPI con API ben definite, autenticazione solida e modelli Pydantic. È ideale per:

  • Microservizi interni che devono essere consultati o comandati da agenti di coding e operations.
  • SaaS B2B che vogliono offrire ai clienti strumenti AI capaci di agire sul proprio tenant in modo sicuro.
  • Pipeline di dati in cui un agente deve leggere risultati, avviare job o controllare stato.
  • Prototipi agentici da mostrare a stakeholder, in cui la velocità di integrazione conta più della customizzazione.
  • Ambienti ibridi in cui alcuni tool devono restare on-premise mentre gli agenti girano su workstation o cloud provider diversi.

Per le software house italiane che costruiscono prodotti su misura, fastapi_mcp rappresenta anche un acceleratore commerciale: riduce le settimane necessarie a dotare un'applicazione esistente di capacità agentiche, permettendo di fare demo concrete in pochi giorni.

Limiti e considerazioni

Non è una bacchetta magica. fastapi_mcp espone endpoint come tool, ma la qualità dell'interazione agentica dipende da come sono progettate le API sottostanti. Endpoint con nomi generici, risposte poco strutturate o parametri ambigui producono tool difficili da usare per un LLM. Vale quindi la pena investire in nomi chiari, descrizioni Swagger esaustive e risposte Pydantic ben tipate.

Inoltre, sebbene l'autenticazione venga preservata, va valutata con attenzione quali endpoint esporre come tool MCP: non tutte le operazioni sono adatte a essere invocate autonomamente da un agente. La scelta di montare su un'app separata, con un sottoinsieme ristretto di route, è spesso la strategia più prudente per la produzione.

Un altro aspetto da monitorare è l'evoluzione del protocollo stesso: MCP è ancora in rapida crescita e le implementazioni client possono differire per dettagli. Tenere aggiornata la libreria e testare con i client target è una buona pratica.

Dove trovarlo

Il repository ufficiale è disponibile su GitHub all'indirizzo https://github.com/tadata-org/fastapi_mcp. La documentazione completa, con quickstart, esempi e guide avanzate, è pubblicata sul sito https://fastapi-mcp.tadata.com/. La libreria può essere installata tramite pip ed è rilasciata sotto licenza MIT, quindi utilizzabile liberamente anche in progetti commerciali e SaaS.

Hai letto fino a qui

🤔 Hai domande su questo argomento?

Posso aiutarti a capire come applicarlo al tuo business. Scegli come vuoi parlarmi.

— oppure —

💬 Chat: risposta immediata · 📧 Email: risposta personale entro 24h · 🔒 Niente spam

Continua a leggere