{
 "mcpServers": {
  "trustbase-rcb-data": {
   "url": "https://trustbaselab.com/mcp",
   "transport": "streamable-http",
   "description": "Multi-domain industry trusted data (recycling & chemical recycling first; also new energy & batteries / carbon footprint / telecom & space / health & nutrition / compute & energy): company search, policy & regulation search, technical standards search, grade benchmarks, article search, price benchmarks, cross-domain benchmark layer search, data overview (59 tools). Public HTTPS endpoint; zero third-party dependencies (Python standard library).",
   "description_zh": "多领域产业可信数据（多领域：再生资源·化学回收 / 新能源·电池 / 碳足迹 / 通信·空间 / 健康·营养 / 算力·能源）：企业库查询、政策法规检索、技术标准检索、牌号对标、文章检索、价格基准、跨领域基准层检索、数据概况（共 59 个工具）。公网 HTTPS 端点，零第三方依赖（Python 标准库）。",
   "env": {}
  },
  "trustbase-rcb-data-local": {
   "command": "python",
   "args": [
    "rcb_mcp_server.py"
   ],
   "description": "Local stdio mode; data is pulled automatically from https://trustbaselab.com/upload/ and cached for 5 minutes.",
   "description_zh": "本地 stdio 模式，数据自动从 https://trustbaselab.com/upload/ 拉取并缓存 5 分钟。",
   "env": {}
  }
 },
 "server": {
  "name": "trustbase-rcb-data",
  "version": "1.15.5",
  "data_version": "0.12",
  "schema_version": "1.10",
  "protocolVersion": "2025-06-18",
  "description": "Trustbase Lab trusted multi-domain industry data MCP server (first domain: recycling & chemical recycling; also new energy & batteries / carbon footprint / telecom & space / health & nutrition / compute & energy)",
  "description_zh": "Trustbase Lab 多领域产业可信数据 MCP Server（多领域：再生资源·化学回收为首个领域，另含新能源·电池 / 碳足迹 / 通信·空间 / 健康·营养 / 算力·能源）",
  "vendor": "Trustbase Lab",
  "homepage": "https://trustbaselab.com/ai",
  "schema_doc": "https://trustbaselab.com/schema",
  "methodology_doc": "https://trustbaselab.com/methodology",
  "license": "Data is for industry reference only; please credit Trustbase Lab when redistributing.",
  "license_zh": "数据仅供行业参考，转载请注明 Trustbase Lab",
  "endpoint_url": "https://trustbaselab.com/mcp",
  "transports_supported": [
   "stdio",
   "streamable-http"
  ]
 },
 "remote": {
  "url": "https://trustbaselab.com/mcp",
  "transport": "streamable-http",
  "protocol_version": "2025-06-18",
  "instructions": "POST standard MCP JSON-RPC 2.0 messages to this URL to call tools. A GET on any path returns health / tool list.",
  "instructions_zh": "向该 URL POST 标准 MCP JSON-RPC 2.0 消息即可调用工具。GET 任意路径返回健康/工具清单。",
  "cors": "Access-Control-Allow-Origin: * (any origin may connect directly)",
  "cors_zh": "Access-Control-Allow-Origin: *（任意来源可直连）"
 },
 "registry": {
  "registry": "https://registry.modelcontextprotocol.io",
  "name": "com.trustbaselab/rcb-data",
  "version": "1.15.5",
  "status": "active",
  "namespace_verified": true,
  "verification_method": "http",
  "verification_url": "https://trustbaselab.com/.well-known/mcp-registry-auth",
  "query_url": "https://registry.modelcontextprotocol.io/v0.1/servers?search=com.trustbaselab",
  "install_hint": "Clients supporting the official MCP Registry can find and install it by `com.trustbaselab/rcb-data`; the url above can also be used directly.",
  "install_hint_zh": "支持 MCP 官方 Registry 的客户端可直接按 `com.trustbaselab/rcb-data` 检索并安装；亦可直接使用上方 url。"
 },
 "discovery": {
  "server_card": "https://trustbaselab.com/.well-known/mcp/server-card.json",
  "spec": "SEP-1649 静态 Server Card",
  "note": "This file (mcp.json) and the server-card mirror each other: the former configures clients, the latter serves directory scanning.",
  "note_zh": "本文件（mcp.json）与 server-card 互为镜像：前者面向客户端配置，后者面向目录扫描。"
 },
 "distribution": {
  "smithery": {
   "qualified_name": "trustbaselab/rcb-data",
   "page": "https://smithery.ai/server/trustbaselab/rcb-data",
   "gateway": "https://rcb-data--trustbaselab.run.tools",
   "mode": "external (self-hosted; Smithery proxies)",
   "mode_zh": "external（自带托管，Smithery 仅代理）",
   "note": "The gateway requires OAuth, completed automatically by the client; the tool set is identical to the url above.",
   "note_zh": "网关需 OAuth，客户端会自动完成；工具集与上方 url 完全一致。"
  }
 },
 "tools": [
  {
   "name": "query_companies",
   "title": "Search Companies & Capacity Projects",
   "description": "Purpose: query the global rCB company and project database (131 records: domestic / international / equipment vendors) by segment, region, status and keyword - the discovery tool for capacity projects and players in the chemical recycling industry. Guidelines: combine segment (rcb/virgin/conductive) + status ('在建','规划','under construction') + location; for capacity-project lists filter status, then pair with get_company for full entity detail. Limits: company-level records only - capacity is a record attribute, not a separate projects table; confidence varies A/B/C. Ex: 'rCB projects under construction in China', 'conductive carbon black producers worldwide'.",
   "inputSchema": {
    "type": "object",
    "properties": {
     "group": {
      "type": "string",
      "enum": [
       "all",
       "domestic",
       "international",
       "vendors"
      ],
      "description": "数据分组：all=全部（默认）, domestic=中国国内, international=国际, vendors=设备厂商"
     },
     "region": {
      "type": "string",
      "enum": [
       "all",
       "domestic",
       "international",
       "vendors"
      ],
      "description": "区域过滤（与 group 等价，兼容 AI Agent 习惯）"
     },
     "keyword": {
      "type": "string",
      "description": "企业名或产品线模糊匹配，如 '炭黑'、'pyrolysis'"
     },
     "status": {
      "type": "string",
      "description": "状态关键词，如 '在运'、'新建'、'在建'、'规划'"
     },
     "location": {
      "type": "string",
      "description": "地点/国家关键词，如 '山东'、'德国'"
     },
     "segment": {
      "type": "string",
      "enum": [
       "rcb",
       "virgin",
       "conductive"
      ],
      "description": "业务板块过滤（schema 1.6 基准层）：rcb=再生炭黑业务, virgin=原生炭黑基准厂商, conductive=导电特种炭黑"
     },
     "confidence": {
      "type": "string",
      "enum": [
       "A",
       "B",
       "C"
      ],
      "description": "置信度：A=政府文件核实, B=企业自述/权威媒体, C=待核实"
     },
     "verified": {
      "type": "boolean",
      "description": "是否 Verified Supplier：true=只看 A 级可信供应商（AI Agent 推荐用）"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言：zh=中文（默认）, en=英文"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读（默认）, json=Agent 处理友好"
     },
     "limit": {
      "type": "integer",
      "description": "返回条数上限（默认 20，最大 100）"
     },
     "offset": {
      "type": "integer",
      "description": "起始偏移，默认 0；返回体 has_more=true 时用 next_cursor 作为下一页 offset"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_company",
   "title": "Get Company Detail",
   "description": "Purpose: fetch one company or project record (rCB producer / international player / equipment vendor) by entity id or name, returning the full detail including capacity, process, certification, investment, recent developments and source. Guidelines: ids come from query_companies (rcb-cn-xxx / rcb-gl-xxx / rcb-eq-xxx); pass name for fuzzy lookup when the id is unknown; add language='en' for English output and response_format='json'for agent parsing. Limits: one record per call, no batch mode; sourced fields (capacity, investment, contacts) may all fields are public - low-confidence records are returned with their C confidence label rather than withheld; a name lookup returns the first match only and is not a disambiguation service. Ex: get_company(id='rcb-cn-001'), get_company(name='Pyrum'), get_company(name='Plastic Energy', language='en').",
   "inputSchema": {
    "type": "object",
    "properties": {
     "id": {
      "type": "string",
      "description": "实体 ID，如 rcb-cn-001 / rcb-gl-005 / rcb-eq-003"
     },
     "name": {
      "type": "string",
      "description": "企业名称关键词（与 id 二选一，支持中文或英文名）"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言：zh=中文（默认）, en=英文"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读（默认）, json=Agent 处理友好"
     }
    },
    "required": [],
    "anyOf": [
     {
      "required": [
       "id"
      ]
     },
     {
      "required": [
       "name"
      ]
     }
    ]
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_verified_suppliers",
   "title": "List Verified Suppliers",
   "description": "Purpose: return every company/project carrying verified=true (A-grade confidence, backed by government filings or official announcements) - the trust layer an agent should use when shortlisting counterparties. Guidelines: call this first for any recommendation, shortlisting or transaction-style task; pair with get_company for full detail on the chosen entity; use language='en' plus response_format='json' for downstream automation. Limits: A-grade records only - absence from this list does not mean a company is untrustworthy, only that its claim is not yet independently verifiable; at most 100 rows; no commercial rating, ranking or endorsement is implied. Ex: get_verified_suppliers(), get_verified_suppliers(limit=100, language='en', response_format='json').",
   "inputSchema": {
    "type": "object",
    "properties": {
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言：zh=中文（默认）, en=英文"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读（默认）, json=Agent 处理友好"
     },
     "limit": {
      "type": "integer",
      "description": "返回条数上限（默认 50，最大 100）"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_price_benchmark",
   "title": "rCB vs Virgin Carbon Black Price Benchmark",
   "description": "Purpose: return the rCB and virgin carbon black price benchmark structure - the virgin N550 series as anchor, the rCB band expressed as 25-40% of that anchor, feedstock prices, international references, regional spreads, grade-level bands and cost structure. Guidelines: leave product and section empty for the full set; narrow with section='rCB' / 'feedstock' / 'international' / 'cost'; pair with get_elt_price_index for feedstock indices and get_rcb_index for the layered index series. Limits: reference bands and relative structure only - no exchange quote and no trading recommendation; ELT feedstock absolute prices are deliberately not published; every figure is a range, never a single transactable value. Ex: get_price_benchmark(section='rCB'), get_price_benchmark(product='N330', language='en'), get_price_benchmark(section='cost', response_format='json').",
   "inputSchema": {
    "type": "object",
    "properties": {
     "product": {
      "type": "string",
      "description": "产品关键词，如 'rCB N550'、'废轮胎'、'裂解油'、'N330'；英文模式如 'rCB N550'、'N330'。留空返回全部章节"
     },
     "section": {
      "type": "string",
      "description": "章节关键词，如 'rCB'、'原料'、'国际'、'成本'；英文模式如 'rCB'、'cost'、'regional'。留空返回全部章节"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言 / output language (en = full English price tables)"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式 / output format (json = 结构化价格数据，含 anchor/basis/sections，便于 Agent 直接解析)"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "query_policies",
   "title": "Search Policies & Regulations",
   "description": "Purpose: search the global rCB regulation library - EU CBAM / EUDR / ESPR / ELV / REACH / ISCC PLUS / PPWR /CSRD, China MIIT waste-tyre rules, solid-waste and circular-economy law, VAT incentives, plus India and Korea EPR and US rules. Guidelines: combine keyword with region and category; set verified=true when the answer must rest on government documents; each hit carries issuing body, policy type, scope, rCB impact, compliance deadline and source link. Limits: policy documents only - no legal advice and no ruling on how a rule applies to a specific company or shipment; B/C-grade entries (media or company statements) are excluded only when verified=true is set. Ex: query_policies(keyword='CBAM'), query_policies(region='中国', category='税收优惠'), query_policies(keyword='ISCC', language='en').",
   "inputSchema": {
    "type": "object",
    "properties": {
     "keyword": {
      "type": "string",
      "description": "关键词模糊匹配，如 'CBAM'、'增值税'、'ESPR'、'碳'"
     },
     "region": {
      "type": "string",
      "description": "辖区过滤，如 '欧盟'、'中国'、'印度'、'韩国'、'美国'、'国际'"
     },
     "category": {
      "type": "string",
      "description": "类别过滤，如 '碳定价'、'循环经济'、'税收优惠'、'认证体系'、'化学品监管'"
     },
     "confidence": {
      "type": "string",
      "enum": [
       "A",
       "B",
       "C"
      ],
      "description": "置信度：A=政府文件核实, B=企业自述/权威媒体, C=待核实"
     },
     "verified": {
      "type": "boolean",
      "description": "true=只看 A 级已核实条目"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读, json=Agent 处理友好"
     },
     "limit": {
      "type": "integer",
      "description": "返回条数上限（默认 20，最大 100）"
     },
     "offset": {
      "type": "integer",
      "description": "起始偏移，默认 0；返回体 has_more=true 时用 next_cursor 作为下一页 offset"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_policy",
   "title": "Get Policy Detail",
   "description": "Purpose: fetch one regulation record in full - issuing body, policy type, scope, impact on the rCB industry, compliance deadline, source link and an AI-readable summary. Guidelines: accepts the id from query_policies(rcb-pol-xxx) or a name/identifier keyword such as 'CBAM' or '2023/956'; run query_policies first when the id is unknown; add response_format='json' for agent pipelines. Limits: one record per call; no legal opinion and no applicability assessment for a given company, product or shipment. Ex: get_policy(id='rcb-pol-001'), get_policy(name='CBAM'), get_policy(name='2023/956', language='en').",
   "inputSchema": {
    "type": "object",
    "properties": {
     "id": {
      "type": "string",
      "description": "实体 ID，如 rcb-pol-001"
     },
     "name": {
      "type": "string",
      "description": "名称关键词或文号（与 id 二选一），如 'CBAM'、'2023/956'"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读, json=Agent 处理友好"
     }
    },
    "required": [],
    "anyOf": [
     {
      "required": [
       "id"
      ]
     },
     {
      "required": [
       "name"
      ]
     }
    ]
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "query_techs",
   "title": "Search Standards & Technologies",
   "description": "Purpose: search the rCB technology and standards library - ASTM D36 committee series (D8178 / D8466 / D8474 /D8632 / D1618 / D1506 / D8491 / D8585), Chinese standards (HG/T 5459 / GB/T 40009 / GB/T 19208 / GB/T 13460 /GB/T 3782 / T/CTRA 01), continuous pyrolysis processes, rCB post-treatment and sustainable carbon black.Guidelines: combine keyword with category (terminology / test / product / process / traceability) and region; use verified=true to keep only entries backed by standard texts. Limits: standard summaries and key technical parameters only - full standard text is never reproduced; C-grade entries are unverified leads; the category taxonomy is ours, not the issuing body's. Ex: query_techs(keyword='TGA'), query_techs(category='测试标准'), query_techs(keyword='ASTM', language='en').",
   "inputSchema": {
    "type": "object",
    "properties": {
     "keyword": {
      "type": "string",
      "description": "关键词模糊匹配，如 'ASTM'、'TGA'、'GB/T'、'热裂解'、'分类'"
     },
     "region": {
      "type": "string",
      "description": "地区/组织过滤，如 '国际'、'中国'、'欧盟'、'ASTM'"
     },
     "category": {
      "type": "string",
      "description": "类别过滤，如 '术语标准'、'测试标准'、'产品标准'、'工艺技术'、'追溯标准'"
     },
     "confidence": {
      "type": "string",
      "enum": [
       "A",
       "B",
       "C"
      ],
      "description": "置信度：A=官方标准原文核实, B=权威二手来源, C=待核实"
     },
     "verified": {
      "type": "boolean",
      "description": "true=只看 A 级已核实条目"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读, json=Agent 处理友好"
     },
     "limit": {
      "type": "integer",
      "description": "返回条数上限（默认 20，最大 100）"
     },
     "offset": {
      "type": "integer",
      "description": "起始偏移，默认 0；返回体 has_more=true 时用 next_cursor 作为下一页 offset"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_tech",
   "title": "Get Standard Detail",
   "description": "Purpose: fetch one rCB technical standard or process by entity ID or keyword - ASTM D36 series (D8178/D8466/D8474...), Chinese GB/T, HG/T, continuous pyrolysis, sCB - with scope, core indicators, status and source link. Guidelines: pass id (e.g. rcb-tech-001) or name keyword ('D8178','pyrolysis','GB/T 40009'); use when an Agent needs the governing standard behind a parameter or certification claim. Limits: metadata + source link only - not full standard text (copyright); verify currency on the official standards platform before compliance use. Ex: 'ASTM D8178 scope', 'rCB national standard GB'.",
   "inputSchema": {
    "type": "object",
    "properties": {
     "id": {
      "type": "string",
      "description": "实体 ID，如 rcb-tech-001"
     },
     "name": {
      "type": "string",
      "description": "名称或标准号关键词（与 id 二选一），如 'D8178'、'GB/T 40009'"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读, json=Agent 处理友好"
     }
    },
    "required": [],
    "anyOf": [
     {
      "required": [
       "id"
      ]
     },
     {
      "required": [
       "name"
      ]
     }
    ]
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "query_articles",
   "title": "Search Industry Articles",
   "description": "Purpose: search the first-hand research archive of the RCB industry WeChat official account - conference coverage, process cases, application boundaries and institution-level market forecasts. Guidelines: keyword matches title/topic/author/scope; filter with category for a single theme; every item is A-grade (first-hand research) and carries publish date, topic, source URL and AI-readable summary. Limits: Chinese-language source material; A-grade here means first-hand, not independently peer-reviewed; coverage is 63 articles from 2026-04 onward, not the account's full history. Ex: query_articles(keyword='Pyrum'), query_articles(category='市场预测·机构观点'), query_articles(keyword='EPDM', language='en').",
   "inputSchema": {
    "type": "object",
    "properties": {
     "keyword": {
      "type": "string",
      "description": "关键词模糊匹配（标题/主题/作者/适用范围），如 '曼谷'、'Pyrum'、'EPDM'、'预测'"
     },
     "category": {
      "type": "string",
      "description": "主题分类过滤，如 '国际会议·行业动态'、'工艺路线·企业案例'、'市场预测·机构观点'"
     },
     "confidence": {
      "type": "string",
      "enum": [
       "A",
       "B",
       "C"
      ],
      "description": "置信度过滤（A=公众号一手）"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读, json=Agent 处理友好"
     },
     "limit": {
      "type": "integer",
      "description": "返回条数上限（默认 20，最大 100）"
     },
     "offset": {
      "type": "integer",
      "description": "起始偏移，默认 0；返回体 has_more=true 时用 next_cursor 作为下一页 offset"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_article",
   "title": "Get Article Detail",
   "description": "Purpose: fetch one article record in full - title, publish date, author, account, topic category, source URL, confidence and an AI-readable summary. Guidelines: accepts the id from query_articles (rcb-art-xxx) or a title keyword; run query_articles first when the id is unknown; pair with get_announcements_timeline for a chronological view. Limits: metadata and summary only - the full article body is not served; one record per call. Ex: get_article(id='rcb-art-001'), get_article(name='曼谷大会').",
   "inputSchema": {
    "type": "object",
    "properties": {
     "id": {
      "type": "string",
      "description": "实体 ID，如 rcb-art-001"
     },
     "name": {
      "type": "string",
      "description": "标题关键词（与 id 二选一），如 '曼谷大会'、'EPDM'"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读, json=Agent 处理友好"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "query_grades",
   "title": "Search Carbon Black Grades",
   "description": "Purpose: search the carbon black grade benchmark library - ASTM D1765 native grades (N110-N990, SAF/ISAF/HAF/FEF/GPF/SRF/MT/FT), conductive specialty benchmarks (acetylene black, Super P, ENSACO 250G, Vulcan XC-72R, Ketjenblack EC-300J/EC-600JD) and rCB types - with 6 standard parameters each (iodine absorption, OAN, BET, ash, volatile, sieve residue). Guidelines: combine type='native'/'conductive'/'rcb', category (e.g. 'HAF','FEF'), keyword ('N550','N330','Super P'); use as the anchoring benchmark layer before any rCB vs native comparison; rCB records include vs-N550 gap analysis. Limits: 37 records (29 native + 6 conductive + 2 rCB types) - spec ranges, not lot CoA; ash gap (rCB 8-15% vs N550 <=0.5%) caps rCB at semi-reinforcing uses. Ex: 'N330 standard parameters', 'conductive carbon black for lithium battery', 'rCB vs N550'.",
   "inputSchema": {
    "type": "object",
    "properties": {
     "keyword": {
      "type": "string",
      "description": "牌号/名称关键词，如 'N550'、'N330'、'HAF'、'FEF'、'Super P'、'rCB-General'"
     },
     "type": {
      "type": "string",
      "enum": [
       "native",
       "rcb",
       "conductive"
      ],
      "description": "类型过滤：native=原生炭黑, rcb=再生炭黑, conductive=导电特种炭黑"
     },
     "category": {
      "type": "string",
      "description": "段位过滤，如 'SAF'（超耐磨）、'ISAF'（中超耐磨）、'HAF'（高耐磨）、'FEF'（快压出）、'GPF'（通用）、'SRF'（半补强）、'MT'（中粒子热裂）、'FT'（大粒子热裂）、'导电'（conductive 类）"
     },
     "confidence": {
      "type": "string",
      "enum": [
       "A",
       "B",
       "C"
      ],
      "description": "置信度过滤"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读, json=Agent 处理友好"
     },
     "limit": {
      "type": "integer",
      "description": "返回条数上限（默认 50，最大 100）"
     },
     "offset": {
      "type": "integer",
      "description": "起始偏移，默认 0；返回体 has_more=true 时用 next_cursor 作为下一页 offset"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_grade",
   "title": "Get Grade Detail",
   "description": "Purpose: fetch one carbon black grade in full - the six ASTM parameters as min/max ranges with their test-method standards, application list, process route, brand owner for conductive grades, and for rCB types a gap analysis against the virgin N550 anchor on iodine / DBP / BET / ash / heating loss / sieve residue. Guidelines: use the semantic id (rcb-grade-n550 / rcb-grade-xc72 / rcb-grade-rcb-general) or the grade name ('N550', 'Super P','rCB-General'); pair with query_grades to discover ids and get_grade_spec for specification detail. Limits: one grade per call; ranges are compiled from public specifications and are not a supplier's guaranteed certificate of analysis; the gap analysis is relative to N550 only, not to every virgin grade. Ex: get_grade(id='rcb-grade-n550'), get_grade(name='Super P'), get_grade(name='rCB-General', response_format='json').",
   "inputSchema": {
    "type": "object",
    "properties": {
     "id": {
      "type": "string",
      "description": "语义化实体 ID，如 rcb-grade-n550 / rcb-grade-xc72 / rcb-grade-rcb-general"
     },
     "name": {
      "type": "string",
      "description": "牌号名（与 id 二选一），如 'N550'、'N660'、'N330'、'Super P'、'rCB-General'"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读, json=Agent 处理友好"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_database_overview",
   "title": "Database Overview",
   "description": "Purpose: dataset overview - version, record counts per table, entity-ID rules (stable IDs like rcb-cn-001, append-only), confidence grading (A/B/C), verified-supplier counts, the full tool index and site module map. Guidelines: call this FIRST when discovering the server, then route to specific query_* tools; pass language='en' for English output, response_format='json' for Agent processing. Limits: metadata only - no record content; counts refresh with each data release (schema 1.10). Ex: 'what data does this server have', 'list available tools'.",
   "inputSchema": {
    "type": "object",
    "properties": {
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言 / output language"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读, json=Agent 处理友好"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "calculate_saving",
   "title": "Calculate rCB Cost Saving",
   "description": "Purpose: substitution economics compute for carbon black - given a native price (vcb_price_input), an rCB price (rcb_price_input) and replacement ratio, returns per-ton saving and optional annualized value. Guidelines: supply your own quotes, or fetch market anchors via get_rcb_index first. Limits: pure arithmetic - no market data access, not a price recommendation. Ex: 'N330 12000 RMB/t vs rCB 8000 RMB/t, ratio 0.3, annual 5000t'.",
   "inputSchema": {
    "type": "object",
    "properties": {
     "vcb_price_input": {
      "type": "number",
      "description": "原生炭黑价格（正数，调用方提供）"
     },
     "rcb_price_input": {
      "type": "number",
      "description": "rCB 价格（正数，调用方提供）"
     },
     "ratio": {
      "type": "number",
      "description": "替代比例，0~1"
     },
     "annual_volume_t": {
      "type": "number",
      "description": "可选，年用量（吨），用于年化"
     }
    },
    "required": [
     "vcb_price_input",
     "rcb_price_input",
     "ratio"
    ]
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "compare_rcb",
   "title": "Compare rCB vs Virgin Carbon Black",
   "description": "Purpose: quality benchmark - compare measured rCB sample parameters against a target native carbon black grade (e.g. N550) spec ranges; classify each parameter pass / light deviation / significant deviation. Guidelines: pass target_grade plus rcb_params (iodine_absorption, OAN, ash...); ideal for grading incoming rCB lots against a native anchor before substitution decisions. Limits: needs measured values as input - no lab data on file; thresholds follow the site's anchored-benchmark methodology, not customer specs. Ex: 'compare rCB sample vs N550'.",
   "inputSchema": {
    "type": "object",
    "properties": {
     "target_grade": {
      "type": "string",
      "description": "目标牌号，如 N550"
     },
     "rcb_params": {
      "type": "object",
      "description": "rCB 实测参数，如 {\"iodine_absorption\": 45}"
     },
     "threshold_pct": {
      "type": "number",
      "description": "显著偏离阈值（默认 20，%）"
     }
    },
    "required": [
     "target_grade",
     "rcb_params"
    ]
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_elt_price_index",
   "title": "End-of-Life Tire Price Index",
   "description": "Purpose: rCB feedstock (end-of-life tyre) price index in GLOBAL caliber - Tier 1 global categories (scrap tyre collection price / tyre pyrolysis oil / crumb rubber / recovered steel wire / rCB) with region-by-region indices benchmarked to the global weighted average = 1000, plus Tier 2 region-specific categories (EU/US gate fee and TDF; CN rubber fuzz, rubber block, 900-mesh and 24-mesh powder). The first category is the scrap tyre collection price (G-ELT) - the single largest cost item for rCB producers. Guidelines: no arguments returns the global cross-section with region spreads; pass region (EU/US/CN/CA/IN) for that region's index across categories; pass category (G-TPO/G-CRB/G-WIRE/G-RCB) for one category's region comparison. Pair with get_feedstock_overview for arisings and processing paths, and get_rcb_index for layered rCB product prices. Also returns a PUBLIC-SOURCE INDEX SERIES (monthly, base month = 1000) covering the tyre value chain: scrap tyre, 24-mesh crumb rubber, pyrolysis oil, and virgin carbon black grades N220/N330/N550/N660, with category-to-anchor ratios - use it for trend direction and cross-category structure (the virgin carbon-black grades act as the rCB benchmark). This series is index-only and unit-less: it cannot be reverse-engineered into absolute prices. Limits: index values, region spreads and ratios only - absolute prices and source platforms are never disclosed because no official public statistics source exists for ELT feedstock prices worldwide; some regions are excluded from a category when the product caliber is not comparable (e.g. China's bead wire is a finished product vs the recovered mixed wire traded in the EU/US). Ex: 'global tyre pyrolysis oil price index vs China', 'crumb rubber price by region', 'which region has the highest TPO price'.",
   "inputSchema": {
    "type": "object",
    "properties": {
     "region": {
      "type": "string",
      "description": "可选：区域代码 EU / US / CN / CA / IN —— 返回该区域在各全球品类上的指数"
     },
     "category": {
      "type": "string",
      "description": "可选：全球品类代码 G-TPO(裂解油) / G-CRB(胶粉) / G-WIRE(钢丝) / G-RCB(再生炭黑)；或区域品类 R-GATEFEE 等"
     },
     "tier": {
      "type": "string",
      "description": "可选：1=全球通用品类，2=区域特定品类"
     }
    }
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_feedstock_overview",
   "title": "Feedstock Price Overview",
   "description": "Purpose: overview of the rCB feedstock module beyond prices - waste tyre arisings and recovery volumes by region (China, EU, US, global) with official sources, the processing-path value ladder (retreading > material recycling > energy recovery > civil engineering > landfill), and the categories covered by the module. Guidelines: pass region (CN/EU/US) to focus the arisings table; use this before quoting feedstock availability or recovery-rate figures, then get_elt_price_index for prices. Limits: arisings and recovery rates are drawn from official and industry-association sources with the statistical body labelled per record - figures from different bodies differ by scope and must not be merged; does not return prices. Ex: 'waste tyre recovery volume China 2025', 'how are end-of-life tyres processed', 'EU tyre recovery rate'.",
   "inputSchema": {
    "type": "object",
    "properties": {
     "region": {
      "type": "string",
      "description": "可选：区域代码 CN / EU / US / GLOBAL"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "description": "可选：返回语言"
     }
    }
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_elt_recycling",
   "title": "ELT Recycling Data",
   "description": "Purpose: the end-of-life tyre (ELT) collection topic for the rCB supply chain - policy targets, the 2026 standard system, the collection-network build-out, the processing value ladder (retreading > recycled rubber > pyrolysis) and market-size figures, with official sources labelled per record. Guidelines: call with no arguments for the full topic, or pass topic (policy/standard/network/ladder/market) to focus one section; pair with get_elt_price_index (category G-ELT) for collection prices and get_feedstock_overview for arisings. Limits: policy and standard records are sourced from official documents; market-size figures are public-information compilations and labelled as such; does not return prices. Ex: 'China end-of-life tyre recycling policy 2030 target', 'ELT collection network China', 'scrap tyre pyrolysis standards 2026'.",
   "inputSchema": {
    "type": "object",
    "properties": {
     "topic": {
      "type": "string",
      "description": "可选：policy(政策目标) / standard(标准体系) / network(回收网络) / ladder(价值阶梯) / market(市场数据)"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "description": "可选：返回语言"
     }
    }
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_price_trend",
   "title": "Price Trend Series",
   "description": "Purpose: native carbon black / rCB price trend direction with official anchors only (no raw quote tables). Guidelines: pass optional segment (domestic/export/import/feedstock/rCB) and period (e.g. 2026); use for directional questions like 'is rCB price rising'. Limits: trend direction and anchors only - no absolute quotes; pair with get_rcb_index for numbers. Ex: 'rCB price trend 2026 CN'.",
   "inputSchema": {
    "type": "object",
    "properties": {
     "segment": {
      "type": "string",
      "description": "可选：国内 / 出口 / 进口 / 原料 / rCB"
     },
     "period": {
      "type": "string",
      "description": "可选：期别筛选，如 2026"
     }
    }
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_grade_spec",
   "title": "Grade Specification Detail",
   "description": "Purpose: ASTM spec parameter ranges (min/max/unit/test method) for native carbon black grades N110-N990, conductive benchmarks and rCB grades - the standard-parameters reference for carbon black. Guidelines: pass grade (e.g. n330, n550) plus optional type (native/conductive/rcb); use to judge whether an rCB sample falls in spec (iodine absorption, OAN, SAOAN, ash, pH). Limits: spec ranges only - not lot-specific CoA data. Ex: 'N330 standard parameters', 'rCB N550 spec vs ASTM'.",
   "inputSchema": {
    "type": "object",
    "properties": {
     "grade": {
      "type": "string",
      "description": "牌号或实体 ID，如 N550 / rcb-grade-n550"
     },
     "type": {
      "type": "string",
      "enum": [
       "native",
       "conductive",
       "rcb"
      ],
      "description": "可选：按系列筛选"
     }
    }
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_substitution_boundary",
   "title": "Substitution Boundary Analysis",
   "description": "Purpose: four-dimension substitution boundary of rCB vs native carbon black - application limits, regulatory access, certification requirements, material spec constraints. Guidelines: pass dimension in {application, regulatory, certification, material_spec} or omit for all four; call before any substitution feasibility claim (e.g. 'can rCB replace N330 in tire?'). Limits: technical/regulatory possibility only, not commercial viability - pricing belongs to calculate_saving. Ex: 'rCB application limit in seals', 'rCB regulatory access EU'.",
   "inputSchema": {
    "type": "object",
    "properties": {
     "dimension": {
      "type": "string",
      "description": "可选：应用场景 / 法规准入 / 认证资格 / 材料规格"
     }
    }
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_announcements_timeline",
   "title": "Capacity Announcements Timeline",
   "description": "Purpose: return a chronological timeline of company announcements across the rCB industry - results, capacity, certification and delivery approvals. Guidelines: filter by region and by date range (YYYY-MM-DD) to isolate a window; use alongside query_companies when tracking capacity build-out, and with query_policies when a regulatory date drives an announcement. Limits: announcement-derived items only - claims are not independently confirmed and full press-release text is not served; coverage depends on what companies have publicly announced, so absence is not evidence of inactivity. Ex: get_announcements_timeline(region='欧洲'), get_announcements_timeline(date_from='2026-01-01', limit=50).",
   "inputSchema": {
    "type": "object",
    "properties": {
     "region": {
      "type": "string",
      "description": "可选：欧洲 / 北美 / 亚太 / 中国 / 全球"
     },
     "date_from": {
      "type": "string",
      "description": "可选：起始日期 YYYY-MM-DD"
     },
     "date_to": {
      "type": "string",
      "description": "可选：结束日期 YYYY-MM-DD"
     },
     "limit": {
      "type": "integer",
      "description": "返回条数上限（默认 20）"
     }
    }
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "query_cards",
   "title": "Search Knowledge Cards",
   "description": "Purpose: search the public knowledge-card collection - atomic sourced facts compiled from statistics, standards, papers and official announcements. Guidelines: keyword matches title and fact fields; combine type and region to narrow; every card returns its fact summary together with the source it was compiled from. Limits: publicly releasable cards only - cards marked excluded (with an excluded reason) are filtered out at export and never returned; each card is a single fact rather than analysis, and carries no recommendation. Ex: query_cards(keyword='ISCC'), query_cards(type='标准解读', region='欧盟').",
   "inputSchema": {
    "type": "object",
    "properties": {
     "keyword": {
      "type": "string",
      "description": "关键词（标题与事实字段全文匹配）"
     },
     "type": {
      "type": "string",
      "enum": [
       "statistic",
       "standard",
       "paper",
       "announcement",
       "industry_association"
      ],
      "description": "可选：卡片类型"
     },
     "region": {
      "type": "string",
      "description": "可选：区域关键词"
     },
     "limit": {
      "type": "integer",
      "description": "返回条数上限（默认 20）"
     },
     "offset": {
      "type": "integer",
      "description": "起始偏移，默认 0；返回体 has_more=true 时用 next_cursor 作为下一页 offset"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读（默认）, json=Agent 处理友好"
     }
    }
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_rcb_index",
   "title": "rCB Price Index",
   "description": "Purpose: rCB price index query - returns the index (ABP), absolute reference price (ARP, USD/ton FOB) and AF/VF attribution decomposition for a grade level, period and region; native-carbon-black-anchored (N550 anchor method). Guidelines: pass grade (P1 refined / P2 standard / P3 industrial, default P2), date (YYYY-MM, blank = latest) and region (CN/EU/NA/SEA, default CN); pair with get_rcb_vcb_spread for discount and get_grade_trend for history. Limits: reference range computed from the anchor method - not a transaction price; VF factor is forward-only (no backfill before 2026-Q3). Ex: 'rCB index P2 CN 2026-09', 'current rCB reference price EU'.",
   "inputSchema": {
    "type": "object",
    "properties": {
     "grade": {
      "type": "string",
      "enum": [
       "P1",
       "P2",
       "P3"
      ],
      "description": "发布层级，默认 P2"
     },
     "date": {
      "type": "string",
      "description": "期别 YYYY-MM；留空取最新可用期"
     },
     "region": {
      "type": "string",
      "enum": [
       "CN",
       "EU",
       "NA",
       "SEA"
      ],
      "description": "区域，默认 CN"
     }
    }
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_rcb_vcb_spread",
   "title": "rCB vs VCB Spread",
   "description": "Purpose: anchored spread between rCB and native carbon black - anchoring ratio rho, discount rate and price gap per grade/region/period; the quantitative 'how much cheaper is rCB' indicator. Guidelines: pass date (YYYY-MM), region (CN/EU/NA/SEA), grade (P1/P2/P3); pair with get_grade_trend for direction and calculate_saving for custom quotes. Limits: N550-anchored reference range, not transaction price; single-period snapshot, no forecast. Ex: 'rCB vs N550 discount CN 2026-09'.",
   "inputSchema": {
    "type": "object",
    "properties": {
     "date": {
      "type": "string",
      "description": "期别 YYYY-MM；留空取最新"
     },
     "region": {
      "type": "string",
      "enum": [
       "CN",
       "EU",
       "NA",
       "SEA"
      ],
      "description": "区域，默认 CN"
     },
     "grade": {
      "type": "string",
      "enum": [
       "P1",
       "P2",
       "P3"
      ],
      "description": "层级，默认 P2"
     }
    }
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_grade_trend",
   "title": "Grade Price Trend",
   "description": "Purpose: return the historical series of the layered rCB index for one grade tier - period-by-period assessed benchmark price, period-on-period change, anchor, adjustment factor and verification factor. Guidelines: grade defaults to P2 in the CN region; set start_date and end_date as YYYY-MM to slice a window; pair with get_rcb_index for the current cross-section and get_price_trend for category-level trends. Limits: index points only - dimensionless, non-tradable, and never to be converted into an absolute price; early periods may carry an anchor carried forward from an earlier month, and the output flags when this happens. Ex: get_grade_trend(grade='P2'), get_grade_trend(grade='P1', start_date='2025-12', end_date='2026-09').",
   "inputSchema": {
    "type": "object",
    "properties": {
     "grade": {
      "type": "string",
      "enum": [
       "P1",
       "P2",
       "P3"
      ],
      "description": "层级，默认 P2"
     },
     "start_date": {
      "type": "string",
      "description": "起始期 YYYY-MM"
     },
     "end_date": {
      "type": "string",
      "description": "结束期 YYYY-MM"
     },
     "region": {
      "type": "string",
      "enum": [
       "CN",
       "EU",
       "NA",
       "SEA"
      ],
      "description": "区域，默认 CN"
     }
    },
    "required": [
     "start_date",
     "end_date"
    ]
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "query_trade_flows",
   "title": "Search Bilateral Trade Flows",
   "description": "Purpose: query global carbon black (HS 280300) bilateral trade flows from UN Comtrade official customs statistics - 1751 records, 8 reporters (CHN/USA/DEU/JPN/KOR/IND/THA/TUR) plus World totals, 2024-2025. Guidelines: pass reporter (ISO3 alpha), partner (ISO3/numeric/name), period (YYYY), flow (X=export/M=import) and limit; unit_price_usd_t and share_pct are derived fields (share excludes World); use for capacity shift, trade-partner concentration and price-gap structure analysis. Limits: customs-reported data only - no commercial quote platforms; unit prices with qty missing are flagged 'missing_qty'; guardrail band 300-8000 USD/t. Ex: 'China carbon black exports 2025', 'top US import partners HS 280300'.",
   "inputSchema": {
    "type": "object",
    "properties": {
     "reporter": {
      "type": "string",
      "description": "报告国 ISO3 字母码，如 CHN/USA/DEU/JPN/KOR/IND/THA/TUR"
     },
     "partner": {
      "type": "string",
      "description": "伙伴国筛选：ISO3/数字代码/中文名（部分支持），如 THA/764/泰国"
     },
     "period": {
      "type": "string",
      "description": "期间 YYYY（如 2024），留空取全部"
     },
     "flow": {
      "type": "string",
      "enum": [
       "X",
       "M"
      ],
      "description": "流向 X=出口 / M=进口"
     },
     "limit": {
      "type": "integer",
      "description": "返回条数上限（默认 20,最大 200）"
     },
     "offset": {
      "type": "integer",
      "description": "起始偏移，默认 0；返回体 has_more=true 时用 next_cursor 作为下一页 offset"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "Output format: 'markdown' (default, human-readable) or 'json' (machine-readable)."
     }
    }
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_trade_flow_summary",
   "title": "Trade Flow Summary",
   "description": "Purpose: aggregate the UN Comtrade carbon black (HS 280300) records for a period - per reporter totals for quantity and value, the weighted unit price, and the top-10 partner countries by quantity. Guidelines: pass period (YYYY) or leave empty to aggregate all periods (2024-2025); weighted price equals total value divided by total quantity; pair with get_trade_partner_ranking to drill into a single reporter. Limits: customs-reported totals only - no commercial quote platform data; World aggregate rows are excluded from partner rankings; unit prices are not comparable across reporters where quantity reporting is incomplete. Ex: get_trade_flow_summary(period='2025'), get_trade_flow_summary(response_format='json').",
   "inputSchema": {
    "type": "object",
    "properties": {
     "period": {
      "type": "string",
      "description": "期间 YYYY，如 2024；留空则汇总全部期间"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "Output format: 'markdown' (default, human-readable) or 'json' (machine-readable)."
     }
    }
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_trade_partner_ranking",
   "title": "Trade Partner Ranking",
   "description": "Purpose: rank partner countries for one reporter, period and flow direction by quantity, returning rank, partner, quantity, value, unit price and share. Guidelines: reporter (ISO3 alpha), period (YYYY) and flow (X =export, M = import) are required; raise top_n above the default 10 (max 50) only when a longer tail is needed.Limits: one reporter-period-flow combination per call; World aggregate rows are excluded; shares are computed within the returned set, not against global trade. Ex: get_trade_partner_ranking(reporter='CHN', period='2025', flow='X'), get_trade_partner_ranking(reporter='USA', period='2024', flow='M', top_n=20).",
   "inputSchema": {
    "type": "object",
    "properties": {
     "reporter": {
      "type": "string",
      "description": "报告国 ISO3，必要"
     },
     "period": {
      "type": "string",
      "description": "期间 YYYY（必填,如 2024）"
     },
     "flow": {
      "type": "string",
      "enum": [
       "X",
       "M"
      ],
      "description": "流向 X=出口/M=进口"
     },
     "top_n": {
      "type": "integer",
      "description": "Top N 伙伴国（默认 10,最大 50）"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "Output format: 'markdown' (default, human-readable) or 'json' (machine-readable)."
     }
    },
    "required": [
     "reporter",
     "period"
    ]
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_trade_dataset_overview",
   "title": "Trade Dataset Overview",
   "description": "Purpose: describe the trade flow dataset - source, caliber, unit conversion, derived-field declarations, field table and compliance boundaries - so an agent can cite and interpret it correctly. Guidelines: call this before running any trade query that will be quoted; it states explicitly which fields are customs-reported and which are our own derivations. Limits: UN Comtrade official statistics only - no commercial quote platform data enters this dataset; this tool documents the dataset and returns no trade records itself. Ex: get_trade_dataset_overview(), get_trade_dataset_overview(response_format='json').",
   "inputSchema": {
    "type": "object",
    "properties": {
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "Output format: 'markdown' (default, human-readable) or 'json' (machine-readable)."
     }
    }
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "query_domain_benchmarks",
   "title": "query_domain_benchmarks",
   "description": "Purpose: search the cross-domain benchmark layer - the same verifiable-anchor methodology we apply to rCB, extended to other domains (carbon footprint & markets / telecom & space / health & nutrition / new energy & batteries / compute & energy). Records are policy milestones, official limit values, standards status and dated price snapshots, each with an issuer, an as-of date, a confidence grade and a source_url. Guidelines: filter by domain (carbon / telecom / health / energy / compute), region, category or confidence; every record is meant to be citable - pair with get_domain_benchmark by ID for the full record including the source link. Limits: anchor facts only - no price forecasts (carbon prices are dated snapshots, not live quotes), no medical or dosing advice, no diagnosis; the domain taxonomy is ours, not the issuing body's. Ex: query_domain_benchmarks(domain='carbon'), query_domain_benchmarks(keyword='CBAM'), query_domain_benchmarks(domain='health', confidence='A', language='en'), query_domain_benchmarks(domain='compute').",
   "inputSchema": {
    "type": "object",
    "properties": {
     "keyword": {
      "type": "string",
      "description": "关键词模糊匹配，如 'CBAM'、'3GPP'、'游离糖'、'碳市场'"
     },
     "domain": {
      "type": "string",
      "description": "领域过滤：carbon=碳足迹·碳市场 / telecom=通信·空间 / health=健康·营养 / energy=新能源·电池 / compute=算力·能源（可留空取全部）"
     },
     "region": {
      "type": "string",
      "description": "地区/组织过滤，如 '国际'、'欧盟'、'中国'"
     },
     "category": {
      "type": "string",
      "description": "类别过滤，如 '时间节点'、'碳价快照'、'核算标准'、'膳食摄入限值'"
     },
     "confidence": {
      "type": "string",
      "enum": [
       "A",
       "B",
       "C"
      ],
      "description": "置信度：A=官方一手来源核实, B=权威二手来源, C=待核实"
     },
     "verified": {
      "type": "boolean",
      "description": "true=只看 A 级已核实条目"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读, json=Agent 处理友好"
     },
     "limit": {
      "type": "integer",
      "description": "返回条数上限（默认 20，最大 100）"
     },
     "offset": {
      "type": "integer",
      "description": "起始偏移，默认 0；返回体 has_more=true 时用 next_cursor 作为下一页 offset"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_domain_benchmark",
   "title": "get_domain_benchmark",
   "description": "Purpose: fetch one cross-domain benchmark record by ID or keyword - full summary, issuer, status, as-of date, domain impact, confidence grade and the source URL for citation. Guidelines: pass the ID returned by query_domain_benchmarks (e.g. 'tbm-021') or a distinctive keyword; use this whenever a cross-domain fact is going to be quoted, so the citation carries a verifiable source link. Limits: one record per call; anchor facts only - carbon prices are dated snapshots rather than live quotes, and the health domain provides no diagnosis, treatment or dosing guidance. Ex: get_domain_benchmark(id='tbm-021'), get_domain_benchmark(keyword='CBAM', language='en').",
   "inputSchema": {
    "type": "object",
    "properties": {
     "id": {
      "type": "string",
      "description": "记录 ID，如 'tbm-021'（与 keyword 二选一）"
     },
     "keyword": {
      "type": "string",
      "description": "名称/键名关键词（与 id 二选一），如 'CBAM'、'PAS 2050'"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "Output format: 'markdown' (default, human-readable) or 'json' (machine-readable)."
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_cbam_timeline",
   "title": "get_cbam_timeline",
   "description": "Purpose: the CBAM timeline as a single ordered view - from the founding regulation through the transitional period to the definitive regime and the surrender phase. Guidelines: call this first whenever a question involves CBAM dates, obligations or scope (\"when does CBAM start\", \"when must certificates be surrendered\"). Grouped into transitional/legislative, definitive and surrender phases by the as-of date of each source document. Limits: timeline only - dates come from the cited official documents and are not forecasts; the phase grouping is ours, not the EU's official staging. Pair with get_domain_benchmark(id=...) for the source URL of any node. Ex: get_cbam_timeline(), get_cbam_timeline(language='en').",
   "inputSchema": {
    "type": "object",
    "properties": {
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读, json=Agent 处理友好"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_carbon_market_overview",
   "title": "get_carbon_market_overview",
   "description": "Purpose: one-call overview of the carbon market layer - dated carbon price snapshots (EU ETS auction/settlement, China national ETS), market size statistics and allowance allocation rules, each with its issuer and source. Guidelines: use for \"what is the carbon price / how big is the market / how are allowances allocated\" style questions; filter by market to narrow to the EU or China. Limits: prices are dated snapshots from the cited sources, NOT live quotes; currencies are not converted, so do not compare across currencies without an FX rate. Ex: get_carbon_market_overview(), get_carbon_market_overview(market='cn'), get_carbon_market_overview(market='eu', language='en').",
   "inputSchema": {
    "type": "object",
    "properties": {
     "market": {
      "type": "string",
      "enum": [
       "all",
       "eu",
       "cn"
      ],
      "default": "all",
      "description": "市场过滤：all=全部 / eu=欧盟（EU ETS 碳价）/ cn=中国（全国碳市场）"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "Output format: 'markdown' (default, human-readable) or 'json' (machine-readable)."
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_carbon_standards",
   "title": "get_carbon_standards",
   "description": "Purpose: the carbon accounting standards library - ISO 14064 series, ISO 14067, ISO 14068-1, GHG Protocol and withdrawn standards such as PAS 2050, each with status, as-of date, issuer and confidence grade. Guidelines: use when a question involves which standard governs an organisation-level inventory, a product carbon footprint, or a verification statement; filter status='withdrawn' to check whether a standard still applies. Limits: standards catalogue only - no interpretation of how a standard applies to a specific company. Ex: get_carbon_standards(), get_carbon_standards(status='withdrawn'), get_carbon_standards(keyword='14067').",
   "inputSchema": {
    "type": "object",
    "properties": {
     "status": {
      "type": "string",
      "enum": [
       "all",
       "current",
       "withdrawn"
      ],
      "default": "all",
      "description": "状态过滤：all=全部 / current=现行 / withdrawn=已撤回"
     },
     "keyword": {
      "type": "string",
      "description": "关键词，如 '14067'、'GHG Protocol'、'PAS 2050'"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "Output format: 'markdown' (default, human-readable) or 'json' (machine-readable)."
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "compare_carbon_prices",
   "title": "compare_carbon_prices",
   "description": "Purpose: put every carbon price snapshot side by side - market/basis, value, unit, price date and source - and compute the spread within each currency. Guidelines: use for \"how do EU and China carbon prices compare\" or \"what is the spread between auction and secondary prices\"; same-currency spreads are returned as computed values. Limits: currencies are NOT converted - the tool deliberately does not produce a cross-currency difference, because that requires an FX rate the dataset does not carry; prices are dated snapshots, not live quotes. Ex: compare_carbon_prices(), compare_carbon_prices(language='en').",
   "inputSchema": {
    "type": "object",
    "properties": {
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "Output format: 'markdown' (default, human-readable) or 'json' (machine-readable)."
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "calculate_cbam_cost",
   "title": "calculate_cbam_cost",
   "description": "Purpose: a transparent CBAM cost estimate - embedded emissions multiplied by a carbon price. Guidelines: supply emission_intensity (tCO2e per tonne of goods) and quantity (tonnes); optionally supply carbon_price, otherwise the latest EU ETS EUA spot snapshot in the dataset is used and cited in the output. Use for order-of-magnitude questions about CBAM exposure. Limits: this is ONLY the emissions-times-price multiplication - it excludes free-allocation deduction, third-country carbon-price deduction and default-value mark-ups, so the result is NOT a declarable amount and is not advice; the emission intensity is your input, not our data. Ex: calculate_cbam_cost(emission_intensity=1.8, quantity=5000), calculate_cbam_cost(emission_intensity=2.1, quantity=1200, carbon_price=85).",
   "inputSchema": {
    "type": "object",
    "properties": {
     "emission_intensity": {
      "type": "number",
      "description": "隐含排放强度（吨 CO2e / 吨商品），由调用方提供"
     },
     "quantity": {
      "type": "number",
      "description": "商品数量（吨），须 >0"
     },
     "carbon_price": {
      "type": "number",
      "description": "碳价（可选）；不填则取库内最新 EU ETS EUA 现货快照并在输出中标注来源"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "Output format: 'markdown' (default, human-readable) or 'json' (machine-readable)."
     }
    },
    "required": [
     "emission_intensity",
     "quantity"
    ]
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_battery_regulation_timeline",
   "title": "get_battery_regulation_timeline",
   "description": "Purpose: the EU and China battery regulation timeline in one ordered view - applicability dates, legal bases and amendments, including conditional items. Guidelines: call first for any battery-regulation date question (passport, recycled content, due diligence, carbon footprint). Limits: dates are the applicability dates set in the regulation; items marked conditional apply only after the delegated act enters into force (later of the two triggers). Ex: get_battery_regulation_timeline(), get_battery_regulation_timeline(keyword='护照').",
   "inputSchema": {
    "type": "object",
    "properties": {
     "keyword": {
      "type": "string",
      "description": "关键词过滤（中英均可）"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读, json=Agent 处理友好"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_recycled_content_requirements",
   "title": "get_recycled_content_requirements",
   "description": "Purpose: recycled-content minimums for cobalt, lead, lithium and nickel, split into the two statutory stages. Guidelines: use for threshold questions; pair with calculate_recycled_content_gap to compare against an actual figure. Limits: thresholds only, by material and stage - no interpretation of how they apply to a specific battery. Ex: get_recycled_content_requirements().",
   "inputSchema": {
    "type": "object",
    "properties": {
     "keyword": {
      "type": "string",
      "description": "关键词过滤（中英均可）"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读, json=Agent 处理友好"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "query_battery_recycling_targets",
   "title": "query_battery_recycling_targets",
   "description": "Purpose: battery recycling targets - recycling efficiency, material recovery rates and collection rates, with the year each takes effect. Guidelines: use for target/efficiency questions rather than dates. Limits: published targets only, no industry performance data. Ex: query_battery_recycling_targets().",
   "inputSchema": {
    "type": "object",
    "properties": {
     "keyword": {
      "type": "string",
      "description": "关键词过滤（中英均可）"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读, json=Agent 处理友好"
     },
     "limit": {
      "type": "integer",
      "description": "返回条数上限（默认 20，最大 100）"
     },
     "offset": {
      "type": "integer",
      "description": "起始偏移，默认 0；返回体 has_more=true 时用 next_cursor 作为下一页 offset"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_battery_market_stats",
   "title": "get_battery_market_stats",
   "description": "Purpose: China battery-recycling market statistics - collected volumes, processor counts, NEV output, and modelled future volumes. Guidelines: use when a question needs scale rather than rules; modelled figures are labelled as such in the record names. Limits: China focus; modelled values are not official statistics. Ex: get_battery_market_stats().",
   "inputSchema": {
    "type": "object",
    "properties": {
     "keyword": {
      "type": "string",
      "description": "关键词过滤（中英均可）"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读, json=Agent 处理友好"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_standards_roadmap",
   "title": "get_standards_roadmap",
   "description": "Purpose: the 3GPP and ITU-R standards roadmap - 3GPP releases alongside ITU-R IMT-2030 framework milestones and the 6G timetable. Guidelines: use for standard-version and timeline questions. Limits: status and dates only - performance figures live in the standards themselves. Ex: get_standards_roadmap().",
   "inputSchema": {
    "type": "object",
    "properties": {
     "keyword": {
      "type": "string",
      "description": "关键词过滤（中英均可）"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读, json=Agent 处理友好"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_constellation_status",
   "title": "get_constellation_status",
   "description": "Purpose: LEO constellation status - in-orbit counts for Starlink, Qianfan, Guowang, OneWeb and Amazon Leo, plus annual launch totals and planned sizes. Guidelines: use for constellation scale questions. Limits: counts are public catalogue snapshots, not live tracking; the UCS satellite database stopped updating in 2023-05, so check source vintages. Ex: get_constellation_status().",
   "inputSchema": {
    "type": "object",
    "properties": {
     "keyword": {
      "type": "string",
      "description": "关键词过滤（中英均可）"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读, json=Agent 处理友好"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "query_spectrum_allocations",
   "title": "query_spectrum_allocations",
   "description": "Purpose: spectrum allocations and WRC agenda items - China's frequency plan, trial licences and the WRC-27 items relevant to IMT and direct-to-device. Guidelines: use for spectrum and conference-agenda questions. Limits: agenda items are studies in progress - conclusions only exist in the final conference documents. Ex: query_spectrum_allocations().",
   "inputSchema": {
    "type": "object",
    "properties": {
     "keyword": {
      "type": "string",
      "description": "关键词过滤（中英均可）"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读, json=Agent 处理友好"
     },
     "limit": {
      "type": "integer",
      "description": "返回条数上限（默认 20，最大 100）"
     },
     "offset": {
      "type": "integer",
      "description": "起始偏移，默认 0；返回体 has_more=true 时用 next_cursor 作为下一页 offset"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_6g_patent_landscape",
   "title": "get_6g_patent_landscape",
   "description": "Purpose: the 6G core patent landscape by country and by company. Guidelines: use when a question needs the competitive patent picture. Limits: shares follow published tallies and agencies count families or filings differently - compare across sources with care. Ex: get_6g_patent_landscape().",
   "inputSchema": {
    "type": "object",
    "properties": {
     "keyword": {
      "type": "string",
      "description": "关键词过滤（中英均可）"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读, json=Agent 处理友好"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_telecom_policy_timeline",
   "title": "get_telecom_policy_timeline",
   "description": "Purpose: telecom and satellite-internet policy timeline, including China's 6G roadmap milestones and satellite-internet policy documents. Guidelines: use for policy-sequence questions. Limits: China focus; roadmap dates are planned, not achieved. Ex: get_telecom_policy_timeline().",
   "inputSchema": {
    "type": "object",
    "properties": {
     "keyword": {
      "type": "string",
      "description": "关键词过滤（中英均可）"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读, json=Agent 处理友好"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "query_dietary_limits",
   "title": "query_dietary_limits",
   "description": "Purpose: dietary intake limits and targets - WHO and national figures for fat, sugar, salt, sodium, fibre, fruit and vegetables, by population group. Guidelines: use for limit-value questions. Limits: public classifications and limits for reference only - NOT individual health advice and not for diagnosis or treatment; scopes differ between issuing bodies. Ex: query_dietary_limits().",
   "inputSchema": {
    "type": "object",
    "properties": {
     "keyword": {
      "type": "string",
      "description": "关键词过滤（中英均可）"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读, json=Agent 处理友好"
     },
     "limit": {
      "type": "integer",
      "description": "返回条数上限（默认 20，最大 100）"
     },
     "offset": {
      "type": "integer",
      "description": "起始偏移，默认 0；返回体 has_more=true 时用 next_cursor 作为下一页 offset"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_dietary_guidelines",
   "title": "get_dietary_guidelines",
   "description": "Purpose: dietary guideline entries issued by WHO, China and the US. Guidelines: use when a question asks what a guideline body recommends. Limits: reference only, not individual advice; the three bodies' scopes differ, so do not merge their numbers. Ex: get_dietary_guidelines(keyword='全谷物').",
   "inputSchema": {
    "type": "object",
    "properties": {
     "keyword": {
      "type": "string",
      "description": "关键词过滤（中英均可）"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读, json=Agent 处理友好"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "query_activity_guidelines",
   "title": "query_activity_guidelines",
   "description": "Purpose: physical activity guidelines by population group (adults, children, older adults, pregnancy). Guidelines: use for activity-volume questions. Limits: reference only, not individual advice; note the children's figure is a daily average and WHO sets no quantified threshold for sedentary behaviour. Ex: query_activity_guidelines().",
   "inputSchema": {
    "type": "object",
    "properties": {
     "keyword": {
      "type": "string",
      "description": "关键词过滤（中英均可）"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读, json=Agent 处理友好"
     },
     "limit": {
      "type": "integer",
      "description": "返回条数上限（默认 20，最大 100）"
     },
     "offset": {
      "type": "integer",
      "description": "起始偏移，默认 0；返回体 has_more=true 时用 next_cursor 作为下一页 offset"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "query_health_myths",
   "title": "query_health_myths",
   "description": "Purpose: common health myths clarified against official or systematic-review wording, plus supporting evidence notes. Guidelines: use when a claim needs checking. Limits: reference only, not advice; clarifications quote the source wording without extrapolation. Ex: query_health_myths(keyword='蛋黄').",
   "inputSchema": {
    "type": "object",
    "properties": {
     "keyword": {
      "type": "string",
      "description": "关键词过滤（中英均可）"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读, json=Agent 处理友好"
     },
     "limit": {
      "type": "integer",
      "description": "返回条数上限（默认 20，最大 100）"
     },
     "offset": {
      "type": "integer",
      "description": "起始偏移，默认 0；返回体 has_more=true 时用 next_cursor 作为下一页 offset"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_health_indicators",
   "title": "get_health_indicators",
   "description": "Purpose: health indicator reference values - BMI classes, waist thresholds and body-fat reference points. Guidelines: ALWAYS state which standard is being used. Limits: reference only, not diagnosis; BMI and waist exist in TWO standards (WHO/international vs China) with different cut-offs - never mix them. Ex: get_health_indicators().",
   "inputSchema": {
    "type": "object",
    "properties": {
     "keyword": {
      "type": "string",
      "description": "关键词过滤（中英均可）"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读, json=Agent 处理友好"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_compute_infrastructure",
   "title": "get_compute_infrastructure",
   "description": "Purpose: compute infrastructure scale - rack counts, intelligent-computing capacity, hub and cluster aggregates and the national scheduling platform. Guidelines: use for scale questions. Limits: aggregated to hub, cluster or city level only - no precise facility coordinates are held. Ex: get_compute_infrastructure().",
   "inputSchema": {
    "type": "object",
    "properties": {
     "keyword": {
      "type": "string",
      "description": "关键词过滤（中英均可）"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读, json=Agent 处理友好"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_pue_benchmarks",
   "title": "get_pue_benchmarks",
   "description": "Purpose: PUE benchmarks and green-rating figures for compute facilities. Guidelines: use for efficiency questions; pair with calculate_compute_energy_cost when a load figure is available. Limits: values are published statistics or single-site cases - do not average across differing scopes. Ex: get_pue_benchmarks().",
   "inputSchema": {
    "type": "object",
    "properties": {
     "keyword": {
      "type": "string",
      "description": "关键词过滤（中英均可）"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读, json=Agent 处理友好"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_power_consumption_stats",
   "title": "get_power_consumption_stats",
   "description": "Purpose: compute power consumption statistics, carrying TWO official calibers side by side (National Energy Administration vs CAICT) plus data-centre cost structure. Guidelines: quote the issuing body with the figure. Limits: the two calibers differ by roughly 15% and MUST NOT be mixed - always name the source. Ex: get_power_consumption_stats().",
   "inputSchema": {
    "type": "object",
    "properties": {
     "keyword": {
      "type": "string",
      "description": "关键词过滤（中英均可）"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读, json=Agent 处理友好"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "query_green_power",
   "title": "query_green_power",
   "description": "Purpose: green power trading and direct-connection projects - certificate prices graded by production year, traded volumes and flagship projects. Guidelines: use for green-power price and project questions. Limits: project locations are city or park level only; certificate prices are dated snapshots, not live quotes. Ex: query_green_power().",
   "inputSchema": {
    "type": "object",
    "properties": {
     "keyword": {
      "type": "string",
      "description": "关键词过滤（中英均可）"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "输出格式：markdown=人类阅读, json=Agent 处理友好"
     },
     "limit": {
      "type": "integer",
      "description": "返回条数上限（默认 20，最大 100）"
     },
     "offset": {
      "type": "integer",
      "description": "起始偏移，默认 0；返回体 has_more=true 时用 next_cursor 作为下一页 offset"
     }
    },
    "required": []
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "calculate_recycled_content_gap",
   "title": "calculate_recycled_content_gap",
   "description": "Purpose: compare a given recycled-content figure against the statutory minimum for one material, at both stages. Guidelines: supply material (cobalt / lead / lithium / nickel) and current_pct; thresholds are parsed from the regulation records in the dataset and the source record ID is returned with each row. Limits: one material at a time - this is NOT a compliance finding for a whole battery, and not advice or a declaration basis. Ex: calculate_recycled_content_gap(material='cobalt', current_pct=10).",
   "inputSchema": {
    "type": "object",
    "properties": {
     "material": {
      "type": "string",
      "enum": [
       "cobalt",
       "lead",
       "lithium",
       "nickel"
      ],
      "description": "材料：cobalt=钴 / lead=铅 / lithium=锂 / nickel=镍"
     },
     "current_pct": {
      "type": "number",
      "description": "当前再生含量（%），由调用方提供"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "Output format: 'markdown' (default, human-readable) or 'json' (machine-readable)."
     }
    },
    "required": [
     "material",
     "current_pct"
    ]
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "calculate_compute_energy_cost",
   "title": "calculate_compute_energy_cost",
   "description": "Purpose: a transparent compute-facility energy and cost estimate - IT load x PUE x hours (x tariff). Guidelines: supply it_power_kw; optionally pue (otherwise a published benchmark from the dataset is used and cited), hours (defaults to a full year) and electricity_price (without it only energy is returned). Limits: excludes non-cooling auxiliary loads, transmission losses, demand and capacity charges, green-power premia and carbon cost; the tariff must come from the caller. Ex: calculate_compute_energy_cost(it_power_kw=1000, electricity_price=0.6).",
   "inputSchema": {
    "type": "object",
    "properties": {
     "it_power_kw": {
      "type": "number",
      "description": "IT 设备功率（kW），须 >0"
     },
     "pue": {
      "type": "number",
      "description": "PUE（可选）；不填则取库内公开基准并标注来源"
     },
     "hours": {
      "type": "number",
      "description": "运行时长（小时），默认 8760（全年）"
     },
     "electricity_price": {
      "type": "number",
      "description": "电价（元/kWh）；不填则只返回用电量"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "Output format: 'markdown' (default, human-readable) or 'json' (machine-readable)."
     }
    },
    "required": [
     "it_power_kw"
    ]
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "query_safety_boundaries",
   "title": "query_safety_boundaries",
   "description": "Purpose: the citable safety-boundary layer for strength training - look up an exercise x condition pair and get a graded verdict (avoid / precaution / safe-with-modification / recommended / ineffective-for-target) together with the verbatim source quote, the section locator and a content hash for each citation. This is the wedge of the fitness domain: it answers 'is this movement contraindicated for this condition' rather than 'what should I train'. Guidelines: pass exercise and/or condition as an id (fit-ex-*, fit-cond-*) or as a keyword in Chinese or English; optionally filter by verdict; every row carries at least one retrievable source with a quote you can check character-for-character. Limits: **no individualised advice** (never 'what should I do'), no diagnosis, no dosing; this is a curated source-backed subset, so the absence of a pair is NOT evidence that the pair is safe; paid standards and copyrighted books are represented by metadata only and their body text is never reproduced. Ex: query_safety_boundaries(exercise='深蹲'), query_safety_boundaries(condition='osteoporosis'), query_safety_boundaries(verdict='avoid', response_format='json'), query_safety_boundaries(exercise='fit-ex-bench-press', condition='fit-cond-uncontrolled-hypertension').",
   "inputSchema": {
    "type": "object",
    "properties": {
     "exercise": {
      "type": "string",
      "description": "动作：id（如 fit-ex-back-squat）或关键词（如 '深蹲' / 'deadlift'）"
     },
     "condition": {
      "type": "string",
      "description": "条件：id（如 fit-cond-osteoporosis）或关键词（如 '妊娠' / 'osteoporosis'）"
     },
     "verdict": {
      "type": "string",
      "enum": [
       "avoid",
       "precaution",
       "safe_with_modification",
       "recommended",
       "ineffective_for_target"
      ],
      "description": "按裁定等级过滤（可选）：avoid=禁忌 / precaution=谨慎 / safe_with_modification=可做需改造 / recommended=推荐 / ineffective_for_target=对该目标无效"
     },
     "limit": {
      "type": "integer",
      "description": "每页条数（默认 20，最大 100）"
     },
     "offset": {
      "type": "integer",
      "description": "分页偏移（默认 0；把 next_cursor 原样回传即可翻页）"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "Output format: 'markdown' (default, human-readable) or 'json' (machine-readable)."
     }
    }
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  },
  {
   "name": "get_fitness_record",
   "title": "get_fitness_record",
   "description": "Purpose: fetch one full record from the fitness safety-boundary domain by stable id - an exercise, a condition, or an exercise x condition safety boundary - including every citation as a verbatim quote plus its section locator, retrieval timestamp, source content hash and the record's own content hash, so a downstream agent can cite and verify it without re-fetching. Guidelines: get the id from query_safety_boundaries first (or pass name as a keyword when the match is unambiguous); set include_domain_contract=true to also receive the domain contract (id prefixes, required fields, assertion-kind semantics, source-verification summary, hard boundaries). Every record carries assertion_kind - 'explicit' means the source states the conclusion in plain terms, 'derived' means it was inferred from explicit source facts and the reasoning chain is given. Limits: **no individualised advice** and no diagnosis; paid standards / copyrighted books are metadata only; records without source support are not held here at all. Ex: get_fitness_record(id='fit-ex-back-squat'), get_fitness_record(id='fit-ci-machine-resistance-training-vertebral-fracture-risk'), get_fitness_record(name='卷腹', include_domain_contract=true, language='en').",
   "inputSchema": {
    "type": "object",
    "properties": {
     "id": {
      "type": "string",
      "description": "记录稳定 id：fit-ex-* / fit-cond-* / fit-ci-*"
     },
     "name": {
      "type": "string",
      "description": "名称关键词（中英皆可）；命中多条时返回候选 id 列表"
     },
     "kind": {
      "type": "string",
      "enum": [
       "exercise",
       "condition",
       "contraindication"
      ],
      "description": "限定记录类型（配合 name 使用时更精确）"
     },
     "include_domain_contract": {
      "type": "boolean",
      "default": false,
      "description": "同时返回领域契约（id 前缀 / 必填字段 / assertion_kind 语义 / 来源核实结论 / 硬边界）"
     },
     "language": {
      "type": "string",
      "enum": [
       "zh",
       "en"
      ],
      "default": "zh",
      "description": "输出语言"
     },
     "response_format": {
      "type": "string",
      "enum": [
       "markdown",
       "json"
      ],
      "default": "markdown",
      "description": "Output format: 'markdown' (default, human-readable) or 'json' (machine-readable)."
     }
    },
    "required": [],
    "anyOf": [
     {
      "required": [
       "id"
      ]
     },
     {
      "required": [
       "name"
      ]
     }
    ]
   },
   "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
   },
   "outputSchema": {
    "type": "object",
    "properties": {
     "text": {
      "type": "string",
      "description": "Human-readable result (markdown, or a JSON string when response_format=json)."
     }
    },
    "required": [
     "text"
    ],
    "additionalProperties": true
   }
  }
 ],
 "methodology": {
  "page": "https://trustbaselab.com/methodology",
  "statement": "Our data is global in scope (price anchors use UN Comtrade customs statistics, covering 16 reporting countries). The regulatory environment has four layers of different character — listed flat side by side they would be misread, so they are stated separately: ① Territorial (determined by place of registration — applies): NDRC Measures for the Administration of Price Index Behaviour for Important Goods and Services (NDRC Order No. 22, in force 2024-08-11); ② Use-based (conditionally triggered, not territorial): EU Benchmarks Regulation (BMR), amended by Regulation (EU) 2025/914, applicable from 2026-01-01 — it bites only when our assessments are used by EU-supervised entities for financial instruments or contracts, or when the thresholds are met; the amended general threshold is €5bn of EU use, reduced to €200m for commodity benchmarks whose input data is gathered by journalistic means; ③ Voluntary: IOSCO Principles for Oil Price Reporting Agencies (2012) — adopted by choice, not binding; ④ Technical: ISO 14044 / ISO 14067 — applies to the carbon-footprint part only. We publish the boundaries, assumptions, allocation rules, and the conditions of use and failure conditions of any subjective judgment in our calculation methods; anyone can independently recompute from the public data and raise challenges through the public channel, with outcomes recorded in the changelog. Boundary: we do not claim conformity with any standard or regulatory qualification; what is published is the methods and rules — raw collected data and submitter information are not provided. Submitter confidentiality is part of the methodology, not a reservation clause.",
  "statement_zh": "本站数据以全球为口径（价格锚使用 UN Comtrade 海关贸易统计，覆盖 16 个报告国）；规范环境分四层、性质不同，不可平铺并列：① 属地层（由主体注册地决定，适用）——国家发展改革委《重要商品和服务价格指数行为管理办法》（国家发展改革委令第 22 号，2024-08-11 施行）；② 用途层（条件触发，非属地）——欧盟《基准法规》BMR（修订版 Regulation (EU) 2025/914，2026-01-01 起适用），仅在评估被欧盟受监管主体用于金融工具/合约或达门槛时落入，修订后一般门槛为欧盟使用额 €50 亿，而以新闻采集方式取得输入数据的商品基准门槛降至 €2 亿；③ 自愿层——IOSCO《Principles for Oil Price Reporting Agencies》(2012)，主动对标、无强制力；④ 技术层——ISO 14044 / ISO 14067，仅碳足迹部分适用。本站公开计算方法的边界、假设、分配规则、主观判断的使用条件与失效条件；任何人都可用公开数据独立复算，也可通过公开的受理渠道提出异议，处理结果进入变更记录。边界：不声称符合任何标准或法规的合格性认定；公开的是方法与规则，原始采集数据与提交方信息不提供——提交方保密是本方法论的组成部分，不是保留条款。",
  "note": "Before calling tools, read the methodology to confirm scope, boundaries and failure conditions; documents with status=in_preparation are not yet published and must not be cited as a calculation basis.",
  "note_zh": "调用工具取数前，建议先读方法论确认口径、边界与失效条件；status=in_preparation 的文档尚未发布，不得作为计算依据引用。",
  "documents": [
   {
    "id": "tb-doc-price-assessment",
    "name": "End-of-life Tyre Price Assessment Methodology — Four-Anchor",
    "name_zh": "废旧轮胎价格评估方法论 · 四锚体系",
    "url": "https://trustbaselab.com/methodology#price-method",
    "version": "v4",
    "status": "active"
   },
   {
    "id": "tb-doc-compliance",
    "name": "Compliance & Independence Framework",
    "name_zh": "合规与独立性框架",
    "url": "https://trustbaselab.com/methodology#compliance",
    "version": "v1",
    "status": "active"
   },
   {
    "id": "tb-doc-carbon-footprint",
    "name": "Recycled Materials Carbon Footprint Accounting Methodology (China implementation)",
    "name_zh": "再生材料碳足迹核算方法学（中国区实施）",
    "url": "https://trustbaselab.com/methodology",
    "version": "v0.3",
    "status": "in_preparation"
   }
  ]
 },
 "dataSources": [
  {
   "id": "rcb-companies",
   "name": "Global chemical-recycling industry database + virgin carbon black benchmark layer",
   "name_zh": "全球化学回收产业数据库 + 原生炭黑基准层",
   "url": "https://trustbaselab.com/upload/data.json",
   "records": 131,
   "verified_count": 59,
   "updated_at": "2026-10-12T19:19:42"
  },
  {
   "id": "rcb-policies",
   "name": "Global rCB policy & regulation library",
   "name_zh": "全球 rCB 政策法规库",
   "url": "https://trustbaselab.com/upload/data.json",
   "records": 49,
   "verified_count": 40,
   "updated_at": "2026-10-12T19:19:42"
  },
  {
   "id": "rcb-techs",
   "name": "Global rCB technical standards library",
   "name_zh": "全球 rCB 技术标准库",
   "url": "https://trustbaselab.com/upload/data.json",
   "records": 44,
   "verified_count": 38,
   "updated_at": "2026-10-12T19:19:42"
  },
  {
   "id": "rcb-grades",
   "name": "Virgin carbon black grades + conductive/specialty benchmarks + rCB typical-parameter benchmark library",
   "name_zh": "原生炭黑牌号 + 导电特种对标 + rCB 典型参数对标库",
   "url": "https://trustbaselab.com/upload/data.json",
   "records": 37,
   "verified_count": 22,
   "updated_at": "2026-10-12T19:19:42"
  },
  {
   "id": "rcb-knowledge-cards",
   "name": "rCB industry knowledge cards (public layer)",
   "name_zh": "rCB 产业知识卡片（公开层）",
   "url": "https://trustbaselab.com/upload/data.json",
   "records": 61,
   "verified_count": null,
   "updated_at": null
  },
  {
   "id": "rcb-price-index",
   "name": "rCB price index (two-factor decomposition)",
   "name_zh": "rCB 价格指数（双因子分解）",
   "url": "https://trustbaselab.com/upload/data.json",
   "records": 6,
   "verified_count": null,
   "updated_at": null
  },
  {
   "id": "elt-price-index",
   "name": "End-of-life tyre feedstock price index (6 categories)",
   "name_zh": "废轮胎原料价格指数（6 品类）",
   "url": "https://trustbaselab.com/upload/data.json",
   "records": 6,
   "verified_count": null,
   "updated_at": null
  },
  {
   "id": "rcb-feedstock",
   "name": "Recycled carbon black feedstock module (global scope)",
   "name_zh": "再生炭黑原材料模块（全球口径）",
   "url": "https://trustbaselab.com/upload/data.json",
   "records": 11,
   "verified_count": null,
   "updated_at": null
  },
  {
   "id": "rcb-trade-flows",
   "name": "Global carbon black trade flows (UN Comtrade HS 280300)",
   "name_zh": "全球炭黑贸易流向（UN Comtrade HS 280300）",
   "url": "https://trustbaselab.com/upload/data.json",
   "records": 1751,
   "verified_count": null,
   "updated_at": null
  }
 ],
 "attribution": "Source: Trustbase Lab (Trusted Data Infrastructure for the AI Era) https://trustbaselab.com",
 "attribution_zh": "数据来源：Trustbase Lab（AI 时代的可信数据基础设施）https://trustbaselab.com"
}