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.
La documentation interactive Swagger est disponible sur http://localhost:6655/api-docs quand le serveur api-documentation est lance.
Transport principal
| Methode | Endpoint | Description |
|---|---|---|
POST | /api/v1/mcp | Requetes JSON-RPC 2.0 (initialize, tools/list, tools/call) |
GET | /api/v1/mcp | Flux SSE de notifications (optionnel) |
DELETE | /api/v1/mcp | Terminer 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/jsonMcp-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
| Methode | Endpoint | Description |
|---|---|---|
GET | /api/v1/mcp/catalog | Liste des serveurs MCP disponibles |
Retourne la liste complete des serveurs MCP du catalogue public, sans authentification requise.