M

MCP-Server CO2传感器数据服务器

@kmwebnet/MCP-Server-for-sensor-device
0 Stars 305 次浏览 kmwebnet 更新于 2026-08-23

一个提供JSON-RPC接口以与CO2传感器数据交互的Node.js应用程序,可在模拟模式下工作,并且支持真实的Raspberry Pi Pico硬件连接。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "CO2 sensor": {
      "args": [
        "...mcp-server-for-sensor-device/index.js"
      ],
      "command": "node",
      "env": {}
    }
  }
}

服务介绍

MCP 服务器用于传感器设备

这个项目是一个使用 Node.js 开发的应用程序,专为 Claude Desktop 设计。它模拟了一个 CO2 传感器设备,并提供了一个 JSON-RPC 服务器来与该设备进行交互。该应用程序既可以在模拟模式下运行,也可以在真实模式下通过 USB 连接到 Raspberry Pi Pico 来读取 CO2 水平。

特性

  • 在模拟模式下,模拟一个具有随机 CO2 水平的 CO2 传感器设备。
  • 通过 USB 连接到 Raspberry Pi Pico 来读取真实的 CO2 水平。
  • 通过 JSON-RPC 提供设备信息、传感器数据和网络状态。
  • 支持命令将数据发布到 MQTT、重新连接 WiFi 和重新连接 MQTT(部分功能是模拟的)。

安装

你需要在你的机器上安装 Node.js 来运行此应用程序。如果你还没有安装 Node.js,可以从 官方网站 下载。

  1. 克隆仓库。

  2. 使用 npm 安装依赖项:

    npm install
    

配置

确保 claude_desktop_config.json 文件正确配置以运行服务器。示例配置:

{
  "mcpServers": {
    "CO2 sensor": {
      "command": "node",
      "args": [
        "...mcp-server-for-sensor-device/index.js"
      ],
      "env": {}
    }
  }
}

使用

要启动服务器,请运行以下命令:

node index.js

JSON-RPC 方法

initialize

初始化服务器并返回服务器能力。

shutdown

关闭服务器。

resources/list

列出可用资源。

resources/read

读取指定的资源。

tools/list

列出可用工具。

tools/call

调用指定的工具。

DeviceState 类

DeviceState 类模拟了设备的状态,并提供了获取设备信息、传感器数据和网络状态的方法。它还处理与 Raspberry Pi Pico 的连接并读取 CO2 水平。

方法

  • getDeviceInfo(): 返回设备信息。
  • getSensorData(): 返回传感器数据。
  • getNetworkStatus(): 返回网络状态(模拟的功能)。
  • publishToMQTT(): 模拟将数据发布到 MQTT(模拟的功能)。
  • reconnectWiFi(): 模拟重新连接 WiFi(模拟的功能)。
  • reconnectMQTT(): 模拟重新连接 MQTT(模拟的功能)。

日志记录

应用程序将 CO2 水平和其他信息记录到用户主目录下的日志文件中 (co2_level.log)。

许可证

本项目采用 MIT 许可证。

相关 MCP 服务