使用说明(Markdown 格式)

  • 项目简介

    • 该仓库实现了基于 MCP 的后端服务器,面向 awaBerry 远程设备管理场景,提供与 LLM 客户端的安全上下文服务入口。主要通过工具(Tools)暴露设备连接、终端命令执行、数据库操作等能力,并支持多种传输协议的服务端实现。
  • 主要功能点

    • Tools 注册与执行
      • connect_to_device:通过 awaBerry 平台连接到指定设备,获取会话信息。
      • execute_terminal_command:在已连接设备上执行终端命令,支持持续运行与结果获取。
      • execute_database_command_postgres、describe_database_schema_postgres 等工具:对 PostgreSQL 数据库执行命令与描述模式。
    • 会话与能力管理
      • 会话建立、设备连接状态查询、命令执行结果的返回等 MCP 协议流程。
    • 多传输入口
      • STDIO 服务器(本地交互测试/集成)、HTTP/Express 服务器、Cloudflare Worker 等实现,覆盖多种部署场景。
    • 服务器端日志
      • 通过 winston 将活动日志写入 activitylog.log,便于审计与排错。
  • 安装步骤

    • 需要环境
      • Node.js 版本 18 及以上
    • 安装与运行
      • 克隆仓库并进入目录
      • 安装依赖:npm install
      • 根据需要选择不同的部署方式(STDIO、HTTP/Express、Cloudflare Worker 等),参照仓库中的相应启动脚本启动服务器
    • 运行示例(取决于所选部署方式)
      • STDIO:使用 mcpserver/awaBerryAgenticMcpServerStdio.js 启动
      • HTTP/Express:使用 httpserver/server.js 启动,监听 8090 端口
      • Cloudflare Worker:部署 cloudflare/worker/awaberrymcpserver
  • 服务器配置

    • MCP 客户端的启动配置(用于 Claude Desktop 等客户端的集成),需要在客户端配置中指定启动服务器的命令与参数。以下为基于本仓库提供的示例配置,具体路径需按实际安装路径替换:
    • 配置示例(JSON,不是代码块形式直接呈现): { "mcpServers": { "awaberry": { "command": "node", "args": [ "/absolute/path/to/mcp_server_awaberry/mcp_server_awaberry/mcpclients/start-awaberry-mcp.js" ] // 说明:该配置用于 Claude Desktop 等 MCP 客户端在启动时直接调用 Node 解释器执行 start-awaberry-mcp.js,以开启与 MCP 服务器的连接。 } } }
  • 基本使用方法

    • 启动后,使用 MCP 客户端进行如下操作(通过自然语言或脚本请求触发工具调用):
      • 连接设备:调用 connect_to_device 工具,提供 deviceName、projectKey、projectSecret 以建立会话并获得 sessionToken、deviceuuid。
      • 执行命令:调用 execute_terminal_command,传入 sessionToken、deviceuuid、要执行的命令,获取命令输出和状态。
      • 如需数据库操作,可调用 execute_database_command_postgres/describe_database_schema_postgres 等工具,传入必要参数并获取结果。
    • 调试与监控
      • 查看 activitylog.log 获取工具调用、连接尝试与命令输出的日志。
      • 如连接失败,检查设备名称、凭据和设备在线状态,参考文档排错部分。
  • 备注

    • MCP 客户端与服务器之间的交互以 JSON-RPC 封装,具体请求方法如 initialize、tools/list、tools/call 等,示例与实现均在仓库相应模块可见。

信息

分类

网页与API