libtmux-mcp server

ทางการ

เซิร์ฟเวอร์ MCP ของ tmux ที่ขับเคลื่อนโดย libtmux

คุณทำอะไรได้บ้างด้วย Libtmux MCP?

  • ตรวจสอบสถานะ tmux — ขอรายการเซสชัน จับภาพเอาต์พุตของแพน หรือค้นหาแพนเพื่อหาข้อความที่ต้องการ
  • จัดการโครงสร้าง tmux — เปลี่ยนชื่อเซสชัน ปรับขนาดแพน เลือกเลย์เอาต์ หรือย้ายหน้าต่างระหว่างเซสชัน
  • รันคำสั่งในแพน — สร้างเซสชัน/หน้าต่าง แยกแพน ส่งคีย์ หรือรันคำสั่งเชลล์
  • ควบคุมกระบวนการในแพน — วางข้อความหรือบัฟเฟอร์ ส่งเอาต์พุตของแพน หรือตั้งค่าตัวแปรสภาพแวดล้อมและตัวเลือก
  • ทำลายออบเจกต์ tmux — ล้างประวัติการเลื่อนของแพน ฆ่าเซสชัน/หน้าต่าง/แพน หรือลบบัฟเฟอร์
  • ระงับประวัติเชลล์ — สร้างเซสชันหรือหน้าต่างด้วยการควบคุมประวัติแบบไม่เขียนลงดิสก์เพื่อการทดสอบที่สะอาดขึ้น

เอกสาร

การควบคุมเทอร์มินัลสำหรับเอเจนต์ AI สร้างขึ้นบน libtmux และ FastMCP

เซิร์ฟเวอร์นี้แมปลำดับชั้นออบเจกต์ของ tmux — เซสชัน หน้าต่าง พาเนล — เป็นเครื่องมือ MCP ที่จัดกลุ่มตามการดำเนินการที่ร้องขอ เซิร์ฟเวอร์บังคับใช้กลุ่มที่เลือกไว้ที่ขอบเขตเครื่องมือ MCP

[!warning] คำเตือน ระยะพรีอัลฟา API อาจมีการเปลี่ยนแปลง ยินดีรับฟังความคิดเห็น

เมื่อติดตั้ง uvx แล้ว:

$ claude mcp add tmux -- uvx libtmux-mcp

เริ่มต้นอย่างรวดเร็ว

เริ่มต้นอย่างรวดเร็ว

เครื่องมือ

เครื่องมือ

พรอมต์

พรอมต์

ทรัพยากร

ทรัพยากร

โมเดลความเชื่อถือ

โมเดลความเชื่อถือ

การตั้งค่าไคลเอนต์

ไคลเอนต์ MCP


สิ่งที่คุณทำได้

ตรวจสอบ ตรวจสอบ

ร้องขอสถานะ tmux และเอาต์พุตเทอร์มินัล

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

จัดการ จัดการ

เปลี่ยนโครงสร้างหรือการนำเสนอของ tmux

rename_session · resize_pane · select_layout · select_pane · move_window · enter_copy_mode · load_buffer · wait_for_channel

ดำเนินการ ดำเนินการ

เริ่มหรือขับเคลื่อนกระบวนการในพาเนล หรือจัดเก็บสถานะที่สามารถควบคุมการดำเนินการในภายหลัง

create_session · create_window · split_window · respawn_pane · send_keys · send_keys_batch · run_command · paste_text · paste_buffer · pipe_pane · set_option · set_environment

รื้อถอน รื้อถอน

ลบออบเจกต์ tmux หรือ scrollback ที่เก็บไว้ ไม่สามารถย้อนกลับได้

clear_pane · kill_session · kill_window · kill_pane · kill_server · delete_buffer

ตัวอย่าง: เก็บการรันทดสอบให้อยู่นอกประวัติถาวร

libtmux-mcp ให้การระงับประวัติแบบ best-effort สำหรับ Bash, Zsh และ Fish การเรียก MCP ไปยัง run_command ใช้การระงับคำสั่งแบบเบาโดยค่าเริ่มต้น เมื่อคุณสร้างเชลล์ใหม่ ให้เลือกใช้การควบคุมแบบไม่เขียนดิสก์ที่เข้มงวดขึ้นด้วย suppress_persistent_history=true

[!note] พรอมต์ สร้างเซสชัน tmux ชื่อ "checks" พร้อมการควบคุมประวัติเชลล์แบบไม่เขียนดิสก์แบบ best-effort รัน pytest -q ในพาเนลเริ่มต้น และแสดงผลลัพธ์ให้ฉันดู

เอเจนต์เรียก create_session ด้วย suppress_persistent_history=true นำ active_pane_id กลับมาใช้จาก SessionInfo ที่ส่งคืน และเรียก run_command โดยไม่มีการแทนที่ ตัวเลือกการสร้างเดียวกันบน create_window, split_window หรือ respawn_pane ใช้กับกระบวนการที่การเรียกนั้นเริ่มต้นเท่านั้น

การควบคุมเหล่านี้ลดสัญญาณรบกวนในประวัติ แต่ไม่ได้ทำให้คำสั่งเป็นความลับ ดู การระงับประวัติ สำหรับพฤติกรรมเฉพาะเชลล์ การกำหนดค่า สำหรับค่าเริ่มต้นของเซิร์ฟเวอร์ และ โมเดลความเชื่อถือ สำหรับพื้นผิวการสังเกตอื่นๆ

เรียกดูเครื่องมือทั้งหมด →


โมเดลแนวคิด

  • ลำดับชั้นออบเจกต์ — เซสชันมีหน้าต่าง หน้าต่างมีพาเนล (แนวคิด)
  • ชุดเครื่องมือ — ตรวจสอบ จัดการ ดำเนินการ รื้อถอน; สิ่งที่แต่ละกลุ่มรวม (โมเดลความเชื่อถือ)
  • tmux คือแหล่งความจริง — เซิร์ฟเวอร์อ่านจากและเขียนไปยัง tmux ไม่เคยแคชหรือทำให้เป็นนามธรรม