You need to enable JavaScript to run this app.
导航
接入 MCP
最近更新时间:2025.11.19 11:47:52首次发布时间:2025.09.29 12:24:22
复制全文
我的收藏
有用
有用
无用
无用

通过 MCP(模型上下文协议),你可以将知识库问答(RAG)、信息搜索、数据分析等外部服务封装为标准化工具,让 LLM 在对话中能智能地调用它们,以获取所需的数据或执行操作,并基于返回的结果生成更精准的回复。

适用场景

在高实时性的语音对话中,引入 MCP 可实现能力扩展和逻辑解耦,让你的智能体能够处理更复杂、更专业的任务。

场景核心价值
接入知识库(RAG)让智能体能够基于你内部的、非公开的文档或数据库进行精准问答。
联网搜索并汇总多源实时信息让智能体能够同时从多个数据源(如天气、新闻、股票)获取信息并进行智能汇总。
执行复杂业务流程让智能体能够调用外部 API,完成如预订、下单、查询账户等实际业务操作。

使用限制

  • 该功能仅对以下模型生效:
    • 部分火山方舟模型。具体支持的模型,请参见支持模型

      说明

      • 为保证接入效果,建议使用模型 doubao-seed-1-6
      • doubao-seed-1-6-thinking 强制开启思考模式,不可关闭,在实时对话式 AI 场景可能造成较高时延,不建议使用。
    • 第三方大模型/Agent。
  • MCP Server 必须支持 SSE(Server-Sent Events)协议。

实现方式

1. 准备 MCP Server

火山引擎提供了一些常用的 MCP 服务,你可以直接使用。具体请参见 MCP MarketPlace

MCP 的实现依赖于一个外部的 MCP Server,该服务负责管理和提供所有的工具 Agent。你需要:

  • 部署 MCP Server:完成 MCP Server 的部署。MCP Server 必须支持 SSE 协议。
  • 注册工具:在你的 MCP Server 上,注册你希望智能体调用的工具,例如知识库检索工具(RAG)、融合信息搜索工具等。

2. (可选)验证 MCP Server 可用性

在将 MCP Server 地址配置到 StartVoiceChat 接口之前,建议先验证 MCP Server 是否可以被公网正常访问。

  • 若配置了 Authorization 请求头鉴权,请使用以下命令进行测试:

    curl -i -H "Authorization: <Your-Auth-Token>" https://your-mcp-server.com/endpoint
    
    • -H "Authorization: <Your-Auth-Token>":请将 <Your-Auth-Token> 替换为你的有效凭证。
    • https://your-mcp-server.com/endpoint:请替换为目标 MCP Server 的实际地址。
  • 若未配置 Authorization 请求头鉴权,请使用以下命令进行测试:

    curl -i https://your-mcp-server.com/endpoint
    

3. 配置 StartVoiceChat 接口

调用 StartVoiceChat 接口时,进行以下配置:

  1. 配置 LLMConfig.MCP

    参数说明
    URL必填。填入已部署的 MCP Server 的访问地址。
    Name必填。为本次 MCP 工具调用链路指定一个名称,例如 knowledge_search
    InterestedTools可选。一个字符串数组,用于指定本次对话只关注 MCP Server 上的哪些工具。如果留空,则默认关注所有工具。
    ComfortWords可选。设置一句安抚语。当智能体决定调用 MCP 工具时,会先播报此内容。
  2. 配置 LLMConfig.ExtraHeader
    如果你的 MCP Server 配置了自定义请求头(如 Authorization),则需将这些头部信息配置在 LLMConfig.ExtraHeader 字段中。系统会将这些请求头随请求一同转发至你的 MCP Server。

示例:

假设你已经部署了一个需要 Authorization 请求头进行鉴权的 MCP Server,并注册了一个名为 search_faq_database 的工具。StartVoiceChat 中的 LLMConfig 配置如下:

"LLMConfig": {
    // ... 其他LLM配置 ...
    "MCP": [
      {
        "URL": "https://your-mcp-server.com/test/123",
        "Name": "internal_knowledge_search",
        "InterestedTools": [
            "search_faq_database"
        ],
        "ComfortWords": "正在为你查询知识库,请稍等。"
      }
    ],
    "ExtraHeader": {
        "Authorization": "f33eb2dc-****-c5cd339b35fe"
    }
    // ... 其他LLM配置 ...
}

