enterprise_ai.mcp_runtime
Source : sdks/python/src/enterprise_ai/mcp_runtime/__init__.py. Retour à l'index de la référence du SDK Python.
Cette page est générée par tools/docs/gen_sdk_reference.py depuis les sources du SDK et les dossiers de textes OpenAPI. Ne la modifiez pas à la main : changez la source et régénérez.
Classe McpRuntimeClient
Runtime MCP. MCP Runtime : des instances isolées de serveur MCP démarrées à la demande pour un utilisateur d'un projet, à partir des modèles du catalogue de la plateforme, exécutées par ToolHive dans l'espace de noms du projet et joignables via la MCP Gateway.
Resource
McpRuntimeClient.create_instance
create_instance(project_id: str, template: str, params: dict[str, Any] | None = None, name: str | None = None, credential_ref: str | None = None, agents: list[str] | None = None, allowed_tools: list[str] | None = None, idle_timeout_seconds: int | None = None) -> Any
Démarrer une instance MCP. Démarre une instance MCP isolée de l'appelant dans le projet (202) : MCPServer ToolHive propre, identifiants propres, prête quand ToolHive la signale Ready (lisez l'instance pour la suivre). Demande tenant_admin, developer ou application_owner et la relation ReBAC editor sur le projet. Contrôles : le MCP Runtime est activé (409 mcp_runtime_disabled) ; le modèle, ses hôtes et ses rôles de base de données sont permis par la politique du projet (403 mcp_template_not_allowed, mcp_host_not_allowed, mcp_database_role_not_allowed) ; un modèle à identifiants personnels demande credential_ref (422 mcp_credential_required) ; agents, outils et nom sont valides (422) ; quotas par utilisateur et par projet (409 mcp_instance_quota) ; aucune autre instance de l'appelant du même nom (409 mcp_instance_exists). Un provisionnement en échec détruit l'instance et renvoie l'erreur. Audité sous mcp.instance.create.
Route : /v1/projects/{project_id}/mcp/instances (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project_id | str | oui | Identifiant (UUID) ou slug du projet. | |
template | str | oui | Modèle du catalogue : minuscules, chiffres et -, 1 à 63 caractères. | |
params | dict[str, Any] | None | None | non | Paramètres déclarés par le modèle (texte, entier ou liste de textes), vérifiés selon lui et selon la politique du projet. |
name | str | None | None | non | Nom de l'instance, unique pour l'appelant dans le projet (même motif). Par défaut : le nom du modèle. |
credential_ref | str | None | None | non | Secret personnel de l'utilisateur, openbao://... ou env://... (modèle à identifiants secret_ref). |
agents | list[str] | None | None | non | Agents (identifiants de principaux, 20 au plus) autorisés à appeler l'instance avec son propriétaire. |
allowed_tools | list[str] | None | None | non | Outils de l'instance qui peuvent être appelés (100 au plus). Par défaut ["*"]. |
idle_timeout_seconds | int | None | None | non | Temps d'inactivité avant que l'instance ne s'endorme, en secondes (60 à 86400), jamais au-delà de la politique du projet. Par défaut : la politique du projet. |
Retour : Any. Réponse JSON décodée de l'opération « Démarrer une instance MCP ».
Erreurs levées : les erreurs typées du transport (Erreurs).
McpRuntimeClient.destroy_instance
destroy_instance(project_id: str, instance_id: str) -> Any
Détruire une instance MCP. Détruit l'instance à la fin de la tâche : identifiants révoqués, ressources supprimées, entrée de passerelle désactivée, journal conservé. Permis pour son propriétaire, ou tenant_admin et security_officer (enregistré comme destruction par un administrateur). Demande la relation ReBAC viewer sur le projet. Renvoie l'instance et son journal. 404 mcp_instance_not_found.
Route : /v1/projects/{project_id}/mcp/instances/{instance_id} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project_id | str | oui | Identifiant (UUID) ou slug du projet. | |
instance_id | str | oui | Identifiant (UUID) de l'instance. |
Retour : Any. Réponse JSON décodée de l'opération « Détruire une instance MCP ».
Erreurs levées : les erreurs typées du transport (Erreurs).
McpRuntimeClient.instance
instance(project_id: str, instance_id: str) -> Any
Lire une instance MCP. L'instance (son état relu auprès de ToolHive tant qu'elle est en provisionnement ou prête) et son journal de cycle de vie dans events. credential_active indique si des identifiants sont actuellement émis. Visible par son propriétaire, tenant_admin et security_officer ; demande la relation ReBAC viewer sur le projet. 404 mcp_instance_not_found.
Route : /v1/projects/{project_id}/mcp/instances/{instance_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project_id | str | oui | Identifiant (UUID) ou slug du projet. | |
instance_id | str | oui | Identifiant (UUID) de l'instance. |
Retour : Any. Réponse JSON décodée de l'opération « Lire une instance MCP ».
Erreurs levées : les erreurs typées du transport (Erreurs).
McpRuntimeClient.instances
instances(project_id: str, status: str | None = None) -> Any
Lister les instances MCP d'un projet. Renvoie enabled (si le MCP Runtime tourne sur cette plateforme), la policy du projet (valeurs par défaut si elle n'est pas configurée), l'état du catalogue, les templates et les instances, de la plus récente à la plus ancienne, 500 au plus : les siennes pour un utilisateur, toutes pour tenant_admin et security_officer. Demande la relation ReBAC viewer sur le projet.
Route : /v1/projects/{project_id}/mcp/instances (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project_id | str | oui | Identifiant (UUID) ou slug du projet. | |
status | str | None | None | non | Seulement les instances dans cet état : provisioning, ready, sleeping, failed, terminating ou terminated. |
Retour : Any. Réponse JSON décodée de l'opération « Lister les instances MCP d'un projet ».
Erreurs levées : les erreurs typées du transport (Erreurs).
McpRuntimeClient.jwks
jwks() -> Any
Lire les clés de vérification du runtime MCP. Clés publiques de vérification des jetons que la MCP Gateway remet aux proxys ToolHive (aucun secret : des clés publiques seulement, comme tout JWKS OIDC). Lues sans authentification par le MCPOIDCConfig eai-mcp-runtime de chaque espace de noms de projet. 503 context_authority_unavailable quand le registre de clés est illisible.
Route : /v1/mcp/runtime/jwks (GET).
Cet élément ne prend aucun paramètre.
Retour : Any. Réponse JSON décodée de l'opération « Lire les clés de vérification du runtime MCP ».
Erreurs levées : les erreurs typées du transport (Erreurs).
McpRuntimeClient.put_policy
put_policy(project_id: str, allowed_templates: list[str] | None = None, allowed_hosts: list[str] | None = None, allowed_database_roles: list[str] | None = None, idle_timeout_seconds: int = 900, max_lifetime_seconds: int = 28800, max_instances_per_user: int = 3, max_instances_per_project: int = 20) -> Any
Définir la politique du runtime MCP d'un projet. Remplace la politique du MCP Runtime du projet : modèles, hôtes, rôles de base de données, temps d'inactivité, durée de vie et quotas. Des modèles inconnus, des motifs d'hôte ou des noms de rôle invalides répondent 422 mcp_policy_invalid. Les instances nouvelles et réveillées la suivent. Demande tenant_admin et la relation ReBAC editor sur le projet. Audité sous mcp.runtime.policy.
Route : /v1/projects/{project_id}/mcp/policy (PUT).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project_id | str | oui | Identifiant (UUID) ou slug du projet. | |
allowed_templates | list[str] | None | None | non | Modèles que les utilisateurs peuvent démarrer (100 au plus). Vide (par défaut) : tous les modèles du catalogue. |
allowed_hosts | list[str] | None | None | non | Hôtes que les instances peuvent joindre, noms exacts ou motifs *.domaine (200 au plus). Vide (par défaut) : aucun hôte, un modèle qui en a besoin ne peut donc pas démarrer. |
allowed_database_roles | list[str] | None | None | non | Rôles de base de données qu'un modèle peut utiliser (100 au plus). Vide (par défaut) : aucun. |
idle_timeout_seconds | int | 900 | non | Temps d'inactivité maximal avant qu'une instance ne s'endorme, en secondes (60 à 86400, 900 par défaut). |
max_lifetime_seconds | int | 28800 | non | Durée de vie maximale d'une génération en cours, en secondes (300 à 86400, 28800 par défaut). |
max_instances_per_user | int | 3 | non | Instances en cours par utilisateur (1 à 20, 3 par défaut) ; celles endormies ou en échec ne comptent pas. |
max_instances_per_project | int | 20 | non | Instances en cours par projet (1 à 200, 20 par défaut). |
Retour : Any. Réponse JSON décodée de l'opération « Définir la politique du runtime MCP d'un projet ».
Erreurs levées : les erreurs typées du transport (Erreurs).
McpRuntimeClient.start_instance
start_instance(project_id: str, instance_id: str) -> Any
Redémarrer une instance endormie ou en échec. Redémarre maintenant une instance endormie ou en échec (compteur de pannes remis à zéro) : modèle et politique du projet revérifiés, nouvelle génération et nouveaux identifiants ; prête quand ToolHive la signale Ready (lisez l'instance pour la suivre). 409 mcp_instance_busy pendant une autre opération de cycle de vie. Permis pour son propriétaire, tenant_admin et security_officer ; demande la relation ReBAC viewer sur le projet. Renvoie l'instance et son journal (202).
Route : /v1/projects/{project_id}/mcp/instances/{instance_id}/start (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project_id | str | oui | Identifiant (UUID) ou slug du projet. | |
instance_id | str | oui | Identifiant (UUID) de l'instance. |
Retour : Any. Réponse JSON décodée de l'opération « Redémarrer une instance endormie ou en échec ».
Erreurs levées : les erreurs typées du transport (Erreurs).
McpRuntimeClient.stop_instance
stop_instance(project_id: str, instance_id: str) -> Any
Endormir une instance MCP. Arrête l'instance maintenant (identifiants révoqués, ressources supprimées) : elle s'endort, son entrée de passerelle reste et son prochain appel la recrée. Permis pour son propriétaire, tenant_admin et security_officer ; demande la relation ReBAC viewer sur le projet. Renvoie l'instance et son journal.
Route : /v1/projects/{project_id}/mcp/instances/{instance_id}/stop (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
project_id | str | oui | Identifiant (UUID) ou slug du projet. | |
instance_id | str | oui | Identifiant (UUID) de l'instance. |
Retour : Any. Réponse JSON décodée de l'opération « Endormir une instance MCP ».
Erreurs levées : les erreurs typées du transport (Erreurs).