使用说明
shell-mcp
Give your AI a real terminal. One command. Zero config.
Works with Claude Desktop · Cursor · Windsurf · Zed · Cline · any MCP client
太长,读不下去了
你的AI可以编写代码,但不能运行它。 壳牌mcp 给它一个终端。
npx -y @shell-mcp/mcp-lite --init重新启动您的AI应用程序。完成。你的人工智能现在可以运行命令、安装软件包、使用git、启动服务器、运行测试——你在终端中所做的一切。
演示
Claude Desktop using shell-mcp to read files, analyze data, and generate a chart — all through natural conversation.
问题
您正在使用Claude Desktop,并要求您的AI:
- “运行我的测试”
- “安装该软件包”
- “检查git状态”
- “启动开发服务器”
不行。 它没有终端。你最终会像2005年一样来回复制粘贴命令。
修复
npx -y @shell-mcp/mcp-lite --init
这是字面意思。这一个命令:
- 自动检测您安装了哪些AI应用程序
- 自动配置它们
- 没有要编辑的JSON,也没有要查找的配置文件
只需重新启动您的AI应用程序。它现在有一个终端。
shell-mcp -- init
-----------------
Claude Desktop + Added
Cursor + Added
Windsurf + Added
Restart your clients to activate.
你的AI现在能做什么?
您可以在终端中执行的任何操作:
"Run npm install" ✓
"Start the dev server" ✓
"Run the test suite" ✓
"Check git status and commit" ✓
"List all running processes" ✓
"Create a new React project" ✓
"Build and deploy" ✓
"SSH into the server" (if you want) ✓
命令之间的状态保持不变-- cd、环境变量, nvm use, conda activate 所有的延续。就像一个真正的终端。
5个工具。这就是它所需要的。
大多数MCP服务器都提供AI 20+工具。我们给它5。这就是为什么这样更好。
| 工具 | 为什么存在 |
|---|---|
run_command |
主力。运行任何shell命令——git、npm、curl、docker、make、任何东西。你的AI已经知道如何使用终端。 |
write_file |
Shell在编写文件(引用、转义、多行)方面很糟糕。这是可靠的。 |
read_file |
读取文件而无需编码麻烦。比 cat. |
get_audit_log |
每个命令都会被记录下来。你的AI可以查看发生了什么。 |
get_safety_config |
显示有效的安全规则。只读——人工智能无法改变它们。 |
为什么不多? 你的AI已经知道了 git status, ls -la, ps aux, kill。将它们包装在自定义工具中会增加复杂性,但没有价值。给它一个终端,让开。
安全第一
你的AI有一个终端,但它不是无监督的。命令已检查 之前 他们执行。
已阻止(从不运行)
rm -rf / · DROP DATABASE · curl ... | bash
format C: · dd of=/dev/sda · :(){ :|:& };:
警告(带着旗帜奔跑)
sudo ... · rm -rf · git push --force
kill -9 · shutdown · chmod 777
每个命令(被阻止或执行)都会记录到 ~/.shell-mcp/logs/audit.jsonl.
把它锁起来
想要限制你的AI可以运行什么?使用同种异体:
{
"mcpServers": {
"shell-mcp": {
"command": "npx",
"args": ["-y", "@shell-mcp/mcp-lite"],
"env": {
"SHELL_MCP_ALLOWLIST": "npm.*,git.*,node.*",
"SHELL_MCP_DEFAULT_DENY": "true"
}
}
}
}
现在只有 npm, git,以及 node 命令是允许的。其他一切都被封锁了。
智能超时
其他工具杀人 npm install 由于固定超时,30秒后。我们没有。
Others: |---- 30s fixed ---------| KILL (npm install dies mid-download)
shell-mcp: |-- 15s --| reset |-- 15s --| reset |-- 15s --| done
^ output ^ output ^ output
超时 每次产生输出时重置。只有在完全静音15秒或绝对上限为5分钟后,您的命令才会失效。
适用于所有地方
| 平台 | 默认外壳 | 状态 |
|---|---|---|
| macOS | zsh | 支持 |
| Linux | bash | 支持 |
| Windows | PowerShell | 支持 |
零本地依赖。不需要构建工具。只有Node.js 20+。
配置(全部可选)
shell mcp开箱即用。仅在需要时进行自定义。
| 变量 | 默认值 | 它的作用 |
|---|---|---|
SHELL_MCP_CWD |
当前目录 | 会话的起始目录 |
SHELL_MCP_SHELL |
自动检测 | 强制外壳(bash, zsh, powershell.exe) |
SHELL_MCP_MAX_SESSIONS |
10 |
最大并行会话数 |
SHELL_MCP_BLOCKLIST |
内置 | 额外的阻塞模式(逗号分隔正则表达式) |
SHELL_MCP_ALLOWLIST |
none | 只允许这些命令(逗号分隔的正则表达式) |
SHELL_MCP_DEFAULT_DENY |
false |
阻止所有不在allowlist中的内容 |
SHELL_MCP_AUDIT |
true |
启用/禁用审核日志记录 |
将它们作为环境变量传递到MCP配置中:
{
"mcpServers": {
"shell-mcp": {
"command": "npx",
"args": ["-y", "@shell-mcp/mcp-lite"],
"env": {
"SHELL_MCP_CWD": "/path/to/project",
"SHELL_MCP_SHELL": "bash"
}
}
}
}
手动设置
如果 --init 无法检测到您的客户端,或者您更喜欢手动配置:
Claude Desktop
配置文件位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 视窗:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
将以下内容添加到文件中:
{
"mcpServers": {
"shell-mcp": {
"command": "npx",
"args": ["-y", "@shell-mcp/mcp-lite"]
}
}
}
Cursor
配置文件: ~/.cursor/mcp.json
{
"mcpServers": {
"shell-mcp": {
"command": "npx",
"args": ["-y", "@shell-mcp/mcp-lite"]
}
}
}
Windsurf
配置文件: ~/.windsurf/mcp.json
{
"mcpServers": {
"shell-mcp": {
"command": "npx",
"args": ["-y", "@shell-mcp/mcp-lite"]
}
}
}
它是如何工作的(对于好奇的人)
You ask: "Run my tests"
|
v
AI calls run_command("npm test")
|
v
Safety check (blocked? warned? ok?)
|
v
Execute in persistent shell session
(state carries over between commands)
|
v
Smart timeout (auto-extends while output flows)
|
v
Log to audit trail --> return result to AI
|
v
AI reads output, decides what to do next
没有PTY。没有本机依赖关系。只需清洁stdin/stdout管道。
贡献
我们欢迎捐款!看 贡献.md 作为指导方针。
git clone https://github.com/psdlabs/shell-mcp.git
cd shell-mcp
pnpm install
pnpm build
packages/
core/ -- Session engine, safety, audit
mcp-lite/ -- MCP server (what users install)
常见问题解答
Is this safe?
对。破坏性命令在执行之前会被阻止。每个命令都会记录到审计跟踪中。你可以用同种异体进一步锁定它 DEFAULT_DENY 模式。人工智能不能修改安全规则——它们是只读的。
Does it work with [my AI client]?
如果您的客户端支持MCP(模型上下文协议),则是。这 --init 命令自动检测Claude Desktop、Cursor和Windsurf。对于其他命令,请手动添加JSON配置。
What if a command hangs?
智能超时处理它。如果一个命令在15秒内没有输出,它就会超时。还有一个5分钟的绝对上限。AI会得到一个明确的“超时”状态,并可以决定做什么。
Can I use it for CI/CD?
它专为交互式AI使用而设计,但没有什么能阻止你在自动化中使用它。只需为您的用例配置安全规则。
Do I need to install anything besides Node.js?
号码 npx 自动下载并运行它。你只需要Node.js 20或更高版本。
明星历史
如果这个项目对你有帮助,可以考虑给它一颗星。它帮助其他人找到它。
许可证
麻省理工学院——随心所欲。
Built by psdlabs · LinkedIn
Report a bug · Request a feature
