feat(mcp): activer le serveur MCP via DASH_MCP_ENABLED (scope A #111)
This commit is contained in:
@@ -72,3 +72,9 @@ FRISBII_WEBHOOK_SECRET= # secret de signature des webhooks
|
|||||||
|
|
||||||
# Accès gratuit temporaire
|
# Accès gratuit temporaire
|
||||||
TOUS_ABONNES=false # true = ouvre gratuitement les fonctionnalités d'abonné à tout compte
|
TOUS_ABONNES=false # true = ouvre gratuitement les fonctionnalités d'abonné à tout compte
|
||||||
|
|
||||||
|
# Serveur MCP (issue #111). Laisser à false tant que l'authentification
|
||||||
|
# (OAuth + gate abonnement, scope B) n'est pas en place : sinon le serveur MCP
|
||||||
|
# est ouvert sans contrôle d'accès. Prérequis Matomo pour le tracking des appels :
|
||||||
|
# créer un Custom Dimension slot 1 (scope Action).
|
||||||
|
DASH_MCP_ENABLED=false
|
||||||
|
|||||||
+16
@@ -74,6 +74,8 @@ cache.init_app(
|
|||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
_mcp_enabled = os.getenv("DASH_MCP_ENABLED") == "true"
|
||||||
|
|
||||||
app: Dash = Dash(
|
app: Dash = Dash(
|
||||||
server=server,
|
server=server,
|
||||||
# name="src" (et non "src.app") pour que use_pages enregistre les pages sous
|
# name="src" (et non "src.app") pour que use_pages enregistre les pages sous
|
||||||
@@ -87,6 +89,7 @@ app: Dash = Dash(
|
|||||||
use_pages=True,
|
use_pages=True,
|
||||||
suppress_callback_exceptions=True,
|
suppress_callback_exceptions=True,
|
||||||
compress=True,
|
compress=True,
|
||||||
|
enable_mcp=_mcp_enabled,
|
||||||
meta_tags=META_TAGS,
|
meta_tags=META_TAGS,
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -108,6 +111,19 @@ from src.api import init_api # noqa: E402 # inline: src.db.conn must be ready
|
|||||||
|
|
||||||
init_api(app.server)
|
init_api(app.server)
|
||||||
|
|
||||||
|
# Serveur MCP (issue #111, scope A) : n'expose QUE les fonctions @mcp_enabled,
|
||||||
|
# jamais les callbacks/layout/pages d'UI. Activé via DASH_MCP_ENABLED=true.
|
||||||
|
if _mcp_enabled:
|
||||||
|
from dash.mcp import configure_mcp_server # noqa: E402
|
||||||
|
|
||||||
|
configure_mcp_server(
|
||||||
|
include_layout=False,
|
||||||
|
include_callbacks=False,
|
||||||
|
include_pages=False,
|
||||||
|
include_clientside_callbacks=False,
|
||||||
|
)
|
||||||
|
import src.mcp.tools # noqa: E402,F401 # l'import enregistre les @mcp_enabled
|
||||||
|
|
||||||
from src.subscriptions.setup import init_subscriptions # noqa: E402
|
from src.subscriptions.setup import init_subscriptions # noqa: E402
|
||||||
|
|
||||||
init_subscriptions(app.server)
|
init_subscriptions(app.server)
|
||||||
|
|||||||
Reference in New Issue
Block a user