Skip to main content
Glama

ht-mcp

Rust License: Apache 2.0

A high-performance Rust implementation of a Model Context Protocol (MCP) server for headless terminal ht.

Features

  • šŸš€ Pure Rust: Single binary MCP server, no external dependencies

  • šŸ”— Direct Integration: Embed excellent ht headless terminal library for optimal performance

  • šŸ–„ļø Multi-Session: Concurrent terminal session management

  • 🌐 Web Interface: Optional live terminal preview

Related MCP server: MCP Shell Server

Demo

ht-mcp in Memex

ht-mcp in Memex

ht-mcp in Claude Code

ht-mcp in Claude Code

Installation

šŸŗ Homebrew (Recommended)

brew tap memextech/tap brew install ht-mcp

šŸ“¦ Pre-built Binaries

Download from releases:

# macOS Intel curl -L https://github.com/memextech/ht-mcp/releases/latest/download/ht-mcp-x86_64-apple-darwin -o ht-mcp # macOS Apple Silicon curl -L https://github.com/memextech/ht-mcp/releases/latest/download/ht-mcp-aarch64-apple-darwin -o ht-mcp # Linux curl -L https://github.com/memextech/ht-mcp/releases/latest/download/ht-mcp-x86_64-unknown-linux-gnu -o ht-mcp # Windows (PowerShell) curl.exe -L https://github.com/memextech/ht-mcp/releases/latest/download/ht-mcp-x86_64-pc-windows-msvc -o ht-mcp.exe # Make executable and install chmod +x ht-mcp && sudo mv ht-mcp /usr/local/bin/

šŸ¦€ Cargo

# From crates.io (stable) cargo install ht-mcp # From git (latest) cargo install --git https://github.com/memextech/ht-mcp

šŸ”§ Build from Source

git clone https://github.com/memextech/ht-mcp.git cd ht-mcp git submodule update --init --recursive cargo install --path .

See docs/INSTALLATION.md for detailed installation options.

MCP Tools

Tool

Description

Parameters

ht_create_session

Create new terminal session

command?

,

enableWebServer?

ht_send_keys

Send keystrokes to session

sessionId

,

keys[]

ht_take_snapshot

Capture terminal state

sessionId

ht_execute_command

Execute command and get output

sessionId

,

command

ht_list_sessions

List all active sessions

None

ht_close_session

Close terminal session

sessionId

Note: Parameters use camelCase (e.g., sessionId, enableWebServer) for MCP compatibility.

Configuration

Add to your MCP client configuration:

{ "mcpServers": { "ht-mcp": { "command": "ht-mcp", "args": ["--debug"] } } }

For custom installation paths:

{ "mcpServers": { "ht-mcp": { "command": "/path/to/ht-mcp", "args": [] } } }

Usage Example

# Start the MCP server ht-mcp # With debug logging ht-mcp --debug

Once configured in your MCP client:

  1. Create session: ht_create_session → Returns session ID

  2. Run commands: ht_execute_command with session ID and command

  3. Interactive input: ht_send_keys for multi-step interactions

  4. Check state: ht_take_snapshot to see current terminal

  5. Clean up: ht_close_session when finished

Response Format

This server returns human-readable text responses (not JSON), designed for natural language interaction:

# Create session response HT session created successfully! Session ID: abc123-def456-789... 🌐 Web server enabled! View live terminal at: http://127.0.0.1:3618
# Terminal snapshot response Terminal Snapshot (Session: abc123...) bash-3.2$ ls -la total 16 drwxr-xr-x 4 user staff 128 Jun 13 10:30 . -rw-r--r-- 1 user staff 45 Jun 13 10:30 file.txt bash-3.2$

Requirements

  • Rust: 1.75+ (install via rustup)

  • Supported OS: Linux, macOS, Windows (experimental)

Development

# Clone with submodules git clone --recursive https://github.com/memextech/ht-mcp.git cd ht-mcp # Build cargo build # Run cargo run # Test cargo test

Troubleshooting

Installation Issues:

  • Ensure Rust 1.75+ is installed

  • Check internet connection for git submodules

  • Verify ~/.cargo/bin is in PATH

Runtime Issues:

  • Use ht-mcp --debug for verbose logging

  • Check MCP client configuration syntax

  • Verify binary path: which ht-mcp

Performance

Compared to the original TypeScript implementation:

  • 40x faster startup (~50ms vs ~2s)

  • 70% less memory (~15MB vs ~50MB)

  • Single binary (4.7MB vs ~200MB Node.js)

  • Zero subprocess overhead

License

Apache 2.0 License

Copyright (c) 2025 Atlas Futures Inc.

See LICENSE for details.

Contributing

Contributions welcome! Please read CONTRIBUTING.md for guidelines.


Built with Memex✨

Fixed submodule commit reference

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/memextech/ht-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server