mcpField
🤖
🤖 Dialogflow CX MCP Server 🚀

🤖 Dialogflow CX MCP Server 🚀

本地服务
github.com/Yash-KavaiyaAI 与智能体364 周前更新

关于 🤖 Dialogflow CX MCP Server 🚀

这是一个连接 AI 助手与 Google Dialogflow CX Agent 的 Python MCP 服务,提供文本和音频意图处理、会话管理及 Webhook 操作。

主要功能

  1. 01文本意图检测与匹配
  2. 02基于音频的意图检测
  3. 03对话会话管理
  4. 04Webhook 请求与响应处理
  5. 05Dialogflow CX 身份验证

适用场景

  1. 01将文本查询路由到 Dialogflow CX
  2. 02使用 Agent 解析语音音频
  3. 03处理 Webhook 交互
  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 模型上下文协议(MCP)服务实现,可在 AI 助手与 Google 的先进对话平台之间实现无缝集成。

💡 专业提示: 此服务搭起了 AI 助手与 Dialogflow CX 之间的桥梁,解锁强大的对话能力!

📋 概览

此项目提供一套工具,让 AI 助手能够通过标准化协议与 Dialogflow CX Agent 交互。该服务负责处理管理对话、处理意图检测以及与 Google 强大的 NLU 系统交互所涉及的全部复杂工作。

✨ 主要功能
  • 🔄 与 Dialogflow CX 双向通信
  • 🎯 意图检测与匹配功能
  • 🎤 用于语音识别的音频处理
  • 🔌 Webhook 请求/响应处理
  • 📝 持久化对话的会话管理
  • 🔒 安全的 API 身份验证

🔧 要求

要求描述版本
🐍 Python编程语言3.12+
☁️ Google Cloud已启用 Dialogflow CX 的项目最新版
🤖 Dialogflow CX对话 Agent最新版
🔑 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你的 Dialogflow API 密钥"abc123def456"
projectIdGoogle Cloud 项目 ID"my-dialogflow-project"
locationAgent 所在位置"us-central1"
agentId你的 Dialogflow CX Agent 的 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 集成

此项目已配置为与 Smithery.ai 配合使用。Smithery.ai 是一个便于部署和管理 MCP 服务的平台。

💡 专业提示: 集成 Smithery.ai 后,你可以一键部署并轻松管理 Dialogflow CX MCP 服务!

📄 许可证

License: MIT

👥 贡献

欢迎贡献!请随时提交 Pull Request。

贡献流程
  1. 🍴 Fork 此仓库
  2. 🔧 创建功能分支(git checkout -b feature/amazing-feature)
  3. 💻 提交更改(git commit -m 'Add some amazing feature')
  4. 🚀 将分支推送到远程仓库(git push origin feature/amazing-feature)
  5. 🔍 创建 Pull Request

由 MCP Server 团队倾心打造 ❤️

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。