Model Context Protocol (MCP) について
AI アプリに人工バーチャルアシスタント AVA のツールセットを提供する、カスタム MCP サーバーのサンプルです。サーバー設定、Google OAuth による Gmail の認証、プロンプトファイルでの AVA の動作調整を扱います。
主な機能
- 01AI アプリへの AVA ツールセット提供
- 02プロンプトファイルによる AVA の調整
- 03Google OAuth による Gmail 認証
活用シーン
- 01Claude Desktop または Cursor での AVA 設定
- 02サーバーによる Gmail アクセスの認証
- 03AVA の応答方針やタスク規則の編集
MCP 対応
この MCP サーバーは、AI アプリに AVA のツールセットを公開します。README では Claude Desktop または Cursor への設定方法を紹介しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Model Context Protocol (MCP)
すべてのクレジットは次のとおりです:https://github.com/ShawhinT/YouTube-Blog/
AI エージェントシリーズの4つ目の例です。ここでは、あらゆる AI アプリから人工バーチャルアシスタント(AVA)のツールセットにアクセスできるように、カスタマー向け MCP サーバーを構築します。
リンク
この例の実行方法
- このリポジトリをクローンします
- まだインストールしていない場合は、uvをインストールします
# Mac/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
- 開発モードでサーバーをテストします
uv run mcp dev mcp-server-example.py
- AI アプリ(例:Claude Desktop または Cursor)にサーバー設定を追加します。
{
"mcpServers": {
"AVA": {
"command": "/Users/shawhin/.local/bin/uv", # replace with global path to your uv installation
"args": [
"--directory",
"/Users/shawhin/Documents/_code/_stv/sandbox/ava-mcp/", # replace with global path to repo
"run",
"mcp-server-example.py"
]
}
}
}
AVAの動作をカスタマイズする
個人情報と設定を更新する
- プロジェクトディレクトリ内の
prompts/ava.mdファイルを探します - 次の内容を含めてファイルをカスタマイズします:
- コミュニケーションの設定
- タスクの処理に関する具体的な指示
- AVAに関するその他のガイドライン
環境設定(.env)
- プロジェクトのルートディレクトリに
.envファイルを作成し、次の変数を設定します:
USER_EMAIL=your_email_address
# Google OAuth Credentials
GOOGLE_CREDENTIALS_PATH=.config/ava-agent/credentials.json
GOOGLE_TOKEN_PATH=.config/ava-agent/token.json
必須の環境変数:
USER_EMAIL:このアプリケーションで使用するGmailアドレスGOOGLE_CREDENTIALS_PATH:Google OAuth認証情報ファイルへのパスGOOGLE_TOKEN_PATH:Google OAuthトークンの保存先パス
Google OAuthの設定
1. プロジェクトのディレクトリ構成を作成する
まず、必要なディレクトリ構成を作成します:
mkdir -p .config/ava-agent
2. Google Cloudプロジェクトを設定する
- Google Cloud Consoleにアクセスします
- 新しいプロジェクトを作成するか、既存のプロジェクトを選択します
- Gmail APIを有効にします:
- ナビゲーションメニューで「APIとサービス」>「ライブラリ」に移動します
- 「Gmail API」を検索します
- 「有効にする」をクリックします
3. OAuth認証情報を作成する
-
Google Cloud Consoleで:
- 「APIとサービス」>「認証情報」に移動します
- 「認証情報を作成」>「OAuthクライアントID」をクリックします
- アプリケーションの種類として「デスクトップアプリ」を選択します
- 名前(例:「AVA Gmail Client」)を付けます
- 「作成」をクリックします
-
認証情報をダウンロードします:
- 作成後、「JSONをダウンロード」をクリックします
- ダウンロードしたファイルを
.config/ava-agent/内にcredentials.jsonとして保存します - ファイルにはクライアントIDとクライアントシークレットが含まれている必要があります
4. OAuth同意画面を設定する
- Google Cloud Consoleで:
- 「APIとサービス」>「OAuth同意画面」に移動します
- ユーザーの種類で「外部」を選択します
- 必要な情報を入力します:
- アプリ名
- ユーザーサポートのメールアドレス
- デベロッパーの連絡先情報
- Gmail APIのスコープを追加します:
https://www.googleapis.com/auth/gmail.modify - テストユーザーとして自分のメールアドレスを追加します
- 設定を完了します
Googleへのサインイン
サーバーがGmailアカウントにアクセスする前に、認証が必要です。uv run oauth.pyを実行すると、次の処理が行われます。
token.jsonが存在するか確認します- 見つからない場合、Google OAuth認証フローを開始します
- ブラウザーで認証プロセスを案内します:
- Googleアカウントへのサインインを求められます
- 要求された権限を許可します
- アプリケーションがトークンを自動的に保存します
- トークンを自動的に生成して保存します
セキュリティに関する注意事項
ファイルの保護
.envファイルやtoken.jsonをバージョン管理にコミットしないでください- Googleの認証情報は安全に保管してください
- 次の内容を
.gitignoreに追加します:.env .config/ava-agent/token.json .config/ava-agent/credentials.json
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。