Documentation

Coroid en tant que serveur MCP

Connectez Hermes, Codex, Claude Code ou tout autre client MCP et travaillez avec Coroid via des outils gouvernés.

Coroid expose un serveur Model Context Protocol (MCP) distant. Un assistant ou un agent externe, comme Hermes, Codex ou Claude Code, peut l'utiliser pour travailler avec Coroid via le même registre d'outils gouvernés que celui employé par l'assistant de chat.

Configurez-le sous Paramètres → Connexions → Coroid MCP server, ce qui couvre Aperçu, Configuration du client, Jeton d'accès, Approbations et Politiques d'automatisation.

Le point de terminaison

Le serveur MCP fonctionne sur le gateway API, à cette adresse :

https://api.coroid.ai/mcp

Le transport utilisé est le HTTP streamable sans état. L'authentification se fait via OAuth ou un jeton d'accès personnel.

Ce qui est activé

Coroid active les fonctionnalités MCP par étapes, pour chaque organisation en même temps.

FonctionnalitéSur coroid.ai
Connexion OAuthActivé
Lire les outilsActivé
Jeton d'accès personnelActivé
Outils qui créent, modifient, exécutent ou livrent du travailActivé
Outils d'administration, y compris les Paramètres de l'organisationPas encore

Tant qu'une fonctionnalité n'est pas activée, les clients ne voient pas ses outils et Coroid rejette les appels les concernant. Le reste de cette page décrit l'ensemble complet.

Connecter un client

Utilisez OAuth si votre client le prend en charge. Vous approuvez la connexion dans votre navigateur et pouvez la révoquer à tout moment. Les jetons d'accès expirent après 15 minutes et les jetons de rafraîchissement après 30 jours ; chaque rafraîchissement remplace le jeton de rafraîchissement.

Le client demande des scopes lors de la connexion. Avant de valider, vous voyez les scopes et choisissez si le client peut accéder à tous les projets ou seulement à certains. Un client qui ne demande aucun scope n'a qu'un accès en lecture ; demandez donc les scopes dont vous avez besoin, comme le fait l'exemple de Codex.

Hermes

hermes mcp add coroid --url https://api.coroid.ai/mcp --auth oauth
hermes mcp login coroid
hermes mcp test coroid

Au lieu de cela, utilisez un jeton d'accès :

hermes mcp add coroid --url https://api.coroid.ai/mcp --auth header

Donnez le jeton à Hermes lorsqu'il en fait la demande. Conservez-le dans le magasin de credentials d'Hermes plutôt que dans son fichier de configuration.

Codex

codex mcp add coroid --url https://api.coroid.ai/mcp
codex mcp login coroid --scopes mcp.read,mcp.work.write,mcp.execute,mcp.delivery

Au lieu de cela, utilisez un jeton d'accès :

export COROID_MCP_TOKEN="cmp_pat_…"
codex mcp add coroid --url https://api.coroid.ai/mcp --bearer-token-env-var COROID_MCP_TOKEN

Claude Code

claude mcp add --transport http --scope user coroid https://api.coroid.ai/mcp
/mcp

Exécutez la première commande dans votre terminal. Ensuite, tapez la seconde dans Claude Code, sélectionnez coroid et connectez-vous via votre navigateur.

Au lieu de cela, utilisez un jeton d'accès :

export COROID_MCP_TOKEN="cmp_pat_…"
claude mcp add --transport http --scope user --header "Authorization: Bearer $COROID_MCP_TOKEN" coroid https://api.coroid.ai/mcp

Autres clients

Tout client prenant en charge les serveurs MCP distants via Streamable HTTP peut se connecter. Coroid publie les métadonnées OAuth pour le point de terminaison et prend en charge l'enregistrement dynamique de clients avec PKCE. Un client sans OAuth peut envoyer un jeton d'accès en tant que jeton porteur dans cet en-tête : Authorization.

Avant qu'un agent ne modifie quoi que ce soit, demandez-lui de lister les outils de Coroid et de lire cette ressource : coroid://context. Il indique sous quel nom l'agent agit, ainsi que les scopes et projets concernés.

Jeton d'accès

Les jetons sont créés et gérés sous Jeton d'accès. Comme toute autre credential, ils sont affichés une seule fois et ne sont jamais renvoyés par la suite.

Émettez un jeton par client plutôt que de partager un seul. Révoquer l'accès d'un client unique constitue alors une action isolée plutôt qu'une panne affectant tout le monde.

