使用说明

项目简介

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 包管理器)
  • 步骤:

    1. 安装前提条件: 根据 README 指引安装 Node.js, Python, pnpm, Poetry 和 Docker。
    2. 克隆仓库: 'git clone https://github.com/8bit-wraith/mcp.git && cd mcp'
    3. 安装依赖:
      • Node.js 依赖: 'pnpm install'
      • Python 依赖: 'poetry install && poetry shell'
    4. 构建 SSH 服务器: 'cd packages/mcp-server-enhanced-ssh && pnpm run build && cd ../..'
    5. 配置 SSH 密钥: 'mkdir -p ~/.mcp/ssh/config && ssh-keygen -t rsa -f ~/.mcp/ssh/config/ssh_host_rsa_key -N ""'
    6. 启动服务:
      • 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 服务器)

  • 步骤:
    1. 全局安装 SSH 服务器: 'npm install -g @essential-mcp/server-enhanced-ssh'
    2. 创建配置目录: 'mkdir -p ~/.mcp/ssh/config'
    3. 生成 SSH Host Keys: 'ssh-keygen -t rsa -f ~/.mcp/ssh/config/ssh_host_rsa_key -N ""'
    4. 启动服务器: '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 启动地址配置
    }
  ]
}

基本使用方法

  1. SSH 远程访问: 使用 SSH 客户端连接到 'localhost:6480' (默认端口)。用户名可以使用系统用户名,密码为首次启动 SSH 服务时在控制台输出的随机密码。
  2. API 工具调用: MCP 客户端可以通过 WebSocket 连接到 ATC API (默认地址 'ws://localhost:6481/ws'),发送 JSON-RPC 请求调用注册的工具和命令。具体 API 端点和工具命令可以参考 'http://localhost:8000/docs' (API 文档)。
  3. 查看服务状态: 访问 Qdrant UI ('http://localhost:6333/dashboard') 和 API 文档 ('http://localhost:8000/docs') 检查服务是否正常运行。

注意: 首次使用 SSH 服务时,请注意控制台输出的临时 SSH 密码,并妥善保管。

信息

分类

开发者工具