libtmux-mcp server

officiel

Serveur MCP tmux propulsé par libtmux

Que pouvez-vous faire avec Libtmux MCP ?

  • Inspecter l'état de tmux — Demander un instantané en lecture seule des sessions, fenêtres ou volets via list_sessions, capture_pane ou get_pane_info.
  • Exécuter des commandes dans les volets — Demander à l'assistant d'exécuter des commandes shell ou d'envoyer des frappes clavier avec run_command ou send_keys, y compris des opérations par lots.
  • Gérer les objets tmux — Créer, diviser, redimensionner ou sélectionner des fenêtres et des volets à l'aide d'outils comme create_window, split_window ou select_pane.
  • Détruire les ressources tmux — Détruire des sessions, fenêtres, volets ou le serveur entier avec des outils destructeurs comme kill_session ou kill_server.
  • Supprimer l'historique du shell — Démarrer des sessions ou des fenêtres avec suppress_persistent_history=true pour garder les exécutions de tests hors de l'historique persistant du shell.

Documentation

libtmux-mcp¶

Contrôle de terminal pour agents IA, construit sur libtmux et FastMCP.

Ce serveur mappe la hiérarchie d'objets de tmux — sessions, fenêtres, panneaux — en outils MCP. Certains outils lisent l'état. D'autres le modifient. D'autres détruisent. La distinction est explicite et appliquée.

Avertissement

Pré-alpha. Les API peuvent changer. Retours bienvenus.

Claude Code Claude Desktop Codex CLI Gemini CLI Cursor Grok CLI Antigravity opencode

uvx pipx pip install

Configurer les délais de refroidissement ?

Local Utilisateur Projet

Utilisateur Projet

Utilisateur Projet

Projet Global

Utilisateur Projet

Projet Global

Utilisateur Projet

Avec uvx installé :

$ claude mcp add tmux -- uvx libtmux-mcp

Retour

Délais de refroidissement des dépendances

Utilisez la case Configurer les délais de refroidissement ci-dessus pour activer ou désactiver. Ces paramètres déterminent comment le délai de refroidissement se comporte une fois activé.

Que sont les délais de refroidissement ?

Les délais de refroidissement retardent la prise en charge des paquets nouvellement téléversés afin que la communauté ait le temps de repérer les attaques de la chaîne d'approvisionnement avant que vous n'installiez. La plupart des gestionnaires de paquets n'en appliquent pas par défaut — vous optez via un paramètre global dans la configuration de votre outil.

En savoir plus sur cooldowns.dev · article de Datadog Security Labs.


Démarrage rapide

Installez, connectez-vous, obtenez un premier résultat. Moins de 2 minutes.

Démarrage rapide

Outils

Chaque outil, regroupé par intention et niveau de sécurité.

Outils

Invites

Quatre recettes de workflow que le client rend pour le modèle.

Invites

Ressources

Vues instantanées de la hiérarchie tmux via les URI tmux://.

Ressources

Niveaux de sécurité

Lecture seule, mutation, destruction. Sachez ce qui change l'état.

Niveaux de sécurité

Configuration client

Blocs de configuration pour Claude Desktop, Claude Code, Cursor, et autres.

Clients MCP


Ce que vous pouvez faire¶

Inspecter en lecture seule¶

Lire l'état de tmux sans rien modifier.

list_sessions · capture_pane · capture_since · snapshot_pane · get_pane_info · find_pane_by_position · search_panes · wait_for_text · display_message · call_readonly_tools_batch

Agir en mutation¶

Créer ou modifier des objets tmux.

create_session · send_keys · send_keys_batch · run_command · paste_text · create_window · split_window · select_pane · select_window · move_window · resize_pane · pipe_pane · set_option · call_mutating_tools_batch

Détruire (destructif)¶

Démanteler des objets tmux. Non réversible.

kill_session · kill_window · kill_pane · kill_server · call_destructive_tools_batch

Exemple : garder les exécutions de tests hors de l'historique persistant¶

libtmux-mcp fournit une suppression d'historique au mieux pour Bash, Zsh et Fish. Les appels MCP à run_command utilisent une suppression de commande légère par défaut. Lorsque vous créez un nouveau shell, optez pour des contrôles plus stricts sans écriture sur disque avec suppress_persistent_history=true.

Invite

Créez une session tmux nommée « checks » avec des contrôles d'historique shell sans écriture sur disque au mieux, exécutez pytest -q dans son panneau initial, et montrez-moi le résultat.

L'agent appelle create_session avec suppress_persistent_history=true, réutilise active_pane_id depuis le SessionInfo retourné, et appelle run_command sans remplacement. La même option de lancement sur create_window, split_window, ou respawn_pane s'applique uniquement au processus que cet appel démarre.

Ces contrôles réduisent le bruit de l'historique ; ils ne rendent pas les commandes secrètes. Voir Suppression de l'historique pour le comportement spécifique au shell, Configuration pour la valeur par défaut du serveur, et Niveaux de sécurité pour d'autres surfaces d'observation.

Parcourir tous les outils →


Modèle mental¶

  • Hiérarchie d'objets — les sessions contiennent des fenêtres, les fenêtres contiennent des panneaux (Concepts)
  • Lecture vs. mutation — certains outils observent, certains agissent, certains détruisent (Niveaux de sécurité)
  • tmux est la source de vérité — le serveur lit depuis et écrit vers, ne met jamais en cache ni n'abstrait