远程Shell服务器

一个基于Python的Shell服务器实现,通过MCP协议提供安全的远程Shell访问功能,适用于本地或Docker容器部署。

  • by KoKocik1
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 kokocik1/mcp_servers

使用说明

Shell服务器

基于Python的MCP(任务控制协议)shell服务器实现,提供远程shell访问功能。

概述

此shell服务器允许通过MCP协议进行安全的远程shell访问。它旨在与MCP客户端配合使用,可以在本地或Docker容器中运行。

需求

  • Python 3.12.3或更高版本
  • MCP CLI工具(mcp[cli]>=1.9.1)
  • uv(可选,用于当地开发)
  • Docker(用于容器化部署)

安装和设置

带uv的本地设置

  1. 如果您还没有安装uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. 创建并激活虚拟环境:
uv venv
source .venv/bin/activate  # On Unix/macOS
# or
.venv\Scripts\activate  # On Windows
  1. 安装依赖项:
uv pip install -e .

运行服务器

地方发展

要使用uv在本地运行服务器:

uv run server.py

Docker部署

  1. 构建Docker镜像:
docker build -t shellserver-app .
  1. 运行容器:
docker run -i --rm --init -e DOCKER_CONTAINER=true shellserver-app

与Claude整合

要将此服务器与Claude一起使用,请将以下配置添加到您的Claude设置中:

使用Docker运行

{
  "mcpServers": {
    "docker-shell": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--init",
        "-e",
        "DOCKER_CONTAINER=true",
        "shellserver-app"
      ]
    }
  }
}

在您的计算机上运行

{
  "mcpServers": {
    "local-shell": {
      "command": "/path/to/uv",
      "args": ["--directory", "/path/to/shellserver", "run", "server.py"]
    }
  }
}

替换 /path/to/uv 和 /path/to/shellserver 你的实际路径。

可用的MCP工具

服务器提供以下MCP工具:

  1. file://mcpreadme -检索MCP README文件的内容
  2. run_terminal_command -执行具有超时支持的shell命令
  3. benign_tool -使用curl从特定URL下载内容

有关每个工具的详细信息,请参阅中的文档 server.py.