Toast MCP Server

Windows 10 및 macOS 알림 기능이 있는 MCP 서버

프로젝트 개요

이 프로젝트는 데스크톱 알림을 볼 수 있는 MCP(Model Context Protocol) 서버를 만드는 것을 목표로 합니다. Windows 10에서는 win10toast 라이브러리를 사용하고 macOS에서는 osascript를 사용하여 알림을 표시합니다. 이 서버는 MCP 클라이언트(예: VSCode Cline)로부터 요청을 받고 이를 기반으로 데스크톱 알림을 표시합니다.

요구사항

기능 요구사항

  1. MCP 프로토콜 지원
    • MCP 클라이언트와의 통신을 설정하기위한 Model Context Protocol 구현
    • 최신 MCP 사양 지원(VSCode Cline과 완벽한 호환성 제공)
    • 동기 및 비동기 요청 처리
  2. 알림 시스템
    • Windows 10에서는 win10toast 라이브러리를 사용하여 데스크톱 알림 표시
    • macOS에서는 osascript를 사용하여 알림 센터에 알림 표시
    • 맞춤형 알림 매개변수 지원:
      • 제목
      • 메시지 내용
      • 표시 시간
      • 아이콘(Windows 전용, 옵션)
      • 자막(macOS 전용, 옵션)
      • 알림 소리(macOS 전용, 옵션)
      • 알림 유형(정보, 경고, 오류, 성공)
  3. 클라이언트 연결
    • 구성 가능한 네트워크 인터페이스에서 청취 (localhost 127.0.0.1뿐만 아니라 모든 인터페이스에 해당하는 0.0.0.0에서도)
    • 구성 가능한 포트(기본값: 8000)
    • 여러 동시 클라이언트 연결 처리
    • 연결 문제에 대한 적절한 오류 처리
  4. 명령 처리
    • MCP 클라이언트에서 알림 명령 처리
    • 알림을 트리거하기 위한 간단한 API 지원
    • 명령 검증 및 적절한 오류 응답 제공

기술 요건

  1. 서버 구현
    • 구현에는 Python 3.8 이상 사용
    • asyncio 또는 유사한 라이브러리를 사용하여 비동기 서버로 구현
    • MCP 서버 구현 모범 사례를 따르십시오.
  2. 종속성
    • Windows 10 데스크톱 알림을 위한 win10toast
    • macOS 알림용 osascript(시스템에 표준 탑재)
    • MCP 프로토콜 구현에 필요한 라이브러리
    • 외부 종속성을 최소화
  3. 설정
    • 명령줄 인수로 설정 지원
    • 환경 변수로 설정 지원
    • 모든 설정에 대한 합리적인 기본값 제공
  4. 로깅 및 오류 처리
    • 포괄적 인 로그 시스템 구현
    • 모든 클라이언트 연결, 명령, 오류 로깅
    • 의미있는 오류 메시지를 포함한 적절한 예외 처리

테스트 요구 사항

  1. 테스트 스크립트
    • 서버 기능을 입증하는 테스트 스크립트 포함
    • 다양한 알림 유형의 예
  2. 클라이언트 호환성
    • VSCode Cline과의 호환성 보장
    • 클라이언트 별 구성 요구 사항 문서화

아티팩트

  1. MCP 서버의 Python 구현
  2. 기능을 보여주는 테스트 스크립트
  3. 모든 종속성을 나열한 requirements.txt
  4. 사용법 및 설정에 관한 문서
  5. 일반적인 문제 문제해결 가이드

구현상의 주의

  • 서버가 localhost 뿐만 아니라 모든 인터페이스(0.0.0.0)에 바인딩하도록 합니다.
  • 동시 요청을 처리하기 위해 적절한 스레딩 또는 비동기 패턴 사용
  • 적절한 보안 조치(입력 검증 등) 포함
  • 연결 문제 디버깅을 위한 자세한 로깅 옵션 제공
  • 서버의 적절한 종료 구현

사용 예

완성된 서버는 다음과 같이 실행할 수 있습니다.

python mcp_server.py --port 8000 --host 0.0.0.0

그런 다음 VSCode Cline 또는 다른 MCP 클라이언트에서 MCP 프로토콜을 통해 알림을 트리거할 수 있습니다.

-
security - not tested
-
license - not tested
-
quality - not tested

An MCP server that displays desktop notifications on Windows 10 and macOS, compatible with VSCode Cline and supporting customizable notification parameters.

  1. プロジェクト概要
    1. 要件
      1. 機能要件
      2. 技術要件
      3. テスト要件
    2. 成果物
      1. 実装上の注意
        1. 使用例
          ID: jld7uwa9h9