local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Supports publishing CO2 sensor data to MQTT brokers, including functionality to reconnect to MQTT services when needed.
Runs as a Node.js application providing device information, sensor data, and network status via JSON-RPC interface.
Connects to a Raspberry Pi Pico via USB to read real CO2 levels as an alternative to simulation mode.
센서 장치용 MCP 서버
이 프로젝트는 Claude Desktop에서 사용하도록 설계된 Node.js 애플리케이션입니다. CO2 센서 장치를 시뮬레이션하고 장치와 상호 작용할 수 있는 JSON-RPC 서버를 제공합니다. 이 애플리케이션은 시뮬레이션 모드와 실제 모드 모두에서 실행 가능하며, 실제 모드에서는 USB를 통해 Raspberry Pi Pico에 연결하여 CO2 수치를 측정합니다.
특징
- 시뮬레이션 모드에서 무작위 CO2 수준을 갖는 CO2 센서 장치를 시뮬레이션합니다.
- USB를 통해 Raspberry Pi Pico에 연결하여 실제 CO2 수치를 읽습니다.
- JSON-RPC를 통해 장치 정보, 센서 데이터 및 네트워크 상태를 제공합니다.
- MQTT에 데이터를 게시하고, WiFi를 재연결하고, MQTT를 재연결하는 명령을 지원합니다(일부 기능은 모의되었습니다).
설치
이 애플리케이션을 실행하려면 컴퓨터에 Node.js가 설치되어 있어야 합니다. Node.js가 설치되어 있지 않으면 공식 웹사이트 에서 다운로드할 수 있습니다.
- 저장소를 복제합니다.
- npm을 사용하여 종속성을 설치합니다.지엑스피1
구성
claude_desktop_config.json
파일이 서버 실행에 맞게 올바르게 구성되었는지 확인하세요. 구성 예시:
용법
서버를 시작하려면 다음 명령을 실행하세요.
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 라이선스에 따라 라이선스가 부여되었습니다.
This server cannot be installed
시뮬레이션 모드와 실제 Raspberry Pi Pico 하드웨어 연결 모두에서 작동하며 CO2 센서 데이터와 상호작용하기 위한 JSON-RPC 인터페이스를 제공하는 Node.js 애플리케이션입니다.