Un jeton agit au nom de la personne qui l'a créé, et seule une personne connectée au portail peut en créer un. Chaque jeton possède ses propres scopes, expire après 30, 90 ou 365 jours, et couvre tous les projets ou uniquement ceux que vous sélectionnez. Un propriétaire peut également y associer une politique d'automatisation. Tous les jetons commencent par le même préfixe : cmp_pat_.

Stockez le jeton dans l'environnement de votre client ou dans un magasin de données d'identification. Ne l'inscrivez jamais dans un dépôt ni dans une invite.

Scopes et rôles

Un scope définit les actions autorisées pour une connexion. Votre rôle au sein de l'organisation fixe la limite : un outil nécessite à la fois son scope et au moins son rôle. Coroid vérifie votre rôle actuel à chaque appel, afin qu'une connexion ne conserve jamais des droits dont vous avez perdu l'accès.

ScopeCe qu'il débloqueRôle le plus bas
mcp.readLecture des projets, tâches, plans, sprints, rapports, dépendances, capacité, exécutions d'agents, voies d'usine, promotions et versionsRéviseur
mcp.work.writeCréation et modification des tâches, plans, sprints, dépendances et rapportsMembre
mcp.executeDémarrage, arrêt, nouvelle tentative, mise en pause, reprise et annulation des travauxMembre
mcp.deliveryApprobation des plans, clôture des sprints, promotions, validation des voies et versionsMembre
mcp.projects.adminCréation, mise à jour, archivage et restauration des projets, ainsi que gestion des versionsAdministrateur
mcp.schedules.adminLecture, création, mise à jour, déclenchement et suppression des planningsAdministrateur
mcp.integrations.adminLecture, test, activation/désactivation et suppression des intégrationsAdministrateur
mcp.secrets.writeCréation d'intégrations contenant des données d'identificationPropriétaire
mcp.organization.adminMembres, invitations, profil d'organisation et Paramètres de l'organisationPropriétaire
mcp.billing.readRéservé. Aucun outil ne l'utilise encore.—
mcp.billing.writeRéservé. Aucun outil ne l'utilise encore.Propriétaire

Seul un administrateur ou un propriétaire peut accorder un scope dont le rôle le plus bas est Administrateur. Seul un propriétaire peut accorder un scope dont le rôle le plus bas est Propriétaire.

Une connexion limitée à certains projets ne peut pas accéder aux éléments d'autres projets, même via l'ID d'une tâche, d'un plan, d'un sprint, d'un rapport ou d'une version. Elle ne peut pas non plus utiliser les outils valables pour toute l'organisation, tels que ceux-ci : list_plans, get_capacity_dashboard.

Outils

Votre client n'affiche que les outils activés et autorisés selon vos scopes et votre rôle. La colonne d'approbation indique ce qui se passe lors de l'appel à un outil :

ApprobationCe qui se passe
AucunL'outil s'exécute immédiatement
PolitiqueL'appel attend l'approbation, sauf si une politique d'automatisation s'applique.
ToujoursL'appel attend systématiquement l'approbation d'un propriétaire ou d'un administrateur.

Lecture

Ces outils requièrent le rôle de Réviseur et ce scope : mcp.read. Aucun d'entre eux n'a besoin d'approbation.

ZoneOutils
Projetslist_projects, get_project, get_project_dependencies, list_project_branches
Tâcheslist_tasks, get_task, get_workflow_status, get_execution_status, check_task_can_start
Planslist_plans, get_plan, get_plan_progress, list_plan_tasks
Sprintslist_sprints, get_sprint, get_sprint_status
Dépendancesanalyze_dependencies, get_dependency_graph, get_global_dependency_graph, get_cross_project_blockers
Rapportslist_reports, get_report, export_report, explain_report_execution, list_report_folders, list_report_subscriptions, list_report_templates
Capacité et activitéget_capacity_dashboard, get_queue_eta, get_mission_control_activity, get_global_execution_stats, get_global_execution_actions, list_global_execution_runs
Exécution des agentslist_agent_executions, get_agent_execution, get_agent_execution_state, get_execution_conversation, list_tool_executions
Voies et promotions de l'Usinelist_factory_lanes, get_factory_lane, list_factory_lane_tasks, get_factory_lane_gate_context, list_promotions, get_promotion
Historique du codeexplain_code

Pour en savoir plus sur les outils de versionnement, consultez Versions via MCP.

Création et modification du travail

Ces outils nécessitent le rôle Membre et ce Scope : mcp.work.write.

