Token导航 LogoToken导航TokenDH.com
mcpshellserver logo
开发工具未说明官方级别未说明来源级核验

mcpshellserver

MCP Server

一个提供本地Windows PowerShell命令执行和远程SSH Linux命令执行能力的服务器,支持密码和PEM密钥认证。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
命令行工具JavaScriptClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

girishsahu008

提供方

girishsahu008

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

MCP外壳服务器

一种模型上下文协议(MCP)服务器,提供本地Windows PowerShell命令和远程SSH Linux命令执行功能,并支持密码和PEM密钥身份验证。

特性

  • 本地PowerShell工具:在本地执行Windows PowerShell命令
  • SSH远程工具:通过SSH在远程服务器上执行Linux命令
  • 双重身份验证:支持密码和PEM密钥身份验证
  • 服务器管理:列出并管理多个SSH服务器连接
  • 简单配置:基于JSON的服务器配置
  • ES模块支持:现代JavaScript实现
  • 错误处理:全面的错误处理和输出捕获

安装

  1. 安装依赖项:
npm install

用法

运行服务器

本地PowerShell服务器(index.js)

启动本地PowerShell MCP服务器:

npm start

SSH远程服务器(serveraccess.js)

启动SSH远程服务器:

node serveraccess.js

两台服务器都将启动并通过stdio监听MCP请求。

测试

本地PowerShell测试

运行测试脚本以查看示例PowerShell命令:

node test.js

SSH服务器测试

运行SSH测试脚本以查看示例Linux命令:

node test_ssh.js

工具

本地PowerShell工具:runCommand

本地服务器公开 runCommand 允许您执行Windows PowerShell命令的工具。

参数:

  • command (string,必填):要执行的PowerShell命令

示例:

  • dir -列出目录内容
  • Get-Process -获取正在运行的进程
  • echo "Hello World" -打印消息
  • Get-Date -获取当前日期和时间

MCP请求示例:

{
  "method": "tools/call",
  "params": {
    "name": "runCommand",
    "arguments": {
      "command": "dir"
    }
  }
}

SSH远程工具

SSH服务器公开了两个用于远程服务器管理的工具:

1.执行SSH命令

通过SSH在远程服务器上执行Linux命令,支持密码和PEM密钥身份验证。

参数:

  • serverName (string,必填):服务器的名称(如servers.json中定义的)
  • command (string,必填):要执行的Linux命令

示例:

  • ls -la -列出目录内容
  • ps aux -获取正在运行的进程
  • df -h -检查磁盘使用情况
  • whoami -获取当前用户
  • hostname -获取服务器主机名

MCP请求示例:

{
  "method": "tools/call",
  "params": {
    "name": "executeSSHCommand",
    "arguments": {
      "serverName": "webserver1",
      "command": "ls -la"
    }
  }
}

2.列表服务器

列出配置中具有身份验证方法的所有可用服务器。

参数:

MCP请求示例:

{
  "method": "tools/call",
  "params": {
    "name": "listServers",
    "arguments": {}
  }
}

配置

ssh服务器配置

在中配置SSH服务器 servers.json:

密码验证

{
  "servers": [
    {
      "name": "webserver1",
      "host": "192.168.1.100",
      "port": 22,
      "username": "ubuntu",
      "password": "your_password_here"
    }
  ]
}

PEM密钥认证

{
  "servers": [
    {
      "name": "prod-server1",
      "host": "192.168.1.102",
      "port": 22,
      "username": "ubuntu",
      "privateKeyPath": "./keys/prod-server1.pem",
      "passphrase": "optional_passphrase_if_key_is_encrypted"
    }
  ]
}

配置字段:

  • name:服务器的唯一标识符
  • host:服务器IP地址或主机名
  • port:SSH端口(通常为22)
  • username:SSH用户名
  • password:SSH密码(用于密码验证)
  • privateKeyPath:PEM私钥文件的路径(用于密钥身份验证)
  • passphrase:加密私钥的可选密码

SSH密钥设置

  1. 创建密钥目录:
mkdir keys
  1. 放置PEM密钥文件keys/ 目录
  1. 设置适当的权限 (Linux/macOS):
chmod 600 keys/*.pem
  1. 更新 servers.json 具有正确的密钥文件路径
  1. 将密钥添加到 .gitignore (已配置)

MCP配置

通用MCP客户端配置

要将这些服务器与MCP客户端一起使用,请将它们添加到MCP配置中:

本地PowerShell服务器

{
  "mcpServers": {
    "mcpshell": {
      "command": "node",
      "args": ["D:\\AI\\MCPShell\\index.js"],
      "env": {
        "NODE_ENV": "production"
      }
    }
  }
}

SSH远程服务器

{
  "mcpServers": {
    "mcpshell-ssh": {
      "command": "node",
      "args": ["D:\\AI\\MCPShell\\serveraccess.js"],
      "env": {
        "NODE_ENV": "production"
      }
    }
  }
}

Claude桌面配置

要将这两台服务器与Claude Desktop一起使用,请执行以下操作:

  1. 更新您的Claude配置 包括两个服务器:
{
  "mcpServers": {
    "mcpshell": {
      "command": "node",
      "args": ["D:\\AI\\MCPShell\\index.js"],
      "env": {
        "NODE_ENV": "production"
      }
    },
    "mcpshell-ssh": {
      "command": "node",
      "args": ["D:\\AI\\MCPShell\\serveraccess.js"],
      "env": {
        "NODE_ENV": "production"
      }
    }
  }
}
  1. 放置配置 在: %APPDATA%\Claude\claude_desktop_config.json
  2. 重新启动克劳德桌面 更新配置后
  3. 测试连接:

- 本地:让克劳德运行“dir”或“Get Date” - SSH:让Claude在“webserver1”服务器上运行“ls-la”

安全说明

本地PowerShell服务器

此服务器直接在PowerShell中执行命令。请谨慎使用,仅在受信任的环境中使用。

SSH远程服务器

  • PEM密钥认证 (推荐用于生产):

- 将私钥安全地存储在 keys/ 目录 - 设置适当的文件权限(600) - 使用带有密码的加密密钥 - 从不将密钥提交给版本控制

  • 密码验证:

- 使用强密码 - 考虑迁移到基于密钥的身份验证

  • 一般安全:

- 确保在目标服务器上正确配置SSH - 监控服务器访问日志 - 仅允许必要的用户访问服务器

故障排除

SSH连接问题

  1. 检查服务器凭据 在……里面 servers.json
  2. 验证SSH是否已启用 在目标服务器上
  3. 测试连接性 使用标准SSH客户端
  4. 检查防火墙设置 在目标服务器上
  5. 验证用户名/密码 是正确的

PEM关键问题

  1. 检查密钥文件路径 在……里面 servers.json
  2. 验证密钥文件权限 (应该是600)
  3. 确保密钥文件存在 在指定位置
  4. 检查密钥格式 (应为PEM格式)
  5. 验证密码 如果密钥已加密

本地服务器问题

  1. 确保PowerShell可用 在Windows上
  2. 检查执行策略 如果命令被阻止
  3. 验证Node.js安装 和路径

许可证

国际协调委员会

作者

女孩Prasad Sahu

目录标签

目录标签

命令行工具JavaScriptClaudeShell命令本地部署远程执行服务器管理SSH工具PowerShell

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP