{
  "markdown": "## shell-use\n\nLet agents use the shell like a human.\n\n---\n\n### Features\n\n- Interact with any CLI application (vim, htop, gdb, etc.)\n- Send special keys (Ctrl+C, Enter, arrow keys, etc.)\n- Dockerized for easy deployment\n\n### Available Tools\n\n| Tool | Description |\n|------|-------------|\n| `list_sessions()` | Returns allowed session names |\n| `capture(session, scroll_back?)` | Captures terminal screen text |\n| `send_keys(session, keys)` | Sends key input (e.g., `Enter`, `C-c`) |\n| `send_text(session, text, enter?)` | Sends literal text (`enter=True` to press Enter) |\n| `scroll(session, direction, amount?)` | Scrolls through history |\n| `exit_scroll_mode(session)` | Exits copy-mode |\n\n---\n\n### Setup\n\n#### 1. Build the Docker image\n\n```bash\ndocker build -t shell-use:latest .\n```\n\n#### 2. Create a tmux session\n\n```bash\ntmux new-session -s dev\n```\n\n#### 2.1. Get the tmux socket path\n\n```bash\nSOCK=\"$(tmux display-message -p -F '#{socket_path}')\"\n[ -S \"$SOCK\" ] || { echo \"tmux socket not found: $SOCK\"; exit 1; }\n```\n\n#### 3. Configure your MCP client\n\n**Claude Code**:\n\n```bash\nclaude mcp add shell-use \\\n  -- docker run -i --rm \\\n  -v \"$SOCK\":/tmux/tmux.sock \\\n  -e SHELL_USE_SOCKET=/tmux/tmux.sock \\\n  -e SHELL_USE_SESSIONS=dev \\\n  shell-use:latest\n```\n\n**Claude Desktop** (`claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"shell-use\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\", \"-i\", \"--rm\",\n        \"-v\", \"/tmp/tmux-1000/default:/tmux/tmux.sock\",\n        \"-e\", \"SHELL_USE_SOCKET=/tmux/tmux.sock\",\n        \"-e\", \"SHELL_USE_SESSIONS=dev\",\n        \"shell-use:latest\"\n      ]\n    }\n  }\n}\n```\n\n> Replace `/tmp/tmux-1000/default` with the path from\n> `tmux display-message -p -F '#{socket_path}'`.\n\n---\n\n### Environment Variables\n\n| Variable | Description | Required |\n|----------|-------------|----------|\n| `SHELL_USE_SESSIONS` | Comma-separated list of allowed session names | Yes |\n| `SHELL_USE_SOCKET` | Path to tmux socket (default: `/tmux/tmux.sock` in Docker) | No |\n\n---\n\n### Acknowledgments\n\nInspired by [browser-use](https://github.com/browser-use/browser-use).\n",
  "bytes": 2111,
  "sha": "edae7ec725dc683c105adff5d57a1905b0573006760ba600c37aa626103d80cc",
  "repo_slug": "kyuheon-kr/shell-use",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_kyuheon_kr_shell_use_b42ae1a4/readme"
}