awaberry远程MCP服务器
一个基于Node.js的模型上下文协议(MCP)服务器,用于远程连接到设备,而不需要SSH、VPN和开放端口来管理文件、连接到数据库和在持久长时间运行的终端会话中执行终端命令。
这是一个基于JavaScript的MCP服务器,通过awaBerry平台提供远程设备访问。它通过提供以下内容展示了MCP的核心概念:
设备即服务
- 与awaberry代理平台集成
- 安全设备连接管理
- 远程终端命令执行
- 基于会话的身份验证
这允许强大的工作流程 允许任何基于代理和大型语言模型的例程在您的设备上执行命令,以访问所需的数据,并将生成的数据写回。

正在获取凭据。
通过MCP服务器访问awaBerry平台是通过项目密钥和项目秘密提供的。为自己的设备设置自己的项目或接收凭据。
创建自己的项目
app.awaberry.com上的帐户和链接到awaberry Remote的设备。
- 注册于 awaberry遥控器.
- 添加一个或多个设备。
- 在awaBerry代理部分下创建一个新项目。
- 在项目中注册您的设备。
- 从项目设置中复制项目密钥和机密。
阅读更多关于awaBerry的信息 www.awaberry.com
已收到项目凭据
您已收到项目密钥和秘密,例如通过公司IT或朋友。
演示访问
要连接到演示项目,请使用以下凭据
- 项目密钥: demokey
- 项目秘密: 国防部长
- 设备名称: 演示装置
特性
工具
awaBerry mcp由以下工具组成:
connect_to_device
连接到在awaberry项目中注册的远程设备(Mac、Linux、Windows或Docker)。
- 参数:
- projectKey (可选):项目身份验证密钥(默认为 AWABERRY_PROJECT_KEY 有人)。 - projectSecret (可选):项目身份验证密钥(默认为 AWABERRY_PROJECT_SECRET 有人)。 - deviceName (必填):要连接的设备的名称。
- 退货:
- sessionToken (string):会话的身份验证令牌。 - status (string):连接状态(“已连接”或“未连接”)。 - deviceuuid (string):设备的唯一标识符。
sessionToken在连接开始后的30分钟内有效。
execute_terminal_command
在连接的设备上执行终端命令,以管理文件、连接到数据库,并在持久长时间运行的终端会话中执行终端命令。
重新连接到设备后,终端的最后一个状态可用,这也允许启动长时间运行的命令并获得可用的结果。
- 参数:
- sessionToken (必需):来自设备连接的会话令牌。 - deviceuuid (必需):要在其上执行命令的设备UUID。 - command (必填):要执行的终端命令。
- 退货:
- success (boolean):指示命令是否被接受执行。 - result.commandResult (string):命令的输出。 - result.lastCommandEndedOnTerminal (boolean):指示命令进程是否已完成。
安装
先决条件
下载
打开一个终端,并可选择为awaBerry mcp服务器创建一个文件夹
# optionally
cd $HOME
mkdir awaberry
cd awaberry
# Clone the repository
git clone https://github.com/awaberry/mcp_server_awaberry.git
cd mcp_server_awaberry
# Install dependencies
npm install
PWD
# outputs the absolute path to mcp_server_awaberry which will be required in the later configuration setup
在公司环境中设置awaBerry MCP服务器
请阅读文件 MCPSERVER.md 获取本地环境中awaBerry MCP服务器的设置说明或作为Cloudflare工作人员。
在Claude Desktop中设置
要将awaBerry与Claude Desktop一起使用,请将服务器配置添加到您的 claude_desktop_config.json 文件。
- 在macOS上:
~/Library/Application Support/Claude/claude_desktop_config.json - 在Windows上:
%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"awaberry": {
"command": "node",
"args": [
"/absolute/path/to/mcp_server_awaberry/mcp_server_awaberry/mcpclients/start-awaberry-mcp.js"
]
}
}
}重要提示: 替换 /absolute/path/to/mcp_server_awaberry 使用到您的安装的实际绝对路径(例如。, /Users/username/projects/mcp_server_awaberry).
MCP服务器和凭据的配置
向awaBerry MCP服务器添加以下配置
要设置服务器url、项目密钥和项目密钥,请将文件awaberry-config.json复制到awaberry/config.json。
在终端类型中
cd /absolute/path/to/mcp_server_awaberry/mcp_server_awaberry/mcpclients
cp awaberry-config.json.example awaberry-config.json编辑文件 away-config.json.
{
"serverUrl": "",
"env": {
"AWABERRY_PROJECT_KEY": "",
"AWABERRY_PROJECT_SECRET": ""
}
}重要提示: 替换
- serverUrl:使用贵公司IT团队为您安装的服务器或本地mcp服务器。按如下步骤启动本地mcp服务器:
要通过本地mcp服务器连接,请使用 http://localhost:3000/mcp. 要启动mcp服务器,请在终端中执行以下操作
cd /absolute/path/to/mcp_server_awaberry/mcp_server_awaberry/
npm run start:mcp:json要监视mcp服务器日志,请打开另一个终端并键入
cd /absolute/path/to/mcp_server_awaberry/mcp_server_awaberry/
tail -f activitylog.log- AWABERRY_PROJECT_KEY:收到的AWABERRY代理项目的项目密钥
- AWABERRY_PROJECT_SECRET:接收到的项目机密。
使用示例
配置后,重新启动Claude Desktop并使用自然语言与您的设备进行交互:
- 连接到设备:
> 连接到我的设备“笔记本电脑macos”
- 列出文件:
> 显示主目录中的所有文件
- 读取文件:
> 读取文件内容
- 执行复杂命令:
> 在我的主目录中查找过去7天内修改的所有文本文件
- 运行脚本:
> 在~/scripts/backup.sh执行备份脚本
日志记录
所有活动都记录到 activitylog.log 在项目根目录中。日志包括:
- 带有时间戳的工具调用
- 连接尝试和结果
- 命令执行和输出
- 错误和警告
日志输出示例:
2025-01-15 10:30:45 [INFO]: 📥 [Tool] connect_to_device called
2025-01-15 10:30:45 [INFO]: 📋 [Tool] Device name: laptop-macos
2025-01-15 10:30:46 [INFO]: ✅ [Tool] connect_to_device successful - Session: a1b2c3d4...速率限制
费率限制由awaberry平台执行:
- 连接尝试: 根据需要。
- 命令执行: 基于awaBerry的计划层。
请在以下网址查看您的计划详细信息 awaberry代理商 对于特定的限制。
故障排除
服务器未启动
- 确保已安装Node.js>=18:
node --version - 检查是否安装了所有依赖项:
npm install - 验证中的文件路径
claude_desktop_config.json是绝对和正确的。 - 检查配置JSON文件中的语法错误。
连接失败
- 允许Claude Desktop执行对awaBerry的请求,它会请求权限。
- 验证环境变量中的项目密钥和机密是否正确。
- 确保设备名称完全匹配(区分大小写)。
- 检查设备是否联机并连接到awaberry。
- 审查
activitylog.log查看详细的错误消息。 - 确认该设备已在您的awaberry项目中注册。
命令不执行
- 检查设备是否仍然连接。
- 确保目标操作系统的命令语法正确。
- 查看命令输出
activitylog.log. - 检查您尝试运行的命令的设备权限。
Claude Desktop未显示MCP服务器
- 修改配置文件后重新启动Claude Desktop。
- 检查中的JSON语法
claude_desktop_config.json. - 确保文件路径使用正斜杠(
/)或者正确地避开了反睫毛(\\). - 在Claude Desktop的日志中查找错误。
安全考虑
- 存储您的
AWABERRY_PROJECT_KEY和AWABERRY_PROJECT_SECRET安全。 - 切勿将凭据提交到版本控制。
- 将环境变量用于敏感配置。
- 会话令牌是临时的,会自动过期。
- 与awaberry服务器的所有通信都使用HTTPS。
许可证
贡献
欢迎投稿!请随时提交Pull Request或联系我们。
- 联系我们: www.awaberry.com/contact
支持
有关文档和问题:
- awaberry文档: www.awaberry.com/manual
- awaberry支持: www.awaberry.com/support
