Aller au contenu principal

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.

remarque

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).

NomTypeDéfautRequisDescription
project_idstrouiIdentifiant (UUID) ou slug du projet.
templatestrouiModèle du catalogue : minuscules, chiffres et -, 1 à 63 caractères.
paramsdict[str, Any] | NoneNonenonParamè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.
namestr | NoneNonenonNom de l'instance, unique pour l'appelant dans le projet (même motif). Par défaut : le nom du modèle.
credential_refstr | NoneNonenonSecret personnel de l'utilisateur, openbao://... ou env://... (modèle à identifiants secret_ref).
agentslist[str] | NoneNonenonAgents (identifiants de principaux, 20 au plus) autorisés à appeler l'instance avec son propriétaire.
allowed_toolslist[str] | NoneNonenonOutils de l'instance qui peuvent être appelés (100 au plus). Par défaut ["*"].
idle_timeout_secondsint | NoneNonenonTemps 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).

NomTypeDéfautRequisDescription
project_idstrouiIdentifiant (UUID) ou slug du projet.
instance_idstrouiIdentifiant (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).

NomTypeDéfautRequisDescription
project_idstrouiIdentifiant (UUID) ou slug du projet.
instance_idstrouiIdentifiant (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).

NomTypeDéfautRequisDescription
project_idstrouiIdentifiant (UUID) ou slug du projet.
statusstr | NoneNonenonSeulement 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).

NomTypeDéfautRequisDescription
project_idstrouiIdentifiant (UUID) ou slug du projet.
allowed_templateslist[str] | NoneNonenonModèles que les utilisateurs peuvent démarrer (100 au plus). Vide (par défaut) : tous les modèles du catalogue.
allowed_hostslist[str] | NoneNonenonHô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_roleslist[str] | NoneNonenonRôles de base de données qu'un modèle peut utiliser (100 au plus). Vide (par défaut) : aucun.
idle_timeout_secondsint900nonTemps d'inactivité maximal avant qu'une instance ne s'endorme, en secondes (60 à 86400, 900 par défaut).
max_lifetime_secondsint28800nonDurée de vie maximale d'une génération en cours, en secondes (300 à 86400, 28800 par défaut).
max_instances_per_userint3nonInstances en cours par utilisateur (1 à 20, 3 par défaut) ; celles endormies ou en échec ne comptent pas.
max_instances_per_projectint20nonInstances 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).

NomTypeDéfautRequisDescription
project_idstrouiIdentifiant (UUID) ou slug du projet.
instance_idstrouiIdentifiant (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).

NomTypeDéfautRequisDescription
project_idstrouiIdentifiant (UUID) ou slug du projet.
instance_idstrouiIdentifiant (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).