SSH MCP服务器
](https://smithery.ai/server/@KinoThe-Kafkaesque/ssh-mcp-server)
提供SSH的模型上下文协议(MCP)服务器实现 能力。此服务器允许通过以下方式进行安全的远程访问和执行 MCP协议。
特性
- 使用MCP协议实现SSH服务器
- 用于数据持久化的SQLite数据库集成
- TypeScript实现实现类型安全和更好的开发体验
先决条件
- Node.js 18或更高版本
- npm或yarn包管理器
- TypeScript开发知识
安装
通过史密瑟里安装
通过以下方式自动安装Claude Desktop的SSH服务器 史密瑟里:
npx -y @smithery/cli install @KinoThe-Kafkaesque/ssh-mcp-server --client claude手动安装
- 克隆存储库:
git clone
cd ssh-server- 安装依赖项:
npm install- 构建项目:
npm run build用法
配置
服务器使用SQLite数据库(ssh.db)以存储SSH凭据。这 服务器启动时,数据库文件将自动创建。
工具
服务器存储命名凭据,然后每个远程操作都引用一个 credentialName. privateKeyPath 必须指向现有的私钥。
add_credential:保存{ "name", "host", "username", "privateKeyPath" }.list_credentials:列出存储的凭据记录。remove_credential:删除{ "name" }.ssh_exec:使用以下命令运行shell命令{ "credentialName", "command", "timeout" }.ssh_exec_raw:运行argv样式的命令数组,例如{ "credentialName": "prod", "command": ["grep", "-E", "foo|bar", "/var/log/app.log"] }.scp_copy:通过SFTP复制一个文件{ "credentialName", "localPath", "remotePath", "direction" }.rsync_copy:使用rsync和相同的传输形状复制目录或更大的树。ssh_session_start,ssh_session_send,ssh_session_read,ssh_session_end,ssh_session_list:管理交互式SSH会话。ssh_tunnel_start,ssh_tunnel_list,ssh_tunnel_stop:管理本地或远程端口转发隧道。
例子:
{
"tool_name": "ssh_exec",
"arguments": {
"credentialName": "prod",
"command": "uptime",
"timeout": 120000
}
}启动服务器
npm start服务器将开始在配置的端口上运行(默认设置可以是 在源代码中修改)。
项目结构
src/-源代码目录build/-编译的JavaScript输出node_modules/-项目依赖关系
依赖项
@modelcontextprotocol/sdk:MCP协议实施sqlite3:SQLite数据库驱动程序typescript:TypeScript支持的开发依赖性
发展
要更改项目,请执行以下操作:
- 在中进行更改
src/目录 - 重建项目:
npm run build- 启动服务器以测试您的更改:
npm start许可证
麻省理工学院
贡献
- 分叉存储库
- 创建功能分支
- 提交您的更改
- 推到分支
- 创建新的Pull请求

