使用说明(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,便于审计与排错。
- Tools 注册与执行
-
安装步骤
- 需要环境
- 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 客户端进行如下操作(通过自然语言或脚本请求触发工具调用):
-
备注
- MCP 客户端与服务器之间的交互以 JSON-RPC 封装,具体请求方法如 initialize、tools/list、tools/call 等,示例与实现均在仓库相应模块可见。
信息
分类
网页与API