{
  "serverInfo": {
    "name": "trustbase-rcb-data",
    "title": "Trustbase Lab · AI-Era Trusted Industry Data (multi-domain)",
    "version": "1.15.5",
    "description": "Trusted multi-domain industry data for AI agents across multiple domains — recovered resources / chemical recycling (rCB suppliers, policies, ASTM/GB standards, equipment vendors, feedstock & product prices) plus new-energy batteries, carbon accounting, telecom & space, health & nutrition, and compute & energy. Every record carries a stable ID, a confidence grade and a primary source.",
    "websiteUrl": "https://trustbaselab.com/ai",
    "icons": [
      {
        "src": "https://trustbaselab.com/upload/icon.png",
        "mimeType": "image/png",
        "sizes": [
          "512x512"
        ]
      }
    ]
  },
  "authentication": {
    "required": false,
    "schemes": []
  },
  "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
      }
    }
  ],
  "resources": [
    {
      "uri": "ui://widget/grades-compare.html",
      "name": "grades-compare",
      "title": "rCB 牌号对标卡 / rCB Grade Comparison Card",
      "description": "Interactive card comparing a native carbon black grade's ASTM spec ranges against an rCB grade held in the database. 原生牌号标准范围与 rCB 牌号范围逐项对照，含达标/轻度偏离/显著偏离判定与替代限制说明。",
      "mimeType": "text/html;profile=mcp-app"
    },
    {
      "uri": "report://tbl-rpt-2026q3-01",
      "name": "TBL-RPT-2026Q3-01",
      "title": "影子定价：再生炭黑价格发现的结构性缺位 / The Shadow Price: Why rCB Cannot Yet Have a Price of Its Own",
      "description": "rCB 至今没有自己的价格，只有原生炭黑的影子价。本报告以 24 期官方锚序列与 1,751 条海关双边明细，论证影子定价的成因、代价与退出路径。",
      "mimeType": "text/markdown"
    },
    {
      "uri": "report://tbl-rpt-2026q3-02",
      "name": "TBL-RPT-2026Q3-02",
      "title": "定义权转移：当制度开始替市场定义什么叫「回收」 / Who Writes the Definition of \"Recycling\"?",
      "description": "「回收」的定义权正从产业界转向立法机构。2026 一年生效 12 条政策，超过 2001–2019 十九年总和。本报告论证定义权转移的机制、受益者与成本承担者。",
      "mimeType": "text/markdown"
    },
    {
      "uri": "report://tbl-rpt-2026q3-03",
      "name": "TBL-RPT-2026Q3-03",
      "title": "错配的标尺：灰分不是技术短板，而是分类维度的缺失 / The Wrong Yardstick",
      "description": "用不含灰分维度的 ASTM N 系列框架给 rCB 分类，结构上必然失效。本报告论证错配的成因，并给出三条可核验的代价证据。",
      "mimeType": "text/markdown"
    },
    {
      "uri": "report://tbl-rpt-2026q3-04",
      "name": "TBL-RPT-2026Q3-04",
      "title": "三种语法：同一批 rCB 在 ASTM、中国与欧盟手里的三个身份 / Three Grammars",
      "description": "ASTM 为 rCB 建了 6 条专属标准，中国国家标准是 0 条，欧盟一条都不建、只用追溯与碳足迹规则覆盖。本报告把 44 条标准按「给不给独立身份」重新归类。",
      "mimeType": "text/markdown"
    }
  ],
  "prompts": []
}
