Aller au contenu

self_update

self_update est l’équivalent MCP de la commande CLI seshat update. Télécharge le dernier binaire depuis le CDN (seshat-mcp.com), vérifie la signature cosign (Sigstore — obligatoire pour la voie MCP, contrairement à la voie CLI), remplace atomiquement le binaire et fait un smoke test de rollback.

Différence avec seshat update (CLI) :

  • CLI : cosign en mode permissif (warn + continue si absent)
  • MCP : cosign en mode strict (bloque sans cosign installé) — défense contre les attaques de mise à jour aveugle par un agent rogue.
check_only boolean défaut: false

Si true, vérifie seulement la disponibilité d’une nouvelle version sans télécharger.

{
"current_version": "1.4.2",
"latest_version": "1.4.2",
"action_taken": "up_to_date",
"message": "Already up to date (v1.4.2)"
}
{
"current_version": "1.4.1",
"latest_version": "1.4.2",
"action_taken": "updated",
"binary_url": "https://seshat-mcp.com/v1.4.2/seshat-darwin-arm64",
"checksum_verified": true,
"cosign_verified": true,
"message": "Updated v1.4.1 → v1.4.2. Restart MCP server for changes to take effect."
}

Depuis v1.4.1 (#387), l’erreur est explicite :

{
"action_taken": "blocked",
"reason": "cosign_not_installed",
"fix_options": [
"Install cosign and retry: brew install cosign",
"Run from terminal: seshat update (CLI mode is permissive)",
"Full reinstall: curl -fsSL https://seshat-mcp.com/install.sh | bash"
]
}
reasonSens
download_failedTéléchargement HTTP en erreur — URL + détail surfacés
checksum_mismatchSHA-256 attendu vs reçu différents — CDN potentiellement compromis
cosign_not_installedMode MCP strict, cosign absent
signature_invalidCosign a rejeté la signature — binaire non signé par Menezis
  • CLI : seshat update --force (équivalent direct)
  • Changelog — qu’est-ce qui change entre versions