应用示例

配置 MCP 接入融合信息搜索

本示例将指导你如何通过 MCP,将火山引擎融合信息搜索能力(一个独立的 Web 搜索服务)接入到实时对话流中。

注意

通过 MCP 接入融合信息搜索,会产生额外费用,费用按实际调用时长和次数收取,更多计费详情可查函数服务API 网关计费说明。

  1. 开通融合信息搜索服务。

    1. 前往融合信息搜索控制台,开通所需搜索服务。
    2. 在左侧导航栏中,选择系统管理 > API Key 管理,单击融合信息搜索页签,创建并获取 API Key。
  2. 生成融合信息搜索的 MCP Server 地址。

    1. 访问 MCP MarketPlace,搜索融合信息搜索
    2. 单击融合信息搜索 MCP 卡片,进入部署页面,单击云部署
    3. 环境变量栏,填入火山引擎账号的 AK、SK,以及在步骤 1 获取的 API Key。
    4. 单击开始部署,等待部署完成。
      系统会自动在 veFaaS(函数计算服务)上为你创建一个 MCP Server 实例。
    5. 部署成功后,复制生成的 MCP Server 地址(URL)。
  3. 调用 StartVoiceChat 接口时,配置 LLMConfig.MCP 字段,填入上一步获取的信息。

    {
    	    "AppId": "********************",
          "RoomId": "********",
          "TaskId": "**************",
          "AgentConfig": {},
    	    "Config": {
    	        // ... ASRConfig, TTSConfig ...
    	        "LLMConfig": {
    	            // ... 其他LLM配置 ...
    	            "MCP": [
    	              {
    	                "URL": "填入获取的 MCP Server 地址",   
    	                "Name": "WebSearch",  
    	                "ComfortWords": "正在为你搜索,请稍等。",  
    	                "InterestedTools": ["web_search"] 
    	              }
    	            ], 
    	            "UserPrompts": [
    				        {
    				          "Role": "system",
    				          "Content": "可以通过调用 web_search 方法搜索互联网上的热点信息"
    				        }
    			      ]
    			    }
    			  }
    	  }
    

配置 MCP 接入知识库

  1. 创建知识库。具体操作,请参见创建知识库

  2. 生成知识库的 MCP Server 地址。

    1. 访问 MCP MarketPlace,搜索知识库 MCP
    2. 单击知识库 MCP 卡片,进入部署页面,单击云部署
    3. 环境变量栏,填入火山引擎账号的 AK、SK,以及知识库的 Project NameRegion(固定为 cn-north-1)。
    4. 单击开始部署,等待部署完成。
      系统会自动在 veFaaS(函数计算服务)上为你创建一个 MCP Server 实例。
    5. 部署成功后,复制生成的 MCP Server 地址(URL)。
  3. 调用 StartVoiceChat 接口时,配置 LLMConfig.MCP 字段,填入上一步获取的信息。

    注意:LLM 对知识库内容没有先验知识。为准确触发知识库查询,你需要在 UserPrompts 中详细定义知识库相关内容和参数(如以下示例所示)。

    {
        "AppId": "********************",
        "RoomId": "********",
        "TaskId": "**************",
        "AgentConfig": {},
        "Config": {
            // ... ASRConfig, TTSConfig ...
            "LLMConfig": {
    				  "UserPrompts": [
    					    {
    					        "Role" : "system",
    					        "Content" : "知识库中包含视频编码的相关知识(如 H.264 编码标准和技术),可以通过 `search_knowledge` 方法查询相关内容。`search_knowledge` 方法中,参数 `query` 用于存放查询内容,`collection_name`(知识库名称)为 `voicechat_knowledge`。"
    					    }
    					  ],  //定义知识库相关内容和参数
                "MCP": [
                    {
                        "URL" :"填入获取的 MCP Server 地址",
                        "Name" : "knowledge",
                        "ComfortWords" : "正在处理中",
                        "InterestedTools": ["search_knowledge"]
                    }
                ],
            }
        }
    }