mcpField
🤖
🤖 Dialogflow CX MCP Server 🚀

🤖 Dialogflow CX MCP Server 🚀

ローカル
github.com/Yash-KavaiyaAI・エージェント364 週間前に更新

🤖 Dialogflow CX MCP Server 🚀 について

AI アシスタントを Google Dialogflow CX のエージェントに接続する Python 製 MCP サーバーです。テキストや音声によるインテント処理、セッション管理、Webhook 操作を提供します。

主な機能

  1. 01テキストによるインテント検出と照合
  2. 02音声によるインテント検出
  3. 03会話セッション管理
  4. 04Webhook リクエストとレスポンス処理
  5. 05Dialogflow CX 認証

活用シーン

  1. 01テキストクエリを Dialogflow CX に渡す
  2. 02エージェントで音声を解析する
  3. 03Webhook のやり取りを処理する
  4. 04複数ターンの会話セッションを維持する

MCP 対応

MCP クライアント向けに、Dialogflow CX の初期化、インテント検出と照合、音声処理、セッション、Webhook のツールを公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"conversation-agents": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
起動コマンドdocker run -i --rm build

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocibuild

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

🤖 Dialogflow CX MCP サーバー 🚀

Dialogflow CX MCP Python

Google Dialogflow CX 向けの強力な Model Control Protocol(MCP)サーバー実装です。AI アシスタントと Google の高度な会話プラットフォームをシームレスに統合できます。

💡 プロのヒント: このサーバーは AI アシスタントと Dialogflow CX の間をつなぎ、強力な会話機能を活用できるようにします!

📋 概要

このプロジェクトは、標準化されたプロトコルを介して AI アシスタントが Dialogflow CX エージェントとやり取りできるツール群を提供します。サーバーが会話の管理、インテント検出の処理、Google の強力な NLU システムとの連携に関する複雑な処理をすべて担います。

✨ 主な機能
  • 🔄 Dialogflow CX との双方向通信
  • 🎯 インテントの検出およびマッチング機能
  • 🎤 音声認識のための音声処理
  • 🔌 Webhook のリクエスト/レスポンス処理
  • 📝 会話を継続するためのセッション管理
  • 🔒 安全な API 認証

🔧 必要条件

必要条件説明バージョン
🐍 Pythonプログラミング言語3.12+
☁️ Google CloudDialogflow CX を有効にしたプロジェクトLatest
🤖 Dialogflow CX会話エージェントLatest
🔑 API 認証情報Google サービスの認証-

🚀 インストール

🐳 Docker を使用する場合
# Clone the repository
git clone https://github.com/Yash-Kavaiya/mcp-server-conversation-agents.git
cd mcp-server-conversation-agents

# Build the Docker image
docker build -t dialogflow-cx-mcp .

# Run the container
docker run -it dialogflow-cx-mcp
💻 手動インストール
# Clone the repository
git clone https://github.com/Yash-Kavaiya/mcp-server-conversation-agents.git
cd mcp-server-conversation-agents

# Create a virtual environment (optional but recommended)
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install the package
pip install -e .

⚙️ 設定

以下の設定パラメーターを指定する必要があります。

パラメーター説明例
dialogflowApiKeyDialogflow API キー"abc123def456"
projectIdGoogle Cloud プロジェクト ID"my-dialogflow-project"
locationエージェントのロケーション"us-central1"
agentIdDialogflow CX エージェントの ID"12345-abcde-67890"

これらは環境変数として設定できます。

export DIALOGFLOW_API_KEY=your_api_key
export PROJECT_ID=your_project_id
export LOCATION=your_location
export AGENT_ID=your_agent_id

📊 アーキテクチャ

graph TD
    A[AI Assistant] <-->|MCP Protocol| B[MCP Server]
    B <-->|Google API| C[Dialogflow CX]
    C <-->|NLU Processing| D[Intent Detection]
    C <-->|Conversation Management| E[Session Management]
    B <-->|Webhooks| F[External Services]

🛠️ 使用方法

MCP サーバーは AI アシスタント向けに以下のツールを公開します。

🔍 initialize_dialogflow

プロジェクトの詳細を指定して Dialogflow CX クライアントを初期化します。

await initialize_dialogflow(
    project_id="your-project-id",
    location="us-central1",
    agent_id="your-agent-id",
    credentials_path="/path/to/credentials.json"  # Optional
)
💬 detect_intent

テキスト入力からインテントを検出します。

response = await detect_intent(
    text="Hello, how can you help me?",
    session_id="user123",  # Optional
    language_code="en-US"  # Optional
)
🎤 detect_intent_from_audio

音声ファイルを処理してインテントを検出します。

response = await detect_intent_from_audio(
    audio_file_path="/path/to/audio.wav",
    session_id="user123",  # Optional
    sample_rate_hertz=16000,  # Optional
    audio_encoding="AUDIO_ENCODING_LINEAR_16",  # Optional
    language_code="en-US"  # Optional
)
🎯 match_intent

会話セッションに影響を与えずにインテントをマッチングします。

response = await match_intent(
    text="What are your hours?",
    session_id="user123",  # Optional
    language_code="en-US"  # Optional
)
🔄 Webhook の処理

Webhook リクエストを解析し、Webhook レスポンスを作成します。

# Parse a webhook request
parsed_request = await parse_webhook_request(request_json)

# Create a webhook response
response = await create_webhook_response({
    "messages": ["Hello! How can I help you today?"],
    "parameter_updates": {"user_name": "John"}
})

🔧 レスポンス形式

レスポンス形式の例を以下に示します。

📋 クリックして展開
{
  "messages": [
    {
      "type": "text",
      "content": "Hello! How can I help you today?"
    }
  ],
  "intent": {
    "name": "greeting",
    "confidence": 0.95
  },
  "parameters": {
    "user_name": "John"
  },
  "current_page": "Welcome Page",
  "session_id": "user123",
  "end_interaction": false
}

🔗 Smithery との統合

このプロジェクトは、MCP サーバーのデプロイと管理を簡単に行えるプラットフォームである Smithery.ai と連携するように設定されています。

💡 プロのヒント: Smithery.ai との統合により、ワンクリックでのデプロイと Dialogflow CX MCP サーバーの簡単な管理が可能になります!

📄 ライセンス

ライセンス:MIT

👥 貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

貢献のワークフロー
  1. 🍴 リポジトリをフォークする
  2. 🔧 機能ブランチを作成する(git checkout -b feature/amazing-feature)
  3. 💻 変更をコミットする(git commit -m 'Add some amazing feature')
  4. 🚀 ブランチにプッシュする(git push origin feature/amazing-feature)
  5. 🔍 プルリクエストを作成する

MCP Server チームが ❤️ を込めて作成

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。