Serveur MCP des données colibre, conditionné à l'abonnement #111
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Objectif
Exposer les données publiées par colibre via le protocole MCP (Model Context Protocol), de façon à ce que les utilisateurs puissent interroger les DECP directement depuis leur agent IA (Claude, Claude Code, Cursor…), sous réserve de posséder un abonnement colibre.
Prérequis
Ce que fournit Dash nativement
enable_mcp=Truesur le constructeurDashdémarre un serveur MCP sur/_mcp.mcp_enabled(from dash.mcp import ...) afin d'exposer des fonctions Python métier ciblées (ex. « rechercher des marchés », « stats d'un acheteur ») plutôt que les callbacks d'UI.configure_mcp_server(...)permet de restreindre ce qui est exposé (include_pages=False, etc.).Le point dur : l'authentification / conditionnement à l'abonnement
Citation doc : « Dash implements the MCP server but not authentication. » Les options :
subscriptions).C'est le gros du travail : monter (ou ponter) un serveur d'autorisation OAuth 2.0 conforme MCP, et refuser la connexion / limiter les tools aux utilisateurs disposant d'un abonnement actif.
Points de vigilance sécurité (d'après la doc)
get_data_from_s3) → nommer proprement.Tâches (esquisse)
mcp_enabled(pas les callbacks d'UI)subscriptions) sur l'autorisationclaude mcp add …)Références
Le flux OAuth 2.0 MCP self-hosted (tâche restante « Implémenter le flow OAuth 2.0 MCP self-hosted ») est traité comme scope B2 dans #114 — il apporte le support des clients grand public (Claude.ai, Claude Desktop/mobile, ChatGPT) qui exigent OAuth, en complément du jeton statique (scope B) pour les clients CLI.
Design :
docs/superpowers/specs/2026-07-13-mcp-oauth-scope-b2-design.md. Voir #114 pour le résumé de l'approche.