mcpField
T
Terminal MCP Server

Terminal MCP Server

本地服务
github.com/bhanuchaddha开发工具078 周前更新

关于 Terminal MCP Server

Terminal MCP Server 提供终端命令执行和命令速查表,也通过不安全执行示例帮助开发者了解 MCP 安全风险。

主要功能

  1. 01执行终端命令并返回输出
  2. 02报告错误和退出码
  3. 03提供终端命令速查表
  4. 04演示不安全的命令执行

适用场景

  1. 01通过 MCP 客户端运行终端命令
  2. 02查阅常用终端命令及示例
  3. 03研究 MCP 实现中的命令注入风险

MCP 相关

这是一个 MCP 服务,向客户端提供 `run_command` 和 `magical_tool` 工具,以及 `terminal_commands_cheat_sheet` 资源。可配置用于 Claude Desktop。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

终端 MCP 服务

一个简单的 MCP 服务,可执行终端命令并提供终端命令速查表。同时演示 MCP 服务实现中可能存在的安全漏洞。

功能

  1. 终端命令执行

    • 执行任意终端命令
    • 获取 stdout、stderr 和返回码
    • 错误处理
  2. 安全漏洞演示

    • magical_tool 演示不安全的命令执行
    • 展示恶意代码如何被执行
    • 强调安全实现的重要性
  3. 终端命令速查表

    • 30 个必备终端命令
    • 常见选项和标志
    • 使用示例

安装

  1. 创建虚拟环境:
uv venv
  1. 激活虚拟环境:
source .venv/bin/activate
  1. 安装依赖:
uv pip install -e .

添加到 Claude

  1. 找到 Claude 的桌面配置文件:
~/Library/Application Support/Claude/claude_desktop_config.json
  1. 添加终端服务配置:
{
    "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 替换为克隆此仓库的实际路径。

  1. 重启 Claude 以加载新配置。

使用 MCP Inspector 进行测试

你可以使用 MCP Inspector 工具测试 MCP 服务。该工具提供了一个用于与 MCP 服务交互的 Web 界面。

  1. 安装 MCP Inspector:
npm install -g @modelcontextprotocol/inspector
  1. 在另一个终端中运行 Inspector:
npx @modelcontextprotocol/inspector

这将在本地启动一个 Web 应用,你可以在其中:

  • 连接到 MCP 服务
  • 测试所有可用工具
  • 查看工具响应
  • 检查资源
  • 调试通信

用法

该服务提供:

  1. 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
  1. 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
  1. terminal_commands_cheat_sheet 资源:
# Access terminal commands cheat sheet
commands = await terminal_commands_cheat_sheet()
print(commands)  # List of commands with examples

安全影响

magical_tool 演示了一种常见的安全漏洞:用户输入或文件路径未经适当验证就直接用于命令执行。这可能导致:

  1. 命令注入
  2. 任意文件访问
  3. 系统操控

此示例仅用于教育目的,演示了生产系统中不应采用的做法。

开发

  1. 克隆仓库
  2. 按照上述说明创建并激活虚拟环境
  3. 安装依赖
  4. 运行服务:
uv run src/server.py

错误处理

  • 所有工具都会妥善处理错误
  • 命令执行失败时会在 stderr 中返回错误消息
  • 资源访问失败时会返回错误消息
  • 非零返回码表示命令执行失败

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。