Comment appeler un serveur MCP depuis curl / Postman / function-calling OpenAI
Quand l'utiliser : Vous avez choisi un excellent serveur MCP, mais votre stack de prod est un service Python / API Assistants OpenAI / quelque chose qui veut du HTTP+JSON.
Prérequis
- Une commande MCP que vous lançeriez normalement — ex.
uvx mcp-server-timeounpx -y @modelcontextprotocol/server-fetch
Déroulement
-
EnvelopperRun
uvx mcpo --port 8000 -- uvx mcp-server-timeand confirm /docs is up.✓ Copié→ L'interface Swagger affiche les outils comme endpoints -
Appeler depuis curlShow me a working curl that calls the time tool with timezone=America/Los_Angeles.✓ Copié→ Retourne l'heure actuelle + info tz
-
Connecter à OpenAIGenerate a function-calling spec from /openapi.json that I can paste into the OpenAI API.✓ Copié→ Spec émise ; test d'appel rapide réussit
Résultat : Un serveur MCP qu'un backend non-MCP peut piloter via HTTP.
Pièges
- Les outils à longue exécution expirent sous les paramètres uvicorn par défaut — Passez
--timeout-keep-alive 600à mcpo, ou mettez-le derrière nginx avec des timeouts correspondants