使用说明
项目简介
Enhanced SSH 仓库 (Essential MCP) 提供了一套基于 Model Context Protocol (MCP) 的工具和服务,旨在增强 AI 与人类的交互体验。该项目主要包含两个核心组件:
- MCP Server Enhanced SSH: 一个功能强大的 SSH 服务器,它不仅提供安全的远程命令执行能力,还集成了持久化 TMUX 会话、多窗口支持和会话共享等高级特性,确保用户能够在一个安全且功能丰富的环境中与系统进行交互。
- MCP Awesome Tool Collection (ATC): 一个基于 Python 的 API 服务,作为所有工具的中央枢纽。ATC 采用插件式架构,支持实时 WebSocket 通信、工具发现与管理以及上下文感知的工具执行,为用户提供灵活和可扩展的工具使用体验。
主要功能点
- 安全远程访问: 通过 SSH 服务器提供安全的远程命令行访问。
- 持久化会话: 利用 TMUX 会话保持操作环境的持久性,即使连接中断也能恢复工作状态。
- 多窗口支持: 支持在 SSH 会话中创建和管理多个窗口,提高多任务处理效率。
- 会话共享: 允许多用户共享同一个 SSH 会话,方便协作和知识共享。
- 上下文管理: 提供统一的上下文系统,支持多种上下文类型(如测试、工具、用户、情感、对话、系统),并集成 Qdrant 用于语义搜索和上下文关系追踪。
- 工具集成: ATC 提供插件化的工具管理,支持工具的发现、注册和执行。
- 实时通信: 通过 WebSocket 和 SSE 提供实时的事件更新和数据流。
- 模型管理: 支持 HuggingFace 模型自动发现和上下文相关的模型选择。
安装步骤
该项目提供两种安装方式:NPM 安装(仅限 SSH 服务器)和源码安装(完整开发环境)。推荐使用源码安装以体验完整功能。
1. 源码安装 (完整开发环境 - 推荐)
-
前提条件:
- Python 3.11+
- Node.js 18+
- Docker (用于 Qdrant 向量数据库)
- pnpm (Node.js 包管理器)
- Poetry (Python 包管理器)
-
步骤:
- 安装前提条件: 根据 README 指引安装 Node.js, Python, pnpm, Poetry 和 Docker。
- 克隆仓库: 'git clone https://github.com/8bit-wraith/mcp.git && cd mcp'
- 安装依赖:
- Node.js 依赖: 'pnpm install'
- Python 依赖: 'poetry install && poetry shell'
- 构建 SSH 服务器: 'cd packages/mcp-server-enhanced-ssh && pnpm run build && cd ../..'
- 配置 SSH 密钥: 'mkdir -p ~/.mcp/ssh/config && ssh-keygen -t rsa -f ~/.mcp/ssh/config/ssh_host_rsa_key -N ""'
- 启动服务:
- Qdrant: 'docker run -d -p 6333:6333 -v $(pwd)/qdrant_data:/qdrant/storage qdrant/qdrant'
- Python API (ATC): 'poetry run python -m packages.mcp-atc.src.api.main'
- SSH 服务器: 'pnpm run ssh:dev'
2. NPM 安装 (仅限 SSH 服务器)
- 步骤:
- 全局安装 SSH 服务器: 'npm install -g @essential-mcp/server-enhanced-ssh'
- 创建配置目录: 'mkdir -p ~/.mcp/ssh/config'
- 生成 SSH Host Keys: 'ssh-keygen -t rsa -f ~/.mcp/ssh/config/ssh_host_rsa_key -N ""'
- 启动服务器: 'mcp-ssh-server'
服务器配置
MCP 客户端需要配置 MCP 服务器的连接信息。以下是针对 Enhanced SSH 仓库提供的 MCP 服务器的客户端配置示例 (JSON 格式):
{ "servers": [ { "serverName": "EnhancedSSHServer", "protocol": "stdio", "command": "pnpm", "args": [ "run", "ssh:dev" // 假设使用源码安装,且在项目根目录下启动 ssh:dev 脚本 // 如果使用 NPM 全局安装,则 command 应为 "mcp-ssh-server",args 可为空 ], "description": "Enhanced SSH Server for remote command execution", "enabled": true }, { "serverName": "AwesomeToolCollectionAPI", "protocol": "web-socket", "command": "poetry", "args": [ "run", "python", "-m", "packages.mcp-atc.src.api.main" // 假设使用源码安装,且在项目根目录下启动 Python API ], "description": "MCP Awesome Tool Collection API", "enabled": true, "baseUrl": "ws://localhost:6481/ws" // WebSocket 连接地址,根据实际 API 启动地址配置 } ] }
基本使用方法
- SSH 远程访问: 使用 SSH 客户端连接到 'localhost:6480' (默认端口)。用户名可以使用系统用户名,密码为首次启动 SSH 服务时在控制台输出的随机密码。
- API 工具调用: MCP 客户端可以通过 WebSocket 连接到 ATC API (默认地址 'ws://localhost:6481/ws'),发送 JSON-RPC 请求调用注册的工具和命令。具体 API 端点和工具命令可以参考 'http://localhost:8000/docs' (API 文档)。
- 查看服务状态: 访问 Qdrant UI ('http://localhost:6333/dashboard') 和 API 文档 ('http://localhost:8000/docs') 检查服务是否正常运行。
注意: 首次使用 SSH 服务时,请注意控制台输出的临时 SSH 密码,并妥善保管。
信息
分类
开发者工具