{
  "schema_version": "2026-10",
  "name": "52etf-webmcp",
  "title": "52etf.net — Objective Economic, Crypto, Commodity & Real Estate Data Cache",
  "description": "52etf.net 常用经济指标缓存、Crypto链上多空、房地产观测与有效连接汇总 (Cloudflare Agent / WebMCP / SEO 友好站点 — 仅客观数据与连接呈现，不含任何评论或个人资产透露)",
  "site_url": "https://52etf.net/",
  "mirror_url": "https://jstdlee.github.io/52etf/",
  "repository_url": "https://github.com/jstdlee/52etf",
  "content_signal": "search=yes, ai-input=yes, ai-train=no",
  "policy": {
    "objective_data_only": true,
    "no_market_commentary": true,
    "no_personal_asset_disclosure": true,
    "stale_threshold_days": 180
  },
  "endpoints": {
    "home_markdown": "https://52etf.net/index.md",
    "llms_txt": "https://52etf.net/llms.txt",
    "llms_full_txt": "https://52etf.net/llms-full.txt",
    "search_index_json": "https://52etf.net/index.json",
    "broken_and_stale_links_txt": "https://52etf.net/404.txt",
    "agent_card_json": "https://52etf.net/.well-known/agent.json",
    "sitemap_xml": "https://52etf.net/sitemap.xml",
    "rss_xml": "https://52etf.net/index.xml",
    "per_page_markdown_pattern": "https://52etf.net/{section}/{slug}/index.md"
  },
  "rate_limits": {
    "recommended_strategy": "Prefer fetching /llms-full.txt or /index.json in a single HTTP GET request instead of crawling all 29 pages concurrently.",
    "max_requests_per_second": 2,
    "single_request_full_corpus": "https://52etf.net/llms-full.txt"
  },
  "webmcp": {
    "standard": "W3C WebMCP (navigator.modelContext) + window.MCP_TOOLS",
    "tools": [
      {
        "name": "search_indicators",
        "description": "Search cached economic, commodity, bond, FX, real estate, crypto, and equity indicators by keyword, category section, or tag.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "query": {
              "type": "string",
              "description": "Keyword or fuzzy search query (e.g., 'M2', 'Hyperliquid', 'AHR999', 'TSLA', '粮食', '住户贷款')"
            },
            "category": {
              "type": "string",
              "description": "Optional section filter (e.g., '01-macro-money', '02-commodities', '03-bonds-fx', '04-realestate', '05-crypto', '06-equity-tsla-spcx')"
            },
            "tag": {
              "type": "string",
              "description": "Optional tag filter without leading # (e.g., 'BTC', 'M1', '美联储')"
            },
            "include_stale": {
              "type": "boolean",
              "description": "Whether to include indicators not updated for >180 days (default: true)",
              "default": true
            }
          }
        }
      },
      {
        "name": "get_indicator_detail",
        "description": "Retrieve full cached Markdown content, formulas, primary/backup URLs, and staleness status for a specific indicator by slug, title, or URL.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "slug_or_url": {
              "type": "string",
              "description": "Indicator slug (e.g. 'crypto-hyperliquid-onchain-long-short'), path, or title substring"
            }
          },
          "required": ["slug_or_url"]
        }
      },
      {
        "name": "get_stale_or_broken_links",
        "description": "Get all indicators not updated for >180 days (highlighted red on site) and the latest CI /404.txt link verification summary.",
        "inputSchema": {
          "type": "object",
          "properties": {}
        }
      },
      {
        "name": "list_categories",
        "description": "List all 6 indicator categories with item counts, stale counts, and Markdown twin URLs.",
        "inputSchema": {
          "type": "object",
          "properties": {}
        }
      }
    ]
  },
  "calibration_protocol": {
    "github_repo": "https://github.com/jstdlee/52etf",
    "content_directory": "content/",
    "link_checker_script": "node scripts/check-links.mjs",
    "description": "External agents with GitHub write access can calibrate cached numbers or replace dead links by editing content/<section>/<slug>.md and running node scripts/check-links.mjs."
  }
}