ZoneOutilsApprobation
Tâchescreate_task, update_taskAucun
Planscreate_plan, update_planAucun
Plansdelete_planToujours
Sprintscreate_sprint, plan_sprint, add_task_to_sprintAucun
Sprintsremove_task_from_sprintToujours
Dépendancescreate_dependencyAucun
Rapportscreate_report, update_report, create_report_folder, update_report_folder, create_report_subscription, update_report_subscriptionAucun
Rapportsbatch_update_reports, delete_report, delete_report_folder, delete_report_subscriptionToujours

Le travail créé via MCP n'est pas soumis à la phase de qualification. Une demande de taille de plan envoyée à l'outil de tâches devient un plan brouillon plutôt qu'une tâche. Les plans créés via MCP démarrent sous forme de brouillons.

Exécution du travail

Ces outils nécessitent le rôle Membre et ce Scope : mcp.execute.

ZoneOutilsApprobation
Tâchesstart_task_execution, retry_task_executionPolitique
Tâchesstop_task_executionToujours
Plansstart_planning_workflow, execute_plan, retry_plan_task_integrationPolitique
Planscancel_planToujours
Sprintsstart_sprintPolitique
Rapportspause_report, resume_report, cancel_report, retry_report_generationPolitique
Usinestart_global_execution, pause_global_execution, resume_global_execution, pause_factory_lane, resume_factory_lanePolitique
Usinecancel_global_execution, set_agent_execution_stateToujours

Livraison

Ces outils nécessitent le rôle Membre et ce Scope : mcp.delivery. Les versions disposent de leur propre section ci-dessous.

OutilsApprobation
approve_plan, close_sprint, create_promotion, approve_promotion, request_promotion_changes, validate_factory_lanePolitique
force_merge_promotionToujours

Administration

Ces outils modifient la configuration de l'organisation et de ses Projets.

OutilsScopeRôle le plus basApprobation
create_project, update_project, restore_projectmcp.projects.adminAdministrateurAucun
archive_projectmcp.projects.adminAdministrateurToujours
list_schedules, get_schedule, create_schedule, update_schedulemcp.schedules.adminAdministrateurAucun
trigger_schedulemcp.schedules.adminAdministrateurPolitique
delete_schedulemcp.schedules.adminAdministrateurToujours
list_integrations, get_integrationmcp.integrations.adminAdministrateurAucun
test_integrationmcp.integrations.adminAdministrateurPolitique
set_integration_status, delete_integrationmcp.integrations.adminAdministrateurToujours
create_integrationmcp.secrets.writePropriétaireToujours
list_organization_members, list_organization_invitationsmcp.organization.adminPropriétaireAucun
invite_organization_member, update_organization_member_role, remove_organization_member, revoke_organization_invitation, update_organizationmcp.organization.adminPropriétaireToujours

Paramètres de l'organisation

Un agent tel que Hermes peut configurer une organisation à partir de captures d'écran, de fichiers ou d'une description. Il lit le format des paramètres de Coroid, rédige son contenu dans un bundle, prévisualise ce dernier puis l'applique. Ces outils nécessitent le rôle de Propriétaire et ce Scope : mcp.organization.admin.

OutilFonctionnalitéApprobation
describe_organization_settings_schemaRenvoie le format des paramètres, ses sections et les indications de mappageAucun
export_organization_settingsExporte les paramètres actuels, avec les secrets sous forme de placeholdersAucun
preview_organization_settings_importAffiche les modifications apportées par un bundle sans effectuer d'écritureAucun
apply_organization_settings_importApplique un bundle, qui est fusionné avec les paramètres actuels par défaut ou les remplaceToujours

Un bundle contient des placeholders au lieu de valeurs secrètes, et Coroid rejette tout bundle incluant un secret. Voir Exporter et importer les paramètres.

Versions via MCP

Les outils de version sont les mêmes que ceux utilisés par l'assistant Chat et passent par la même Version API que le portail :

OutilPortéeApprobation
list_releases, get_release, list_release_commits, preview_release, get_release_settings, list_release_pull_requestsmcp.readAucun
create_release, update_release, run_release_checks, draft_release_notesmcp.deliveryAucun
approve_release, request_release_deployment, bundle_release_pull_requestsmcp.deliveryToujours
update_release_versioningmcp.projects.adminAucun

