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:
- Introspezione delle route: legge i path operation, i metodi HTTP, i parametri path/query/header e i body request.
- Mapping degli schemi: converte i modelli Pydantic in descrizioni JSON Schema comprensibili all'agente.
- 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.
- 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.
