EMQX MCP 서버
EMQX MQTT 브로커 상호작용을 제공하는 모델 컨텍스트 프로토콜(MCP) 서버 구현입니다. MCP 클라이언트가 EMQX 클라우드 또는 자체 호스팅 클러스터의 MQTT 클러스터와 상호작용할 수 있도록 지원합니다.
특징
MQTT 클라이언트 관리
클라이언트 목록: 유연한 필터링 옵션을 통해 연결된 모든 MQTT 클라이언트를 확인하세요.
클라이언트 정보: 특정 클라이언트에 대한 자세한 정보를 검색합니다.
연결 제어: 문제가 있거나 오래된 클라이언트를 브로커에서 연결 해제합니다.
유연한 필터링: 노드, 사용자 이름, 클라이언트 ID, 연결 상태 등을 기준으로 클라이언트 필터링
MQTT 메시지 게시
주제 기반 게시: 모든 MQTT 주제에 메시지 보내기
QoS 제어: 안정적인 전달을 위해 서비스 품질 수준(0, 1 또는 2)을 선택합니다.
메시지 보존: 새 구독자에게 메시지를 보존하는 옵션
사용자 정의 페이로드: 모든 메시지 콘텐츠 형식 지원
Related MCP server: MCP Server
도구
리스트_mqtt_클라이언트
EMQX 클러스터에 연결된 MQTT 클라이언트 나열
입력:
페이지(번호, 선택 사항): 페이지 번호(기본값: 1)
limit(숫자, 선택 사항): 페이지당 결과(기본값: 100, 최대 10000)
node(문자열, 선택 사항): 특정 노드 이름으로 필터링
clientid(문자열, 선택 사항): 특정 클라이언트 ID로 필터링
사용자 이름(문자열, 선택 사항): 특정 사용자 이름으로 필터링
ip_address(문자열, 선택 사항): 클라이언트 IP 주소로 필터링
conn_state(문자열, 선택 사항): 연결 상태로 필터링
clean_start(부울, 선택 사항): clean start 플래그로 필터링
proto_ver(문자열, 선택 사항): 프로토콜 버전으로 필터링
like_clientid(문자열, 선택 사항): 클라이언트 ID 패턴으로 퍼지 검색
like_username(문자열, 선택 사항): 사용자 이름 패턴으로 퍼지 검색
like_ip_address(문자열, 선택 사항): IP 주소 패턴으로 퍼지 검색
get_mqtt_client
클라이언트 ID로 특정 MQTT 클라이언트에 대한 자세한 정보를 얻으세요
입력:
clientid(문자열, 필수): 검색할 클라이언트의 고유 식별자
kick_mqtt_클라이언트
클라이언트 ID로 MQTT 브로커에서 클라이언트 연결 해제
입력:
clientid(문자열, 필수): 연결을 끊을 클라이언트의 고유 식별자
MQTT 메시지 게시
EMQX 클라우드 또는 자체 관리 배포에서 EMQX 클러스터에 MQTT 메시지 게시
입력:
주제(문자열, 필수): 게시할 MQTT 주제
payload(문자열, 필수): 게시할 메시지 내용
qos(숫자, 선택 사항): 서비스 품질 수준(0, 1 또는 2)(기본값: 0)
retain(부울, 선택 사항): 메시지를 보관할지 여부(기본값: false)
EMQX 클러스터 설정
EMQX MCP 서버 도구를 사용하기 전에 API 키와 클라이언트 인증을 올바르게 구성하여 EMQX 클러스터를 설정해야 합니다. 다음과 같은 몇 가지 옵션이 있습니다.
EMQX 클라우드 서버리스 배포:
시작하는 가장 쉬운 방법입니다.
EMQX Cloud에서 무료 서버리스 배포를 받으세요
EMQX Cloud Serverless 에 가입하세요
EMQX 클라우드 전용 배포:
프로덕션 워크로드에 대한 전담 리소스를 제공합니다.
향상된 성능, 안정성 및 사용자 정의 옵션을 제공합니다.
다양한 클라우드 공급자(AWS, GCP, Azure) 지원
전문적인 SLA 및 지원이 포함됩니다.
EMQX Cloud Dedicated 에서 배포를 생성합니다.
셀프 호스팅 EMQX 플랫폼:
EMQX 플랫폼을 로컬로 다운로드하고 배포하세요
EMQX 플랫폼 의 설치 지침을 따르세요
Claude Desktop App을 사용하여 로컬로 실행
옵션 1: Smithery를 통해 설치
Smithery를 통해 Claude Desktop에 emqx-mcp-server를 자동으로 설치하려면:
지엑스피1
옵션 2: Docker
아직 Claude 데스크톱 앱을 설치하지 않았다면 지금 설치하세요.
이미지를 끌어오세요:
docker pull benniuji/emqx-mcp-serverclaude_desktop_config.json파일에 다음을 추가하세요.MacOS의 경우:
~/Library/Application\ Support/Claude/claude_desktop_config.jsonWindows의 경우:
%APPDATA%/Claude/claude_desktop_config.json
{ "mcpServers": { "EMQX_MCP_Server": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "EMQX_API_URL=https://your-emqx-cloud-instance.com:8443/api/v5", "-e", "EMQX_API_KEY=<YOUR-API-KEY>", "-e", "EMQX_API_SECRET=<YOUR-API-SECRET>", "benniuji/emqx-mcp-server" ] } } }참고: env 변수를 업데이트하세요:
EMQX_API_URL,EMQX_API_KEY,EMQX_API_SECRETClaude 데스크톱 앱을 열거나 다시 시작하세요
Claude에게 MQTT 브로커에 대해 뭔가를 해달라고 요청해보세요(예: 주제에 MQTT 메시지를 게시하도록 요청).
옵션 3: 수동 설치
먼저, uv 실행 파일이 설치되어 있는지 확인하세요. 설치되어 있지 않다면 여기 의 지침에 따라 설치하세요.
아직 Claude 데스크톱 앱을 설치하지 않았다면 지금 설치하세요.
이 저장소를 복제합니다.
claude_desktop_config.json파일에 다음을 추가하세요.MacOS의 경우:
~/Library/Application\ Support/Claude/claude_desktop_config.jsonWindows의 경우:
%APPDATA%/Claude/claude_desktop_config.jsonGXP4
참고:
path/to/repo/src/emqx_mcp_server실제 경로로 업데이트하고 환경 변수EMQX_API_URL,EMQX_API_KEY및EMQX_API_SECRET을 수정하여 EMQX 인스턴스와 일치하도록 해야 합니다.Claude 데스크톱 앱을 열거나 다시 시작하세요
Claude에게 MQTT 브로커에 대해 뭔가를 해달라고 요청해보세요(예: 주제에 MQTT 메시지를 게시하도록 요청).
예시 프롬프트
사용자:
법학 석사(LLM):
사용자:
법학 석사(LLM):
사용자:
법학 석사(LLM):
사용자:
법학 석사
특허
이 프로젝트는 Apache 라이선스 버전 2.0에 따라 라이선스가 부여되었습니다. 자세한 내용은 LICENSE 파일을 참조하세요.