🤖 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服务器的一键部署和简化管理!
📄 许可证

👥 贡献
欢迎投稿!请随时提交拉取请求。
贡献工作流程
- 🍴 分叉存储库
- 🔧 创建要素分支(
git checkout -b feature/amazing-feature) - 💻 提交您的更改(
git commit -m 'Add some amazing feature') - 🚀 推到分支(
git push origin feature/amazing-feature) - 🔍 打开拉取请求
______________________________________________________________________
Built with ❤️ by the MCP Server team
