Aller au contenu principal

Endpoints MCP (Streamable HTTP)

Le transport MCP utilise le protocole Streamable HTTP conforme a la spec MCP 2025-03-26. Tous les echanges passent par JSON-RPC 2.0.

info

La documentation interactive Swagger est disponible sur http://localhost:6655/api-docs quand le serveur api-documentation est lance.

Transport principal

MethodeEndpointDescription
POST/api/v1/mcpRequetes JSON-RPC 2.0 (initialize, tools/list, tools/call)
GET/api/v1/mcpFlux SSE de notifications (optionnel)
DELETE/api/v1/mcpTerminer une session MCP

POST /api/v1/mcp

Point d'entree principal. Accepte les requetes JSON-RPC 2.0 individuelles ou en batch (max 50).

Headers :

  • Content-Type: application/json
  • Mcp-Session-Id: <session-id> (requis apres initialize)

Methodes JSON-RPC supportees :

initialize

Initialise une session MCP. Retourne un Mcp-Session-Id dans le header de reponse.

{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-03-26",
"capabilities": {},
"clientInfo": {
"name": "mon-client",
"version": "1.0.0"
}
}
}

tools/list

Liste tous les outils MCP disponibles pour la session courante.

{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/list"
}

tools/call

Execute un outil MCP specifique.

{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "odoo_search_read",
"arguments": {
"model": "res.partner",
"domain": [["is_company", "=", true]],
"fields": ["name", "email"],
"limit": 10
}
}
}

DELETE /api/v1/mcp

Termine proprement une session MCP et libere les ressources.

Headers :

  • Mcp-Session-Id: <session-id> (requis)

Reponse : 200 OK

Sessions

  • Chaque session est identifiee par un Mcp-Session-Id (UUID)
  • TTL : 30 minutes d'inactivite
  • Les sessions sont gerees par le SessionManager
  • Un batch peut contenir jusqu'a 50 requetes JSON-RPC

Catalogue public

MethodeEndpointDescription
GET/api/v1/mcp/catalogListe des serveurs MCP disponibles

Retourne la liste complete des serveurs MCP du catalogue public, sans authentification requise.