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 客户端通信,确保运行环境支持标准输入输出的读写

服务器信息