Windows 10 및 macOS 알림 기능이 있는 MCP 서버
프로젝트 개요
이 프로젝트는 데스크톱 알림을 볼 수 있는 MCP(Model Context Protocol) 서버를 만드는 것을 목표로 합니다. Windows 10에서는 win10toast 라이브러리를 사용하고 macOS에서는 osascript를 사용하여 알림을 표시합니다. 이 서버는 MCP 클라이언트(예: VSCode Cline)로부터 요청을 받고 이를 기반으로 데스크톱 알림을 표시합니다.
요구사항
기능 요구사항
- MCP 프로토콜 지원
- MCP 클라이언트와의 통신을 설정하기위한 Model Context Protocol 구현
- 최신 MCP 사양 지원(VSCode Cline과 완벽한 호환성 제공)
- 동기 및 비동기 요청 처리
- 알림 시스템
- Windows 10에서는 win10toast 라이브러리를 사용하여 데스크톱 알림 표시
- macOS에서는 osascript를 사용하여 알림 센터에 알림 표시
- 맞춤형 알림 매개변수 지원:
- 제목
- 메시지 내용
- 표시 시간
- 아이콘(Windows 전용, 옵션)
- 자막(macOS 전용, 옵션)
- 알림 소리(macOS 전용, 옵션)
- 알림 유형(정보, 경고, 오류, 성공)
- 클라이언트 연결
- 구성 가능한 네트워크 인터페이스에서 청취 (localhost 127.0.0.1뿐만 아니라 모든 인터페이스에 해당하는 0.0.0.0에서도)
- 구성 가능한 포트(기본값: 8000)
- 여러 동시 클라이언트 연결 처리
- 연결 문제에 대한 적절한 오류 처리
- 명령 처리
- MCP 클라이언트에서 알림 명령 처리
- 알림을 트리거하기 위한 간단한 API 지원
- 명령 검증 및 적절한 오류 응답 제공
기술 요건
- 서버 구현
- 구현에는 Python 3.8 이상 사용
- asyncio 또는 유사한 라이브러리를 사용하여 비동기 서버로 구현
- MCP 서버 구현 모범 사례를 따르십시오.
- 종속성
- Windows 10 데스크톱 알림을 위한 win10toast
- macOS 알림용 osascript(시스템에 표준 탑재)
- MCP 프로토콜 구현에 필요한 라이브러리
- 외부 종속성을 최소화
- 설정
- 명령줄 인수로 설정 지원
- 환경 변수로 설정 지원
- 모든 설정에 대한 합리적인 기본값 제공
- 로깅 및 오류 처리
- 포괄적 인 로그 시스템 구현
- 모든 클라이언트 연결, 명령, 오류 로깅
- 의미있는 오류 메시지를 포함한 적절한 예외 처리
테스트 요구 사항
- 테스트 스크립트
- 서버 기능을 입증하는 테스트 스크립트 포함
- 다양한 알림 유형의 예
- 클라이언트 호환성
- VSCode Cline과의 호환성 보장
- 클라이언트 별 구성 요구 사항 문서화
아티팩트
- MCP 서버의 Python 구현
- 기능을 보여주는 테스트 스크립트
- 모든 종속성을 나열한 requirements.txt
- 사용법 및 설정에 관한 문서
- 일반적인 문제 문제해결 가이드
구현상의 주의
- 서버가 localhost 뿐만 아니라 모든 인터페이스(0.0.0.0)에 바인딩하도록 합니다.
- 동시 요청을 처리하기 위해 적절한 스레딩 또는 비동기 패턴 사용
- 적절한 보안 조치(입력 검증 등) 포함
- 연결 문제 디버깅을 위한 자세한 로깅 옵션 제공
- 서버의 적절한 종료 구현
사용 예
완성된 서버는 다음과 같이 실행할 수 있습니다.
Copy
그런 다음 VSCode Cline 또는 다른 MCP 클라이언트에서 MCP 프로토콜을 통해 알림을 트리거할 수 있습니다.