create_release accepte un hachage de commit complet, un hachage court d'un commit récent, ou latest, et laisse la version au soin de la source de version du projet sauf si vous en spécifiez une. get_release indique, par environnement, les vérifications, la dernière déploiement, la version signalée par votre pipeline et si Coroid a confirmé la version en cours d'exécution. Un jeton limité à certains projets ne peut pas accéder aux versions d'autres projets. La Version API applique toujours ses propres règles d'approbation ; une approbation via MCP compte donc exactement comme une approbation dans le portail.

list_release_pull_requests Renvoie les demandes de fusion ouvertes du projet dans l'ordre proposé par Coroid, en indiquant la raison de leur exclusion éventuelle. bundle_release_pull_requests crée une version à partir de ces éléments : une branche de version avec les pull requests fusionnées dans l’ordre et un pull request de version. Cela pousse une branche et ouvre un pull request, et attend donc toujours l’intervention d’une personne. Omettre prNumbers Utilisez la sélection effectuée par Coroid.

Approbations et politiques d'automatisation

Approbations représente une file d'attente d'actions en attente d'approbation humaine. Politiques d'automatisation déterminent ce qui doit figurer dans cette file d'attente.

C'est le contrôle essentiel. Un client externe agissant en votre nom doit pouvoir effectuer librement les tâches routinières et uniquement les actions importantes avec l'accord d'une personne. Définissez les politiques avant de confier un jeton à tout élément s'exécutant sans surveillance.

Lorsqu'un appel nécessite une approbation, le client reçoit un identifiant d'approbation et un lien au lieu d'un résultat. Le propriétaire ou l'administrateur examine l'outil et les arguments exacts, puis approuve ou rejette l'appel. L'approbation exécute l'appel tel qu'il a été formulé, et le client ne peut plus le modifier par la suite. Un appel non approuvé dans les 10 minutes expire.

Une politique d'automatisation permet à un jeton d'accès d'exécuter des outils marqués « Policy » sans attendre d'approbation. Seuls les propriétaires peuvent créer des politiques et les associer à des jetons. Une politique précise les outils exacts, peut être limitée à certains projets et fixe un plafond pour le nombre d'appels par heure, par jour et simultanément. Elle peut également expirer. Révoquer une politique revoque tous les jetons qui y sont associés. Les outils marqués « Always » ne sont jamais couverts par une politique.

Une connexion OAuth ne peut pas porter de politique. Via OAuth, tout outil marqué « Policy » attend une approbation.

Tentatives, opérations et ressources

Chaque outil qui modifie quelque chose requiert ce paramètre : idempotencyKey. Utilisez une nouvelle clé pour chaque nouvelle action, et la même clé lors d'une nouvelle tentative. Coroid renverra alors le premier résultat au lieu d'agir deux fois. Une clé réutilisée avec des arguments différents sera refusée.

Une modification renvoie également une opération qui enregistre son état et son résultat. Ces quatre outils fonctionnent pour toute connexion :

OutilFonctionnalité
get_operationRenvoie l'état et le résultat d'une opération
wait_for_operationAttend jusqu'à 25 secondes que l'état d'une opération change
cancel_operationAnnule une opération qui n'a pas encore commencé
get_approvalRenvoie l'état et le résultat d'une approbation

Le serveur fournit également ces ressources :

RessourceContenu
coroid://contextIdentité sous laquelle la connexion agit, avec son rôle, ses scopes et ses projets
coroid://capabilitiesOutils auxquels cette connexion peut accéder
coroid://operations/{operationId}Une opération
coroid://approvals/{approvalId}Une approbation

Il propose également trois invites : create_and_run_task, investigate_failure, prepare_release.

Chaque outil possède des limites par minute, par heure et par jour. Un appel dépassant ces limites échouera et indiquera le temps d'attente avant une nouvelle tentative.

Ce qu'il n'expose pas délibérément

Le registre d'outils est réglementé, et ces exclusions sont intentionnelles. Il ne fournit aucun de ces éléments :

  • un shell
  • l'accès Git
  • le système de fichiers
  • l'accès brut à la base de données
  • HTTP interne arbitraire
  • les outils d'administration MCP sortants propres à Coroid

Vous obtenez la possibilité de gérer le travail — créer et consulter des tâches, plans, projets et versions — pas un environnement d'exécution à distance. Un client MCP ne peut pas utiliser Coroid pour exécuter des commandes arbitraires.

À quoi cela sert-il ?

Utiliser Coroid depuis l'endroit où vous travaillez déjà : un éditeur, un assistant ou un outil interne, sans avoir à basculer vers le portail. Créer une tâche depuis votre terminal ou demander à un assistant de vérifier ce qui est bloqué devient une action locale.