Skip to main content

A Model Context Protocol (MCP) server with Windows 10 and macOS desktop notifications support

Project description

Windows 10 および macOS 通知機能付き MCP サーバー

プロジェクト概要

このプロジェクトは、デスクトップ通知を表示できる Model Context Protocol (MCP) サーバーを作成することを目的としています。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 プロトコルを介して通知をトリガーできるようにする。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

orange_toast_mcp_server-0.1.0.tar.gz (20.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

orange_toast_mcp_server-0.1.0-py3-none-any.whl (28.8 kB view details)

Uploaded Python 3

File details

Details for the file orange_toast_mcp_server-0.1.0.tar.gz.

File metadata

  • Download URL: orange_toast_mcp_server-0.1.0.tar.gz
  • Upload date:
  • Size: 20.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for orange_toast_mcp_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 59d2464a9c064011350b804ce50aa56f940f62c363211c5deb4e897afa9ee048
MD5 870aa548eb79ef9015019f153ab7c71d
BLAKE2b-256 dd0128af45bc4d01c2385101b4f6b62193afd1d4863fc85755c8483f34902ab5

See more details on using hashes here.

File details

Details for the file orange_toast_mcp_server-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for orange_toast_mcp_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a48614ed64726f9e8f8a56cc0ab0ebc1a8506d26f6b992ac67146dbbb2e1f631
MD5 47b13cac9e2c17f38f1b1121a843b11d
BLAKE2b-256 661b02816f8cd6431a052db379b8221adfe2f4bd0829139349ba1461f14db965

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page