mcp-for-shell 项目概览

mcp-for-shell

一个用于服务器纳管的 MCP 服务,提供三类能力:

  • 通过 SSH 执行远程命令
  • 通过 SFTP 上传和下载文件
  • 通过一个本地 Web 页面快速生成服务器配置文件

这个源码目录适合两种用途:

  1. 作为 OpenCode 的本地 MCP 服务使用
  2. 单独启动 HTTP 服务,通过 Web 页面维护 servers.json

当前能力

MCP Tools

  • listServers
  • getServer
  • runCommand
  • testConnection
  • getFileTransferStatus
  • uploadFile
  • downloadFile

Web 页面

访问 /admin 可以打开本地配置生成器。当前页面特性是:

  • 不需要登录
  • 可读取本地已有 servers.json
  • 可选择新的本地保存路径
  • 可交互式编辑服务器列表
  • 可直接保存为本地 JSON 文件

说明:Web 页面依赖浏览器本地文件选择能力,建议使用 Chromium 内核浏览器。

快速开始

安装依赖并构建:

1
2
npm install
npm run build

启动本地 MCP:

1
MCP_TRANSPORT=stdio node dist/index.js

启动 Web 页面:

1
MCP_HTTP_PORT=3000 node dist/index.js

打开:

1
http://127.0.0.1:3000/admin

配置文件

服务端默认从当前工作目录下的 config/servers.json 读取配置。

也可以通过环境变量覆盖:

  • MCP_SERVER_CONFIG
  • MCP_CONFIG_PATH

配置文件结构示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
"environments": [
{
"name": "default",
"servers": [
{
"name": "demo-1",
"host": "192.168.1.10",
"port": 22,
"username": "root",
"authType": "password",
"password": "REPLACE_ME",
"tags": ["prod"]
}
]
}
]
}

文档

  • USAGE.md:安装与接入说明
  • DEVELOPER.md:开发者文档,说明目录结构、运行方式与扩展入口

目录

  • src/:服务端源码
  • web/:Web 配置页面源码
  • config/:默认配置目录
  • scripts/:辅助脚本
  • dist/:构建输出目录(构建后生成,不在源码副本中保留)