Home Assistant용 모델 컨텍스트 프로토콜 서버
서버는 MCP 프로토콜을 사용하여 로컬 Home Assistant 인스턴스에 대한 액세스를 LLM 애플리케이션과 공유합니다.
Home Assistant 인스턴스와 언어 학습 모델(LLM)을 연결하는 강력한 브리지로, 모델 컨텍스트 프로토콜(MCP)을 통해 스마트 홈 기기의 자연어 제어 및 모니터링을 지원합니다. 이 서버는 기기 제어부터 시스템 관리까지 전체 Home Assistant 생태계를 관리할 수 있는 포괄적인 API를 제공합니다.
특징
🎮 기기 제어 : 자연어를 통해 모든 Home Assistant 기기를 제어하세요
🔄 실시간 업데이트 : SSE(Server-Sent Events)를 통해 즉각적인 업데이트를 받으세요.
🤖 자동화 관리 : 자동화를 생성, 업데이트 및 관리합니다.
📊 상태 모니터링 : 장치 상태 추적 및 쿼리
🔐 보안 : 토큰 기반 인증 및 속도 제한
📱 모바일 지원 : HTTP 지원 클라이언트와 함께 작동합니다.
Related MCP server: Google Home MCP Server
SSE를 통한 실시간 업데이트
이 서버에는 Home Assistant 인스턴스에서 실시간 업데이트를 제공하는 강력한 SSE(Server-Sent Events) 시스템이 포함되어 있습니다. 이를 통해 다음과 같은 작업을 수행할 수 있습니다.
🔄 모든 기기에서 즉각적인 상태 변경을 받으세요
📡 자동화 트리거 및 실행 모니터링
🎯 특정 도메인이나 엔터티 구독
📊 서비스 호출 및 스크립트 실행 추적
빠른 SSE 예제
지엑스피1
SSE 시스템에 대한 전체 문서는 SSE_API.md를 참조하세요.
목차
주요 특징
핵심 기능 🎮
스마트 기기 제어
💡 조명 : 밝기, 색온도, RGB 색상
🌡️ 기후 : 온도, HVAC 모드, 팬 모드, 습도
🚪 커버 : 위치 및 기울기 제어
🔌 스위치 : 켜기/끄기 제어
🚨 센서 및 접점 : 상태 모니터링
🎵 미디어 플레이어 : 재생 제어, 볼륨, 소스 선택
🌪️ 팬 : 속도, 진동, 방향
🔒 잠금 : 잠금/잠금 해제 제어
🧹 진공 : 시작, 중지, 베이스로 복귀
📹 카메라 : 동작 감지, 스냅샷
시스템 관리 🛠️
애드온 관리
사용 가능한 애드온 찾아보기
애드온 설치/제거
애드온 시작/중지/재시작
버전 관리
구성 액세스
패키지 관리(HACS)
Home Assistant 커뮤니티 스토어와 통합
다양한 패키지 유형 지원:
사용자 정의 통합
프런트엔드 테마
파이썬 스크립트
AppDaemon 앱
NetDaemon 앱
버전 제어 및 업데이트
저장소 관리
자동화 관리
자동화 생성 및 편집
고급 구성 옵션:
다양한 트리거 유형
복잡한 조건
액션 시퀀스
실행 모드
기존 자동화를 복제하고 수정합니다.
자동화 규칙 활성화/비활성화
자동화를 수동으로 트리거합니다
건축 특징 🏗️
지능형 조직
지역 및 층 기반 장치 그룹화
상태 모니터링 및 쿼리
스마트한 상황 인식
과거 데이터 접근
견고한 아키텍처
포괄적인 오류 처리
상태 검증
안전한 API 통합
TypeScript 유형 안전성
광범위한 테스트 범위
필수 조건
Node.js 20.10.0 이상
NPM 패키지 관리자
컨테이너화를 위한 Docker Compose
Home Assistant 인스턴스 실행 중
Home Assistant 장기 액세스 토큰( 토큰을 얻는 방법 )
패키지 관리 기능을 위해 HACS가 설치됨
추가 기능 관리를 위한 감독자 액세스
설치
기본 설정
Docker 설정(권장)
이 프로젝트에는 다양한 플랫폼에서 쉬운 배포와 일관된 환경을 제공하는 Docker 지원이 포함됩니다.
저장소를 복제합니다.
git clone https://github.com/jango-blockchained/homeassistant-mcp.git cd homeassistant-mcp환경 구성:
cp .env.example .envHome Assistant 구성으로
.env파일을 편집합니다.# Home Assistant Configuration HASS_HOST=http://homeassistant.local:8123 HASS_TOKEN=your_home_assistant_token HASS_SOCKET_URL=ws://homeassistant.local:8123/api/websocket # Server Configuration PORT=3000 NODE_ENV=production DEBUG=falseDocker Compose로 빌드하고 실행하세요.
# Build and start the containers docker compose up -d # View logs docker compose logs -f # Stop the service docker compose down설치 확인: 이제 서버가
http://localhost:3000에서 실행 중이어야 합니다.http://localhost:3000/health에서 상태 엔드포인트를 확인할 수 있습니다.애플리케이션을 업데이트하세요:
# Pull the latest changes git pull # Rebuild and restart the containers docker compose up -d --build
Docker 구성
Docker 설정에는 다음이 포함됩니다.
최적의 이미지 크기를 위한 다단계 빌드
컨테이너 모니터링을 위한 상태 점검
환경 구성을 위한 볼륨 마운팅
실패 시 컨테이너 자동 재시작
API 액세스를 위해 노출된 포트 3000
Docker Compose 환경 변수
모든 환경 변수는 .env 파일에서 구성할 수 있습니다. 지원되는 변수는 다음과 같습니다.
HASS_HOST: Home Assistant 인스턴스 URLHASS_TOKEN: Home Assistant용 장기 액세스 토큰HASS_SOCKET_URL: Home Assistant용 WebSocket URLPORT: 서버 포트(기본값: 3000)NODE_ENV: 환경(프로덕션/개발)DEBUG: 디버그 모드 활성화(true/false)
구성
환경 변수
구성 파일
개발 :
.env.example``.env.development로 복사합니다.프로덕션 :
.env.example``.env.production으로 복사합니다.테스트 :
.env.example``.env.test로 복사합니다.
Claude Desktop(또는 다른 클라이언트)에 추가
새 Home Assistant MCP 서버를 사용하려면 Claude Desktop을 클라이언트로 추가하세요. 구성에 다음을 추가하세요. 이렇게 하면 Claude 내에서 MCP가 실행되며 Docker 방식에서는 작동하지 않습니다.
API 참조
장치 제어
공통 엔터티 컨트롤
조명 제어
애드온 관리
사용 가능한 추가 기능 목록
애드온 설치
애드온 상태 관리
패키지 관리
HACS 패키지 목록
패키지 설치
자동화 관리
자동화 만들기
복제 자동화
핵심 기능
국가 관리
시스템의 현재 상태를 관리합니다.
요청 예시:
컨텍스트 업데이트
현재 상황을 새로운 정보로 업데이트합니다.
요청 예시:
작업 엔드포인트
작업 실행
주어진 매개변수로 지정된 작업을 실행합니다.
요청 예시:
일괄 작업
여러 작업을 순서대로 실행합니다.
요청 예시:
쿼리 함수
사용 가능한 작업 가져오기
사용 가능한 모든 작업 목록을 반환합니다.
응답 예시:
컨텍스트 쿼리
컨텍스트 정보를 검색합니다.
응답 예시:
웹소켓 이벤트
서버는 WebSocket 연결을 통해 실시간 업데이트를 지원합니다.
지원되는 이벤트
state_change: 시스템 상태가 변경될 때 발생합니다.context_update: 컨텍스트가 업데이트될 때 발생합니다.action_executed: 작업이 완료될 때 발생합니다.error: 오류가 발생할 때 발생합니다.
이벤트 데이터 예시:
오류 처리
모든 엔드포인트는 표준 HTTP 상태 코드를 반환합니다.
200: 성공
400: 잘못된 요청
401: 승인되지 않음
403: 금지됨
404: 찾을 수 없음
500: 내부 서버 오류
오류 응답 형식:
속도 제한
API는 남용을 방지하기 위해 속도 제한을 구현합니다.
일반 엔드포인트의 경우 IP당 분당 100개 요청
WebSocket 연결에 대해 IP당 분당 1000개 요청
속도 제한을 초과하면 서버는 다음을 반환합니다.
사용 예
컬을 사용하여
JavaScript 사용
개발
문제 해결
일반적인 문제
Node.js 버전 (
해결 방법: Node.js 20.10.0+ GXP38로 업데이트
연결 문제
Home Assistant가 실행 중인지 확인하세요
HASS_HOST접근성 확인토큰 권한 검증
실시간 업데이트를 위해 WebSocket 연결을 확보하세요
애드온 관리 문제
감독자 액세스 확인
애드온 호환성 확인
시스템 리소스 검증
HACS 통합 문제
HACS 설치 확인
HACS 통합 상태 확인
저장소 액세스 검증
자동화 문제
엔터티 가용성 확인
트리거 조건 확인
서비스 호출 검증
실행 로그 모니터링
프로젝트 상태
✅ 완료
엔티티, 층 및 영역 액세스
장치 제어(조명, 기후, 커버, 스위치, 접점)
애드온 관리 시스템
HACS를 통한 패키지 관리
고급 자동화 구성
기본 상태 관리
오류 처리 및 검증
Docker 컨테이너화
Jest 테스트 설정
TypeScript 통합
환경 변수 관리
홈 어시스턴트 API 통합
프로젝트 문서
🚧 진행 중
실시간 업데이트를 위한 WebSocket 구현
강화된 보안 기능
도구 구성 최적화
성능 최적화
리소스 컨텍스트 통합
API 문서 생성
다중 플랫폼 데스크톱 통합
고급 오류 복구
맞춤형 프롬프트 테스트
향상된 macOS 통합
유형 안전 개선
테스트 커버리지 확장
기여하다
저장소를 포크하세요
기능 브랜치 생성
변경 사항을 구현하세요
새로운 기능에 대한 테스트 추가
모든 테스트가 통과되었는지 확인하세요
풀 리퀘스트 제출
자원
특허
MIT 라이선스 - LICENSE 파일 참조
Appeared in Searches
- A server for controlling smart home lights
- An MCP for managing lifestyle, coordinating daily routines, exercise, and study tasks
- Searching for information about license types or information starting with 'f'
- A server for finding information about guitars
- Software or solutions for managing a fleet of computers