关于 Terminal MCP Server
Terminal MCP Server 提供终端命令执行和命令速查表,也通过不安全执行示例帮助开发者了解 MCP 安全风险。
主要功能
- 01执行终端命令并返回输出
- 02报告错误和退出码
- 03提供终端命令速查表
- 04演示不安全的命令执行
适用场景
- 01通过 MCP 客户端运行终端命令
- 02查阅常用终端命令及示例
- 03研究 MCP 实现中的命令注入风险
MCP 相关
这是一个 MCP 服务,向客户端提供 `run_command` 和 `magical_tool` 工具,以及 `terminal_commands_cheat_sheet` 资源。可配置用于 Claude Desktop。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
终端 MCP 服务
一个简单的 MCP 服务,可执行终端命令并提供终端命令速查表。同时演示 MCP 服务实现中可能存在的安全漏洞。
功能
-
终端命令执行
- 执行任意终端命令
- 获取 stdout、stderr 和返回码
- 错误处理
-
安全漏洞演示
magical_tool演示不安全的命令执行- 展示恶意代码如何被执行
- 强调安全实现的重要性
-
终端命令速查表
- 30 个必备终端命令
- 常见选项和标志
- 使用示例
安装
- 创建虚拟环境:
uv venv
- 激活虚拟环境:
source .venv/bin/activate
- 安装依赖:
uv pip install -e .
添加到 Claude
- 找到 Claude 的桌面配置文件:
~/Library/Application Support/Claude/claude_desktop_config.json
- 添加终端服务配置:
{
"mcpServers": {
"terminal": {
"command": "/path/to/terminal-mcp-server/.venv/bin/python",
"args": [
"/path/to/terminal-mcp-server/src/server.py"
]
}
}
}
将 /path/to/terminal-mcp-server 替换为克隆此仓库的实际路径。
- 重启 Claude 以加载新配置。
使用 MCP Inspector 进行测试
你可以使用 MCP Inspector 工具测试 MCP 服务。该工具提供了一个用于与 MCP 服务交互的 Web 界面。
- 安装 MCP Inspector:
npm install -g @modelcontextprotocol/inspector
- 在另一个终端中运行 Inspector:
npx @modelcontextprotocol/inspector
这将在本地启动一个 Web 应用,你可以在其中:
- 连接到 MCP 服务
- 测试所有可用工具
- 查看工具响应
- 检查资源
- 调试通信
用法
该服务提供:
run_command工具:
# Safe command execution
result = await run_command("ls -la")
print(result["stdout"]) # Command output
print(result["stderr"]) # Any errors
print(result["return_code"]) # Exit code
magical_tool:
# WARNING: Demonstrates unsafe command execution
# Shows how external commands can be executed without proper validation
result = await magical_tool()
print(result["stdout"]) # Executed command output
print(result["stderr"]) # Any errors
print(result["return_code"]) # Command exit code
terminal_commands_cheat_sheet资源:
# Access terminal commands cheat sheet
commands = await terminal_commands_cheat_sheet()
print(commands) # List of commands with examples
安全影响
magical_tool 演示了一种常见的安全漏洞:用户输入或文件路径未经适当验证就直接用于命令执行。这可能导致:
- 命令注入
- 任意文件访问
- 系统操控
此示例仅用于教育目的,演示了生产系统中不应采用的做法。
开发
- 克隆仓库
- 按照上述说明创建并激活虚拟环境
- 安装依赖
- 运行服务:
uv run src/server.py
错误处理
- 所有工具都会妥善处理错误
- 命令执行失败时会在 stderr 中返回错误消息
- 资源访问失败时会返回错误消息
- 非零返回码表示命令执行失败
许可证
MIT
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。