My MCP Servers について
My MCP Serversは、カレンダー、天気、macOSのMusic操作、Azure Cosmos DB向けのPython製MCPサーバー群です。MCPクライアントから各機能を利用でき、Cosmos DBの認証情報はAzure Key Vaultから読み込みます。
主な機能
- 01Google Calendarの予定管理
- 02位置情報に基づく予報と警報
- 03macOS Musicの再生操作
- 04IDによるCosmos DB文書の取得
活用シーン
- 01予定や定期的な会議の作成・確認
- 02地域の天気予報や警報の確認
- 03macOS Musicアプリの再生操作
- 04Azure Cosmos DBコンテナーから文書を取得
MCP 対応
カレンダー、天気、macOS Musicの再生操作、Azure Cosmos DBの文書取得機能をMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
My MCP Servers
カレンダー管理や天気情報など、さまざまなサービスを提供するカスタム MCP(Model Context Protocol)サーバーのコレクションです。
MCP サーバーの構築方法については、公式の MCP ドキュメントをご覧ください。
機能
- カレンダーサービス:イベント管理のための Google Calendar API との連携
- 天気サービス:天気情報と予報機能
- サウンド制御サービス:macOS のミュージックアプリの基本的な再生操作
- Cosmos DB サービス:Azure Cosmos DB コンテナーからドキュメントを取得
システム要件
- Python 3.10 以降
- MCP SDK 1.2.0 以降
- Google Calendar API の認証情報(
credentials.json)
環境のセットアップ
- uv をインストールします(MacOS/Linux):
curl -LsSf https://astral.sh/uv/install.sh | sh
注:コマンドを使用できるように、uv のインストール後にターミナルを再起動してください。
- リポジトリをクローンします:
git clone <your-repository-url>
cd my-mcp-servers
- 環境を同期します:
uv sync
- 動作することを確認します:
uv run weather/weather.py
設定
- Google Calendar API の認証情報を
credentials.jsonに配置します- 認証情報を取得するには、Google Calendar API Python クイックスタートガイドに従ってください 注:カレンダーサービスを初めて使用するときに、認証トークンが自動的に生成されます。
サービス
カレンダーサービス
カレンダーサービスは Google Calendar と連携し、次の操作を行えます:
- カレンダーイベントの作成と管理
- 今後のイベントの一覧表示
- 定期的な会議の設定
天気サービス
天気サービスでは、次の機能を利用できます:
- 天気予報
- 気象警報
- 位置情報に基づく天気情報
サウンド制御サービス
このサービスは macOS のシンプルな再生操作を提供します。次の操作を行えます:
- 現在のトラックの再生または一時停止
- 次のトラックへのスキップ
- 前のトラックに戻る
Cosmos DB サービス
Cosmos DB サービスは Azure Cosmos DB に接続し、id によるドキュメントの取得を可能にします。接続情報は初期化時に Azure Key Vault のシークレットから安全に読み込まれます。
使用方法
Azure リソースを指定してサービスを初期化します:
keyvault_name:Azure Key Vault の名前(例:「my-keyvault」)secret_name:Cosmos DB の接続文字列を含むシークレットの名前database_name:対象となる Cosmos DB データベースの名前container_name:データベース内の対象コンテナーの名前
初期化の例:
# The service will automatically connect using DefaultAzureCredential
# Ensure your environment has proper Azure authentication configured
await initialize(
keyvault_name="my-company-keyvault",
secret_name="cosmos-connection-string",
database_name="production-db",
container_name="documents"
)
初期化後は、ID を指定してドキュメントを取得できます:
# Retrieve a document by its ID
document = await get_document_by_id("user-123")
ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています。詳細については、LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。