返回 MCP 目录
public公开dns本地运行

aranet4-mcp-server

Aranet4二氧化碳传感器的MCP服务器,支持设备扫描、数据采集存储、历史查询及可视化功能,提供AI辅助配置。

article

README

🚀 aranet4-mcp-server

aranet4-mcp-server是一个用于管理Aranet4二氧化碳传感器的MCP服务器,它基于Aranet4-Python构建,能帮助用户高效管理传感器数据。

💡 使用建议

如果需要没有MCP逻辑的独立Python版本,请查看aranet4-archiver

Aranet4 MCP Server运行示例截图

✨ 主要特性

  • 设备扫描:可扫描附近的Aranet4设备。
  • 数据存储:从嵌入式设备存储中获取新数据,并保存到本地sqlite数据库,方便跟踪和后续查看。关于自动更新,可查看后续内容。
  • 信息查询:能查询近期测量信息或特定过去日期的信息。
  • 可视化展示:支持图像的MCP客户端可请求将数据显示为图表,实现友好的可视化效果!
  • 辅助配置:💫 安装后,只需在客户端中输入 init aranet4 即可设置与您的设备一起使用的MCP服务器。

📦 安装指南

  1. 克隆仓库
    git clone git@github.com:diegobit/aranet4-mcp-server.git
    cd aranet4-mcp-server
    
  2. 准备环境
    • 推荐方式(使用uv:无需额外操作,提供的 pyproject.toml 会处理依赖和虚拟环境。
    • 替代方案(使用pip):使用 pip install . 进行安装。
  3. 添加到MCP客户端配置
    "aranet4": {
      "command": "{{PATH_TO_UV}}", // 运行 `which uv`
        "args": [
          "--directory",
          "{{PATH_TO_SRC}}/aranet4-mcp-server/",
          "run",
          "src/server.py"
        ]
    }
    
    • Claude Desktop MacOS配置文件路径:~/Library/Application Support/Claude/claude_desktop_config.json
    • Cursor MacOS配置文件路径:~/.cursor/mcp.json
  4. 配置
    • 推荐方式(AI辅助配置!):启动客户端后输入 init aranet4 以获得引导式配置。
    • 替代方案(手动):编辑文件 config.yaml,您需要提供mac地址和设备名称。可以从Aranet4-Python(随此仓库的依赖安装)中使用 aranetctl --scan 获取mac地址。

🐳 Dockerfile

项目提供了Dockerfile,您可以传递环境变量或更新 config.yaml 来使用。

🛠️ 工具列表

配置和工具

  • init_aranet4_config:辅助设备配置。
  • scan_devices:扫描附近的蓝牙Aranet4设备。
  • get_configuration_and_db_stats:获取当前的 config.yaml 和本地sqlite3数据库的一般统计信息。
  • set_configuration:设置 config.yaml 中的值。

更新历史数据

  • fetch_new_data:从配置的附近Aranet4设备中获取新数据并保存到本地数据库。

查询历史数据

  • get_recent_data:从本地数据库获取近期数据,可指定要获取的测量值数量。
  • get_data_by_timerange:在特定时间段内从本地数据库获取数据,可指定要获取的测量值数量(注意,如果时间范围很大且限制较低,可能会跳过某些数据点)。

对于这两个查询工具,都可以请求生成图表并显示。

⏰ 自动更新数据的任务

如果您希望本地数据库始终保持最新状态,可以设置一个cron作业或launch agent,每隔几小时自动抓取一次数据。在MacOS中,可按以下步骤操作:

  1. 配置 com.diegobit.aranet4-fetch.plist 中的绝对路径。
  2. 安装LaunchAgent:
    cp com.diegobit.aranet4-fetch.plist ~/Library/LaunchAgents/
    launchctl load ~/Library/LaunchAgents/com.diegobit.aranet4-fetch.plist
    

对于其他平台,请按自己喜欢的方式定期运行 fetch-job.py

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端