Skip to main content

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 プロトコルを介して通知をトリガーできるようにする。

Metadata

Release files for orange-toast-mcp-server 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for orange-toast-mcp-server 0.1.0
File Size Uploaded Provenance Actions
orange_toast_mcp_server-0.1.0.tar.gz 20.4 kB Without provenance Details for orange_toast_mcp_server-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for orange-toast-mcp-server 0.1.0
File Interpreter ABI Platform Actions
orange_toast_mcp_server-0.1.0-py3-none-any.whl Python 3 none any Details for orange_toast_mcp_server-0.1.0-py3-none-any.whl

Total release size: 49.2 kB

Release files / orange_toast_mcp_server-0.1.0.tar.gz

Download URL orange_toast_mcp_server-0.1.0.tar.gz
Size 20.4 kB
Tags Source
SHA-256 checksum
How to use checksums
59d2464a9c064011350b804ce50aa56f940f62c363211c5deb4e897afa9ee048
BLAKE2b-256 checksum
How to use checksums
dd0128af45bc4d01c2385101b4f6b62193afd1d4863fc85755c8483f34902ab5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.12

Release files / orange_toast_mcp_server-0.1.0-py3-none-any.whl

Download URL orange_toast_mcp_server-0.1.0-py3-none-any.whl
Size 28.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a48614ed64726f9e8f8a56cc0ab0ebc1a8506d26f6b992ac67146dbbb2e1f631
BLAKE2b-256 checksum
How to use checksums
661b02816f8cd6431a052db379b8221adfe2f4bd0829139349ba1461f14db965
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.12

Security for orange-toast-mcp-server 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page