概述

保险顾问Agent 是一个 AI 驱动的保险产品搜索、推荐、对比与核保服务,覆盖 65家保司483款在售产品,涵盖医疗险、重疾险、意外险、寿险、年金险等全险种。实时数据请查询 GET /health

本服务面向 Agent 和开发者提供多协议接入,支持结构化数据查询和自然语言对话两种模式。

支持协议

协议端点说明
MCPPOST /mcpStreamable HTTP,Model Context Protocol
A2APOST /a2aAgent-to-Agent Protocol (Google A2A)
OpenAIPOST /v1/chat/completionsOpenAI 兼容接口
ChatPOST /chat简单聊天 API(JSON body: message, session_id)

MCP 集成(Quick Start)

MCP 使用 JSON-RPC 2.0 over HTTP。所有请求发送到 POST /mcp,Content-Type 为 application/json

Step 1: 初始化

curl -X POST https://your-host/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "initialize",
    "params": {
      "protocolVersion": "2025-03-26",
      "capabilities": {},
      "clientInfo": { "name": "my-agent", "version": "1.0" }
    }
  }'

响应会包含 Mcp-Session-Id header,后续请求需带上此 header。

Step 2: 发送 initialized 通知

curl -X POST https://your-host/mcp \
  -H "Content-Type: application/json" \
  -H "Mcp-Session-Id: <session-id>" \
  -d '{
    "jsonrpc": "2.0",
    "method": "notifications/initialized"
  }'

Step 3: 获取工具列表

curl -X POST https://your-host/mcp \
  -H "Content-Type: application/json" \
  -H "Mcp-Session-Id: <session-id>" \
  -d '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/list"
  }'

Step 4: 调用工具

curl -X POST https://your-host/mcp \
  -H "Content-Type: application/json" \
  -H "Mcp-Session-Id: <session-id>" \
  -d '{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "tools/call",
    "params": {
      "name": "recommend",
      "arguments": {
        "age": 30,
        "gender": "男",
        "budget": 5000,
        "needs": ["重疾保障", "医疗报销"]
      }
    }
  }'

A2A 集成

A2A (Agent-to-Agent) 协议允许 Agent 之间以任务方式协作。

Agent Card

Agent Card 位于 /.well-known/agent.json,描述了本 Agent 的能力、技能和支持的输入/输出模式。

发送任务

curl -X POST https://your-host/a2a \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tasks/send",
    "params": {
      "id": "task-001",
      "message": {
        "role": "user",
        "parts": [
          {
            "type": "data",
            "data": {
              "tool": "recommend",
              "arguments": {
                "age": 35,
                "gender": "女",
                "budget": 8000,
                "needs": ["重疾保障"]
              }
            }
          }
        ]
      }
    }
  }'

两种输入模式

其他方法

可用工具

工具名说明必填参数关键可选参数
get_schema获取调用策略和字段优先级capability
search_products按条件搜索保险产品category, age, budget, keyword, limit
get_product_detail获取单个产品完整信息product_id
compare_products对比 2-5 款产品关键维度product_idsage, gender
recommend根据用户画像推荐保险方案(核心工具)agegender, budget, needs, family_role, health_conditions, include_reasoning
get_premium查询产品精确保费product_id, agegender
answer_question回答保险知识问题questionproduct_id, synthesize
check_underwriting核保预判(可投保性评估)health_conditionsage, category, product_ids
chat自然语言多轮对话messagesession_id

推荐调用流程

  1. get_schema — 了解各工具的字段优先级和调用策略
  2. search_products / recommend — 搜索或获取个性化推荐
  3. get_premium / compare_products — 查询精确保费或对比多款产品
  4. check_underwriting — 根据用户健康状况评估可投保性
💡 提示:recommend 工具只需 age 即可调用,信息不全时会返回推荐结果并提示缺失字段。传入 health_conditions 时自动附带核保结论。

会话管理

协议会话标识方式
MCP通过 Mcp-Session-Id HTTP header 维持会话
A2A通过 task ID 标识任务上下文(同一 task ID 可多次 send 实现多轮)
Chat API通过请求 body 中的 session_id 字段维持多轮对话
OpenAI 兼容通过请求 body 中的 session_id 字段(扩展字段)

错误码

错误码含义说明
-32601Method not found / Unknown tool请求了不存在的方法或工具名
-32602Invalid params参数格式错误或缺失必填参数
input-required需要更多信息A2A 任务状态,表示需要用户补充信息后再次发送
internal_error服务器内部错误后端处理异常

限制与说明