Azure Voice Assistant MCP Server
使用说明内容(Markdown格式)
使用指南
-
项目简介
- 该工程实现了一个 MCP 服务器,使用标准的 JSON-RPC 2.0 通过标准输入输出(stdio)与 MCP 客户端通信。核心功能包括:向客户端暴露工具、分发到多个模型的并发查询、会话历史管理以及配置管理等。
-
主要功能点
- 支持的工具:chat、multi_chat、configure、reset、models
- 支持多模型并发查询,聚合结果并返回给客户端
- 基于 Azure AI Foundry 的模型端点进行请求,支持部署模型和服务器端模型
- 会话历史管理,限制历史轮次并可清除历史
- MCP 规范化的初始化、工具列表查询、工具调用、进度通知等交互
-
安装步骤
- 确保 Python 3.8+ 环境
- 将代码放置到合适目录,确保 mcp_voice_assistant.py 可直接执行
- 安装依赖(如 httpx,aiohttp 等,代码中使用 httpx 作为异步请求客户端)
- 配置文件:在用户主目录下创建 ~/.config/azure-voice-assistant/config.json,用于 Azure AI Foundry 的账户信息
- MCP 客户端配置:将服务器作为 MCP 服务注册到客户端(见下方“服务器配置”部分的示例)
-
服务器配置(MCP 客户端需要的最小信息,JSON 格式,含 server name、command、args)
- 服务器名称: azure-voice-assistant
- 启动命令: python3
- 启动参数: 需要指向 mcp_voice_assistant.py 的路径
- 备注: MCP 客户端通过该信息在本地或远程启动服务器进程,并通过标准输入输出与之进行 JSON-RPC 通信。配置示例如下(请将路径替换为实际路径,格式保持为纯文本 JSON): { "azure-voice-assistant": { "command": "python3", "args": ["/path/to/azure-voice-assistant/mcp_voice_assistant.py"] } // 其他服务器可按相同格式添加 }
-
基本使用方法
- 启动后,MCP 客户端会通过初始化握手获取服务器能力、工具列表等信息
- 使用 tools/list 获取可用工具,使用 tools/call 调用具体工具,例如 chat、multi_chat 等
- 通过 configure 与 reset 调整与清理会话历史,通过 models 进行模型健康检查
- 如果需要进度更新,可以通过进度通知(notifications/progress)接收状态
-
重要提醒
- 服务端需要在 ~/.config/azure-voice-assistant/config.json 配置 Azure API 的 key、endpoint 等信息
- 服务端通过 stdio 与 MCP 客户端通信,确保运行环境支持标准输入输出的读写