Skip to content

Serveur MCP — @spektrum/release-util-mcp

Vue d'ensemble

@spektrum/release-util-mcp est un serveur Model Context Protocol qui expose les opérations de release comme des outils typés à destination des agents IA (Claude Code, etc.). Il vit dans packages/mcp/ en tant que package workspace pnpm distinct.

Architecture en deux niveaux

Les outils de lecture seule importent directement le sous-chemin ./api du package principal (zéro sous-processus, typage complet). Les outils mutants délèguent au binaire CLI via un sous-processus car ils invoquent release-it et git push. Les releases prod sont volontairement exclues — une release de production doit être validée par un humain. Pour la même raison, hotfix --apply (qui pousse un tag prod et déclenche un déploiement en production) n'est pas exposé : seuls --start et --finish le sont.

Sous-chemin API du package principal

src/api.ts est un barrel qui ré-exporte : buildReleasePlan, parseReleaseSubject, runPreconditions, loadConfig, repoRoot, CliError, isCliError. Le build génère dist/api.js (esbuild) et dist/api.d.ts (tsc via tsconfig.build.json). Le package.json expose le sous-chemin avec la condition types.

Outils MCP

OutilEntréeSortieImplémentation
next_version`{ env: "staging""feature" }`{ version, bump, branchName }
preview_release`{ env: "staging""prod""feature" }`
detect_release{ tag: string }{ version, env, slug? }Bibliothèque
check_preconditions{}{ passed, checks[] }Bibliothèque
cut_staging_release{ bump?: boolean }{ version, mrUrl? }Sous-processus CLI
cut_feature_release{}{ version }Sous-processus CLI
start_hotfix{}{ version, branch }Sous-processus CLI
finish_hotfix{}{ mrUrl? }Sous-processus CLI

hotfix --apply (tag + déploiement production) est volontairement absent — étape humaine uniquement.

Configuration consommateur

json
{
  "mcpServers": {
    "release-util": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@spektrum/release-util-mcp"]
    }
  }
}

Contributors

No contributors

Changelog

No recent changes