基本能力
产品定位
MCP Terminal Server 是一个安全的终端执行服务器,旨在通过模型上下文协议(MCP)提供受控的命令执行能力。
核心功能
- 命令执行:执行 shell 命令并捕获输出和错误处理
- 安全控制:限制允许的命令并防止命令注入
- 资源控制:
- 命令超时
- 最大输出大小限制
- MCP 协议支持:
- 标准 MCP 消息格式
- 能力广告
- 流式输出支持
适用场景
- 在受控环境中执行 shell 命令
- 需要安全限制和资源控制的命令执行
- 与 MCP 兼容的应用程序集成
工具列表
- MCP Inspector:用于测试服务器实现的工具
- 能力:测试服务器功能,验证命令执行和安全控制
常见问题解答
- 如何限制可执行的命令?
- 使用
--allowed-commands
参数指定允许的命令列表 - 如何防止命令注入?
- 服务器内置了命令验证机制,阻止 shell 操作符和注入尝试
- 如何设置命令超时?
- 使用
--timeout-ms
参数设置命令执行的最长时间
使用教程
使用依赖
- 安装 Git(用于克隆仓库)
- 安装 Python 3.x
- 安装 UV(Python 包管理工具)
bash
pip install uv
安装教程
- 克隆仓库并进入目录
bash
git clone https://github.com/RinardNick/mcp-terminal.git
cd mcp-terminal
- 创建并激活虚拟环境
bash
uv venv
source .venv/bin/activate # Linux/macOS
.venv\Scripts\activate # Windows
- 安装开发依赖
bash
uv pip install -e ".[dev]"
调试方式
- 运行测试
bash
pytest tests/
- 使用 MCP Inspector 测试服务器
bash
npx @modelcontextprotocol/inspector python3 src/mcp_terminal/server.py --allowed-commands "python,pip,git,ls,cd"
- 检查覆盖率
bash
pytest --cov=mcp_terminal tests/