ماذا يمكنك أن تفعل مع shell-use؟
- Interact with any CLI application (vim, htop, gdb, etc.)
- Send special keys (Ctrl+C, Enter, arrow keys, etc.)
- Dockerized for easy deployment
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
ghcr.io/kyuheon-kr/shell-use:1.0.0claude mcp add shell-use -e 'SHELL_USE_SESSIONS=<SHELL_USE_SESSIONS>' -e 'SHELL_USE_SOCKET=<SHELL_USE_SOCKET>' -- docker run -i --rm ghcr.io/kyuheon-kr/shell-use:1.0.0
{
"mcpServers": {
"shell-use": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/kyuheon-kr/shell-use:1.0.0"
],
"env": {
"SHELL_USE_SESSIONS": "<SHELL_USE_SESSIONS>",
"SHELL_USE_SOCKET": "<SHELL_USE_SOCKET>"
}
}
}
}
متغيرات البيئة
SHELL_USE_SESSIONSإلزامي Comma-separated list of allowed session namesSHELL_USE_SOCKETPath to tmux socket (default: /tmux/tmux.sock in Docker)
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
shell-use
Let agents use the shell like a human.
Features
- Interact with any CLI application (vim, htop, gdb, etc.)
- Send special keys (Ctrl+C, Enter, arrow keys, etc.)
- Dockerized for easy deployment
Available Tools
| Tool | Description |
|---|---|
list_sessions() | Returns allowed session names |
capture(session, scroll_back?) | Captures terminal screen text |
send_keys(session, keys) | Sends key input (e.g., Enter, C-c) |
send_text(session, text, enter?) | Sends literal text (enter=True to press Enter) |
scroll(session, direction, amount?) | Scrolls through history |
exit_scroll_mode(session) | Exits copy-mode |
Setup
1. Build the Docker image
docker build -t shell-use:latest .
2. Create a tmux session
tmux new-session -s dev
2.1. Get the tmux socket path
SOCK="$(tmux display-message -p -F '#{socket_path}')"
[ -S "$SOCK" ] || { echo "tmux socket not found: $SOCK"; exit 1; }
3. Configure your MCP client
Claude Code:
claude mcp add shell-use \
-- docker run -i --rm \
-v "$SOCK":/tmux/tmux.sock \
-e SHELL_USE_SOCKET=/tmux/tmux.sock \
-e SHELL_USE_SESSIONS=dev \
shell-use:latest
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"shell-use": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-v", "/tmp/tmux-1000/default:/tmux/tmux.sock",
"-e", "SHELL_USE_SOCKET=/tmux/tmux.sock",
"-e", "SHELL_USE_SESSIONS=dev",
"shell-use:latest"
]
}
}
}
Replace
/tmp/tmux-1000/defaultwith the path fromtmux display-message -p -F '#{socket_path}'.
Environment Variables
| Variable | Description | Required |
|---|---|---|
SHELL_USE_SESSIONS | Comma-separated list of allowed session names | Yes |
SHELL_USE_SOCKET | Path to tmux socket (default: /tmux/tmux.sock in Docker) | No |
Acknowledgments
Inspired by browser-use.
الأسئلة الشائعة
ما هو shell-use؟
Let agents use the shell like a human.
كيف أثبّت shell-use؟
يعمل على جهازك. في Claude Code: claude mcp add shell-use -e 'SHELL_USE_SESSIONS=<SHELL_USE_SESSIONS>' -e 'SHELL_USE_SOCKET=<SHELL_USE_SOCKET>' -- docker run -i --rm ghcr.io/kyuheon-kr/shell-use:1.0.0. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج shell-use إلى مفتاح API؟
نعم. يتطلب SHELL_USE_SESSIONS، وتضبطها في إعداداته.
هل shell-use مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص MIT.
من يصون shell-use؟
ينشره kyuheon-kr. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.