io.enterpriseai.resources.McpRuntimeClient
Source : sdks/java/enterprise-ai-java/src/main/java/io/enterpriseai/resources/McpRuntimeClient.java. Retour à l'index de la référence du SDK Java.
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.
Constructeur McpRuntimeClient
McpRuntimeClient(Transport transport)
Crée le client sur le transport partagé ; EnterpriseAIClient le construit, on y accède par l'accesseur du même nom.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
transport | Transport | oui | Transport partagé par les sous-clients d'un même client. |
McpRuntimeClient.createInstance
JsonNode createInstance(String projectId, Object body)
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 |
|---|---|---|---|---|
projectId | String | oui | Identifiant (UUID) ou slug du projet. | |
body | Object | oui | Modèle, nom, paramètres, identifiant personnel, agents, outils permis et temps d'inactivité. |
Retour : JsonNode. 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.destroyInstance
JsonNode destroyInstance(String projectId, String instanceId)
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 |
|---|---|---|---|---|
projectId | String | oui | Identifiant (UUID) ou slug du projet. | |
instanceId | String | oui | Identifiant (UUID) de l'instance. |
Retour : JsonNode. 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
JsonNode instance(String projectId, String instanceId)
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 |
|---|---|---|---|---|
projectId | String | oui | Identifiant (UUID) ou slug du projet. | |
instanceId | String | oui | Identifiant (UUID) de l'instance. |
Retour : JsonNode. 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
JsonNode instances(String projectId)
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 |
|---|---|---|---|---|
projectId | String | oui | Identifiant (UUID) ou slug du projet. |
Retour : JsonNode. 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.instances
JsonNode instances(String projectId, String status)
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 |
|---|---|---|---|---|
projectId | String | oui | Identifiant (UUID) ou slug du projet. | |
status | String | oui | Seulement les instances dans cet état : provisioning, ready, sleeping, failed, terminating ou terminated. |
Retour : JsonNode. 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
JsonNode jwks()
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 : JsonNode. 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.putPolicy
JsonNode putPolicy(String projectId, Object body)
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 |
|---|---|---|---|---|
projectId | String | oui | Identifiant (UUID) ou slug du projet. | |
body | Object | oui | La politique complète ; les champs omis prennent leur valeur par défaut. |
Retour : JsonNode. 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.startInstance
JsonNode startInstance(String projectId, String instanceId)
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 |
|---|---|---|---|---|
projectId | String | oui | Identifiant (UUID) ou slug du projet. | |
instanceId | String | oui | Identifiant (UUID) de l'instance. |
Retour : JsonNode. 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.stopInstance
JsonNode stopInstance(String projectId, String instanceId)
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 |
|---|---|---|---|---|
projectId | String | oui | Identifiant (UUID) ou slug du projet. | |
instanceId | String | oui | Identifiant (UUID) de l'instance. |
Retour : JsonNode. Réponse JSON décodée de l'opération « Endormir une instance MCP ».
Erreurs levées : les erreurs typées du transport (Erreurs).