Dialogflow CX MCP服务器

一个强大的模型控制协议(MCP)服务器实现,用于Google Dialogflow CX,实现AI助手与Google高级对话平台的无缝集成。

  • by Yash-Kavaiya
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 Yash-Kavaiya/mcp-server-conversation-agents

使用说明

🤖 Dialogflow CX MCP服务器🚀

一个功能强大的模型控制协议(MCP)服务器实现 谷歌Dialogflow CX,实现了人工智能助手和谷歌高级对话平台之间的无缝集成。

💡 专业提示: 该服务器弥合了人工智能助手和Dialogflow CX之间的差距,解锁了强大的对话功能!

📋 概述

该项目提供了一套工具,允许AI助手通过标准化协议与Dialogflow CX代理进行交互。该服务器处理管理对话、处理意图检测以及与谷歌强大的NLU系统接口的所有复杂性。

✨ 主要特点

  • 🔄 与Dialogflow CX进行双向沟通
  • 🎯 意图检测和匹配功能
  • 🎤 语音识别的音频处理
  • 🔌 Webhook请求/响应处理
  • 📝 持续对话的会话管理
  • 🔒 安全的API身份验证

🔧 需求

需求 描述 版本
🐍 Python 编程语言 3.12+
☁️ Google Cloud 启用Dialogflow CX的项目 最新
🤖 Dialogflow CX 会话代理 最新
🔑 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 .

⚙️ 配置

您需要提供以下配置参数:

参数 说明 示例
dialogflowApiKey 您的对话流API键 "abc123def456"
projectId 谷歌云项目ID "my-dialogflow-project"
location 代理人所在地 "us-central1"
agentId Dialogflow 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助手提供以下工具:

🔍 初始化对话流

使用您的项目详细信息初始化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
)

💬 检测内容

从文本输入中检测意图。

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

🎤 检测_意图_音频

处理音频文件以检测意图。

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
)

🎯 比赛内容

在不影响对话会话的情况下匹配意图。

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

🔄 网钩处理

分析 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"}
})

🔧 响应格式

以下是响应格式的示例:

📋 Click to expand
{
  "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集成

此项目配置为使用 Smithery.ai,一个允许轻松部署和管理MCP服务器的平台。

💡 专业提示: Smithery.ai集成实现了Dialogflow CX MCP服务器的一键部署和简化管理!

📄 许可证

👥 贡献

欢迎投稿!请随时提交拉取请求。

贡献工作流程

  1. 🍴 分叉存储库
  2. 🔧 创建要素分支(git checkout -b feature/amazing-feature)
  3. 💻 提交您的更改(git commit -m 'Add some amazing feature')
  4. 🚀 推到分支(git push origin feature/amazing-feature)
  5. 🔍 打开拉取请求

Built with ❤️ by the MCP Server team