{
  "benchmark": "toolrouter-schema-weight",
  "date": "2026-09-03",
  "generatedAt": "2026-09-03T22:32:20.532Z",
  "endpoint": {
    "mcp": "https://api.toolrouter.com/mcp",
    "catalog": "https://api.toolrouter.com/v1/tools",
    "mirror": "https://api.toolrouter.com/v1/tools/mcp"
  },
  "serverInfo": {
    "name": "toolrouter",
    "title": "ToolRouter",
    "icons": [
      {
        "src": "https://toolrouter.com/icon-256.png",
        "mimeType": "image/png",
        "sizes": [
          "256x256"
        ]
      }
    ],
    "version": "0.3.0",
    "websiteUrl": "https://toolrouter.com",
    "description": "Unified gateway for discovering and using AI tools."
  },
  "client": {
    "sdk": "@modelcontextprotocol/sdk",
    "sdkVersion": "1.30.0",
    "transport": "streamable-http",
    "standaloneSseStream": "declined — the client answers its own GET with 405, so responses arrive on the POST that requested them",
    "node": "v26.5.0"
  },
  "tokenizer": {
    "package": "gpt-tokenizer",
    "version": "4.0.0",
    "encoding": "o200k_base",
    "modelFamily": "OpenAI GPT-4o / GPT-4.1 / o-series"
  },
  "method": {
    "serialization": "JSON.stringify(tools) — the tools array exactly as tools/list returns it, no whitespace",
    "bytes": "Buffer.byteLength(serialized, \"utf8\")",
    "tokens": "gpt-tokenizer o200k_base encode() of the same string",
    "flatSetConstruction": "One MCP tool per catalog skill, name \"<tool_with_underscores>__<skill>\", built from the public catalog in the same shape src/gateway/mcp-server.ts formatMcpTool emits (title, description, inputSchema; outputSchema omitted). No ToolRouter surface ships this set — it is the baseline a flat MCP server would pay."
  },
  "catalog": {
    "tools": 254,
    "skills": 1345,
    "perTool": [
      {
        "name": "travel-time",
        "skills": 3
      },
      {
        "name": "parking-finder",
        "skills": 1
      },
      {
        "name": "appstore-aso",
        "skills": 16
      },
      {
        "name": "seo",
        "skills": 19
      },
      {
        "name": "geo",
        "skills": 23
      },
      {
        "name": "dns-domain",
        "skills": 4
      },
      {
        "name": "whois-rdap",
        "skills": 1
      },
      {
        "name": "domain-search",
        "skills": 3
      },
      {
        "name": "page-speed",
        "skills": 1
      },
      {
        "name": "site-crawler",
        "skills": 1
      },
      {
        "name": "image-ops",
        "skills": 1
      },
      {
        "name": "security-scanner",
        "skills": 7
      },
      {
        "name": "phishing-email-checker",
        "skills": 1
      },
      {
        "name": "web-scraper",
        "skills": 8
      },
      {
        "name": "web-search",
        "skills": 12
      },
      {
        "name": "generate-video",
        "skills": 3
      },
      {
        "name": "lead-finder",
        "skills": 10
      },
      {
        "name": "investor-finder",
        "skills": 6
      },
      {
        "name": "weather-forecast",
        "skills": 3
      },
      {
        "name": "currency-exchange",
        "skills": 3
      },
      {
        "name": "crypto-prices",
        "skills": 4
      },
      {
        "name": "vulnerability-database",
        "skills": 3
      },
      {
        "name": "nutrition-data",
        "skills": 4
      },
      {
        "name": "ip-geolocation",
        "skills": 2
      },
      {
        "name": "tech-news",
        "skills": 3
      },
      {
        "name": "academic-research",
        "skills": 3
      },
      {
        "name": "public-holidays",
        "skills": 4
      },
      {
        "name": "competitor-research",
        "skills": 1
      },
      {
        "name": "content-repurposer",
        "skills": 2
      },
      {
        "name": "country-data",
        "skills": 3
      },
      {
        "name": "dictionary-words",
        "skills": 4
      },
      {
        "name": "world-economy",
        "skills": 3
      },
      {
        "name": "earthquake-monitor",
        "skills": 2
      },
      {
        "name": "sunrise-sunset",
        "skills": 1
      },
      {
        "name": "nobel-prizes",
        "skills": 2
      },
      {
        "name": "generate-chart",
        "skills": 1
      },
      {
        "name": "sec-filings",
        "skills": 6
      },
      {
        "name": "web-archive",
        "skills": 3
      },
      {
        "name": "generate-image",
        "skills": 6
      },
      {
        "name": "pentest",
        "skills": 7
      },
      {
        "name": "sound-effect-generator",
        "skills": 2
      },
      {
        "name": "music-generator",
        "skills": 2
      },
      {
        "name": "voice-generator",
        "skills": 3
      },
      {
        "name": "audio-isolator",
        "skills": 2
      },
      {
        "name": "audio-transcriber",
        "skills": 3
      },
      {
        "name": "voice-transformer",
        "skills": 2
      },
      {
        "name": "audio-dubber",
        "skills": 3
      },
      {
        "name": "deep-research",
        "skills": 1
      },
      {
        "name": "localize-app-store-screenshots",
        "skills": 2
      },
      {
        "name": "restyle-app-store-screenshots",
        "skills": 3
      },
      {
        "name": "qr-code-generator",
        "skills": 3
      },
      {
        "name": "play-store-aso",
        "skills": 10
      },
      {
        "name": "bigquery",
        "skills": 4
      },
      {
        "name": "app-review-analysis",
        "skills": 4
      },
      {
        "name": "social-profiles",
        "skills": 18
      },
      {
        "name": "social-media-content",
        "skills": 35
      },
      {
        "name": "social-media-search",
        "skills": 14
      },
      {
        "name": "linkedin-post",
        "skills": 4
      },
      {
        "name": "google-business-profile",
        "skills": 17
      },
      {
        "name": "google-analytics",
        "skills": 5
      },
      {
        "name": "google-search-console",
        "skills": 7
      },
      {
        "name": "youtube-analytics",
        "skills": 5
      },
      {
        "name": "slack",
        "skills": 12
      },
      {
        "name": "x-manager",
        "skills": 17
      },
      {
        "name": "video-transcripts",
        "skills": 5
      },
      {
        "name": "ad-library-search",
        "skills": 11
      },
      {
        "name": "social-media-comments",
        "skills": 7
      },
      {
        "name": "social-shop-products",
        "skills": 11
      },
      {
        "name": "social-reader",
        "skills": 8
      },
      {
        "name": "brand-extract",
        "skills": 1
      },
      {
        "name": "brand-mentions-ai",
        "skills": 2
      },
      {
        "name": "ugc-video",
        "skills": 12
      },
      {
        "name": "ugc-video-turbo",
        "skills": 14
      },
      {
        "name": "ugc-image",
        "skills": 3
      },
      {
        "name": "faceless-carousels",
        "skills": 9
      },
      {
        "name": "get-brand-logo",
        "skills": 1
      },
      {
        "name": "stock-market",
        "skills": 11
      },
      {
        "name": "futures-market",
        "skills": 7
      },
      {
        "name": "commodities",
        "skills": 7
      },
      {
        "name": "video-editor",
        "skills": 7
      },
      {
        "name": "viral-video-clone",
        "skills": 2
      },
      {
        "name": "web-screenshot",
        "skills": 2
      },
      {
        "name": "translate",
        "skills": 3
      },
      {
        "name": "persona-generator",
        "skills": 3
      },
      {
        "name": "oompa-loompa-generator",
        "skills": 4
      },
      {
        "name": "poetry-cinema",
        "skills": 11
      },
      {
        "name": "recipe-finder",
        "skills": 9
      },
      {
        "name": "finance-data",
        "skills": 23
      },
      {
        "name": "grocery-prices",
        "skills": 7
      },
      {
        "name": "drug-info",
        "skills": 4
      },
      {
        "name": "stays-search",
        "skills": 3
      },
      {
        "name": "movie-tv-search",
        "skills": 5
      },
      {
        "name": "similar-movies",
        "skills": 2
      },
      {
        "name": "events-nearby",
        "skills": 4
      },
      {
        "name": "sports-scores",
        "skills": 5
      },
      {
        "name": "flight-search",
        "skills": 8
      },
      {
        "name": "travel-booking",
        "skills": 10
      },
      {
        "name": "book-search",
        "skills": 9
      },
      {
        "name": "art-collection-search",
        "skills": 3
      },
      {
        "name": "contract-opportunities",
        "skills": 6
      },
      {
        "name": "space-data",
        "skills": 5
      },
      {
        "name": "trivia-quiz",
        "skills": 3
      },
      {
        "name": "wikipedia-lookup",
        "skills": 5
      },
      {
        "name": "library-docs",
        "skills": 2
      },
      {
        "name": "timezone-converter",
        "skills": 4
      },
      {
        "name": "keyword-research",
        "skills": 7
      },
      {
        "name": "ai-visibility-monitor",
        "skills": 5
      },
      {
        "name": "local-rank-tracker",
        "skills": 5
      },
      {
        "name": "security-questionnaire",
        "skills": 5
      },
      {
        "name": "hubspot-pipeline-auditor",
        "skills": 5
      },
      {
        "name": "sentry-incident-triage",
        "skills": 5
      },
      {
        "name": "zendesk-backlog-triage",
        "skills": 4
      },
      {
        "name": "cloudflare-traffic-auditor",
        "skills": 4
      },
      {
        "name": "posthog-funnel-analyzer",
        "skills": 4
      },
      {
        "name": "microsoft-365-license-review",
        "skills": 3
      },
      {
        "name": "klaviyo-performance-auditor",
        "skills": 3
      },
      {
        "name": "ai-spend-auditor",
        "skills": 4
      },
      {
        "name": "backlink-intelligence",
        "skills": 6
      },
      {
        "name": "workout-planner",
        "skills": 9
      },
      {
        "name": "video-production",
        "skills": 7
      },
      {
        "name": "diagram-generator",
        "skills": 1
      },
      {
        "name": "address-geocoding",
        "skills": 2
      },
      {
        "name": "address-lookup",
        "skills": 12
      },
      {
        "name": "flight-status",
        "skills": 3
      },
      {
        "name": "job-search",
        "skills": 4
      },
      {
        "name": "link-preview",
        "skills": 1
      },
      {
        "name": "email-validator",
        "skills": 3
      },
      {
        "name": "name-enrichment",
        "skills": 2
      },
      {
        "name": "polymarket",
        "skills": 23
      },
      {
        "name": "pdf",
        "skills": 5
      },
      {
        "name": "vehicle-data",
        "skills": 13
      },
      {
        "name": "ocean-data",
        "skills": 10
      },
      {
        "name": "product-recalls",
        "skills": 5
      },
      {
        "name": "night-sky",
        "skills": 5
      },
      {
        "name": "color-tools",
        "skills": 5
      },
      {
        "name": "chemistry-lookup",
        "skills": 6
      },
      {
        "name": "train-tracker",
        "skills": 5
      },
      {
        "name": "regulatory-actions",
        "skills": 4
      },
      {
        "name": "economic-calendar",
        "skills": 9
      },
      {
        "name": "tax-reference",
        "skills": 5
      },
      {
        "name": "financial-calculator",
        "skills": 7
      },
      {
        "name": "excel-tools",
        "skills": 3
      },
      {
        "name": "docx-tools",
        "skills": 3
      },
      {
        "name": "pptx-tools",
        "skills": 3
      },
      {
        "name": "stealth-scraper",
        "skills": 2
      },
      {
        "name": "fuel-prices",
        "skills": 6
      },
      {
        "name": "people-search",
        "skills": 11
      },
      {
        "name": "real-estate",
        "skills": 7
      },
      {
        "name": "background-removal",
        "skills": 2
      },
      {
        "name": "image-upscale",
        "skills": 3
      },
      {
        "name": "video-upscale",
        "skills": 2
      },
      {
        "name": "ev-chargers",
        "skills": 5
      },
      {
        "name": "crime-stats",
        "skills": 4
      },
      {
        "name": "company-lookup",
        "skills": 11
      },
      {
        "name": "compliance-screening",
        "skills": 14
      },
      {
        "name": "clinical-trials",
        "skills": 3
      },
      {
        "name": "air-quality",
        "skills": 5
      },
      {
        "name": "case-law",
        "skills": 15
      },
      {
        "name": "submit-sitemap",
        "skills": 4
      },
      {
        "name": "news",
        "skills": 4
      },
      {
        "name": "fact-lookup",
        "skills": 3
      },
      {
        "name": "economic-data",
        "skills": 5
      },
      {
        "name": "vessel-tracker",
        "skills": 6
      },
      {
        "name": "package-tracker",
        "skills": 6
      },
      {
        "name": "f1",
        "skills": 7
      },
      {
        "name": "makeup",
        "skills": 1
      },
      {
        "name": "photo-restore",
        "skills": 3
      },
      {
        "name": "portrait-photo",
        "skills": 2
      },
      {
        "name": "virtual-tryon",
        "skills": 2
      },
      {
        "name": "face-swap",
        "skills": 2
      },
      {
        "name": "hairstyle-changer",
        "skills": 3
      },
      {
        "name": "defense-spending",
        "skills": 14
      },
      {
        "name": "geopolitics",
        "skills": 4
      },
      {
        "name": "satellite-tracker",
        "skills": 5
      },
      {
        "name": "product-studio",
        "skills": 13
      },
      {
        "name": "product-spec-sheet",
        "skills": 2
      },
      {
        "name": "video-edit",
        "skills": 4
      },
      {
        "name": "satellite-imagery",
        "skills": 4
      },
      {
        "name": "youtube-thumbnails",
        "skills": 2
      },
      {
        "name": "energy-data",
        "skills": 2
      },
      {
        "name": "government-spending",
        "skills": 4
      },
      {
        "name": "places-search",
        "skills": 4
      },
      {
        "name": "compress",
        "skills": 1
      },
      {
        "name": "supply-chain-risk",
        "skills": 4
      },
      {
        "name": "grants-finder",
        "skills": 5
      },
      {
        "name": "marketplace-search",
        "skills": 4
      },
      {
        "name": "record-collector",
        "skills": 10
      },
      {
        "name": "wine-collector",
        "skills": 10
      },
      {
        "name": "trading-cards",
        "skills": 5
      },
      {
        "name": "manufacturer-finder",
        "skills": 5
      },
      {
        "name": "interior-design",
        "skills": 10
      },
      {
        "name": "jewelry-visualizer",
        "skills": 9
      },
      {
        "name": "scene-compositor",
        "skills": 3
      },
      {
        "name": "catalogue-scraper",
        "skills": 1
      },
      {
        "name": "product-scraper",
        "skills": 1
      },
      {
        "name": "lab-results",
        "skills": 3
      },
      {
        "name": "shopify-store",
        "skills": 29
      },
      {
        "name": "image-style-extractor",
        "skills": 1
      },
      {
        "name": "scene-creator",
        "skills": 1
      },
      {
        "name": "script-enhancer",
        "skills": 1
      },
      {
        "name": "outfit-stylist",
        "skills": 4
      },
      {
        "name": "character-animator",
        "skills": 5
      },
      {
        "name": "content-remixer",
        "skills": 4
      },
      {
        "name": "character-sheet-maker",
        "skills": 9
      },
      {
        "name": "ai-influencer-creator",
        "skills": 5
      },
      {
        "name": "photo-style-transfer",
        "skills": 7
      },
      {
        "name": "fashion-studio",
        "skills": 6
      },
      {
        "name": "playlist-art-maker",
        "skills": 3
      },
      {
        "name": "ai-art-studio",
        "skills": 7
      },
      {
        "name": "brand-kit-maker",
        "skills": 5
      },
      {
        "name": "game-art-generator",
        "skills": 5
      },
      {
        "name": "short-film-maker",
        "skills": 12
      },
      {
        "name": "meme-generator",
        "skills": 4
      },
      {
        "name": "tattoo-designer",
        "skills": 4
      },
      {
        "name": "photo-animation",
        "skills": 5
      },
      {
        "name": "ai-avatar-creator",
        "skills": 5
      },
      {
        "name": "cartoon-maker",
        "skills": 5
      },
      {
        "name": "floor-plan-renderer",
        "skills": 2
      },
      {
        "name": "room-renovator",
        "skills": 2
      },
      {
        "name": "furniture-fabric-swap",
        "skills": 2
      },
      {
        "name": "product-video-maker",
        "skills": 2
      },
      {
        "name": "movie-poster-maker",
        "skills": 2
      },
      {
        "name": "photo-location-finder",
        "skills": 2
      },
      {
        "name": "sketch-to-render",
        "skills": 2
      },
      {
        "name": "renovation-timelapse",
        "skills": 2
      },
      {
        "name": "dramatic-reveal",
        "skills": 2
      },
      {
        "name": "storyboard-generator",
        "skills": 1
      },
      {
        "name": "put-yourself-in-a-movie",
        "skills": 2
      },
      {
        "name": "social-content-planner",
        "skills": 1
      },
      {
        "name": "static-ad-generator",
        "skills": 4
      },
      {
        "name": "product-placement-photo",
        "skills": 1
      },
      {
        "name": "accounts-preparer",
        "skills": 7
      },
      {
        "name": "construction-manager",
        "skills": 9
      },
      {
        "name": "style-finder",
        "skills": 3
      },
      {
        "name": "dupe-finder",
        "skills": 2
      },
      {
        "name": "menu-photo",
        "skills": 3
      },
      {
        "name": "menu-finder",
        "skills": 2
      },
      {
        "name": "browser-tester",
        "skills": 3
      },
      {
        "name": "property-prospector",
        "skills": 4
      },
      {
        "name": "material-patterns",
        "skills": 3
      },
      {
        "name": "trade-supplies",
        "skills": 7
      },
      {
        "name": "lead-planner",
        "skills": 6
      },
      {
        "name": "agent-readiness",
        "skills": 1
      },
      {
        "name": "mcp-compatibility",
        "skills": 1
      },
      {
        "name": "mcp-registry-manifest",
        "skills": 2
      },
      {
        "name": "mcp-benchmark",
        "skills": 1
      },
      {
        "name": "webmcp-ready",
        "skills": 1
      },
      {
        "name": "options-flow",
        "skills": 5
      },
      {
        "name": "equities",
        "skills": 6
      },
      {
        "name": "image-to-3d",
        "skills": 3
      },
      {
        "name": "send-email",
        "skills": 5
      },
      {
        "name": "email-sender",
        "skills": 2
      },
      {
        "name": "resume-maker",
        "skills": 5
      },
      {
        "name": "dynamic-captions",
        "skills": 2
      }
    ]
  },
  "measurements": {
    "routingOnly": {
      "tools": 2,
      "bytes": 4807,
      "tokens": 1070,
      "toolNames": [
        "discover",
        "use_tool"
      ]
    },
    "hostedDefault": {
      "tools": 47,
      "bytes": 40146,
      "tokens": 9286,
      "toolNames": [
        "account_setup",
        "account_list",
        "account_switch",
        "account_preferences",
        "credits_balance",
        "credits_usage",
        "subscription_manage",
        "invoice_list",
        "key_list",
        "key_create",
        "key_delete",
        "credential_list",
        "credential_save",
        "credential_delete",
        "credential_default",
        "credential_guide",
        "file_list",
        "file_read",
        "file_write",
        "file_delete",
        "persona_list",
        "scene_list",
        "product_list",
        "outfit_list",
        "connector_list",
        "connector_add",
        "connector_remove",
        "brain_admin",
        "job_list",
        "job_get",
        "job_cancel",
        "feedback_review",
        "feedback_debug",
        "feedback_request_tool",
        "top_up_credits",
        "discover",
        "use_tool",
        "brain_query",
        "brain_add",
        "brain_update",
        "brain_delete",
        "brain_status",
        "brain_lint",
        "brain_settings",
        "brain_expand",
        "brain_wings",
        "connector_permissions"
      ]
    },
    "flatPerSkill": {
      "tools": 1345,
      "bytes": 1137558,
      "tokens": 257047
    }
  },
  "ratios": {
    "flatVsHosted": 27.7,
    "flatVsRouting": 240.2
  },
  "routingTools": [
    {
      "name": "discover",
      "title": "Discover Tools",
      "description": "Find the right ToolRouter tool for your task. Describe what you need in plain language.\nExamples: \"analyze a website\", \"research competitors\", \"find prospect companies\", \"check DNS records\".\nExact tool name (e.g. \"seo\") returns full schemas and examples.\nFlow: discover → pick a tool + skill from results → call use_tool(tool, skill, input).\nEvery discover response also includes a top-level `connectors` array listing SaaS accounts the user has already connected (LinkedIn, Google, Notion, etc.). Use that to pick the right tool and account without asking — e.g. if `connectors` shows LinkedIn, the linkedin-post tool is ready to use.\nCategories: data, media, search, marketing, development, communication, analytics, productivity, ai, finance, security, infrastructure",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "What you want to do (e.g. \"scrape a webpage\"), a category (e.g. \"security\"), or \"*\" to list everything."
          },
          "category": {
            "type": "string",
            "description": "Filter by category",
            "enum": [
              "data",
              "media",
              "search",
              "marketing",
              "development",
              "communication",
              "analytics",
              "productivity",
              "ai",
              "finance",
              "security",
              "infrastructure"
            ]
          }
        },
        "required": [
          "query"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      }
    },
    {
      "name": "use_tool",
      "title": "Use Tool",
      "description": "Call a ToolRouter catalogue tool. Use discover first to find tools — then pass the tool name and skill here. IMPORTANT: \"discover\", \"credits_balance\", and other built-in tools are NOT catalogue tools — call them directly, never through use_tool. Long-running tools return a job_id — poll with job_get. If a skill needs an image_url or file URL and you have a local file or base64 image, use file_write first to get a hosted URL, then pass that URL to the skill. BRAIN: Some tools require you to consult brain_query first. If use_tool returns an error about brain_context, call brain_query with a relevant query, then pass the result text as brain_context in your use_tool input.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string",
            "description": "Tool reference from discover results, e.g. \"web-search\""
          },
          "skill": {
            "type": "string",
            "description": "Skill name from discover results, e.g. \"search\""
          },
          "input": {
            "type": "object",
            "description": "Skill input parameters (see discover for schema). For persona-using tools, include persona_file_id from discover or persona_list. For scene-using tools, include scene_file_id from discover or scene_list. For product-using tools, include product_file_id from discover or product_list. For outfit-using tools, include outfit_file_id from discover or outfit_list. For style-reference tools, include style_reference_id (from discover or file_list), style_reference_query (semantic search), or style_reference_prompt (inline prose). For image-composition tools (e.g. generate-image image_to_image), pass any combination of scene_file_id, persona_file_id, product_file_ids[] (from file_list section \"products\"), outfit_file_ids[] (section \"outfits\"), and raw image_urls[] — the gateway resolves and merges them into a single image_urls array (max 4 by default)."
          },
          "response_format": {
            "type": "string",
            "description": "Response verbosity. \"concise\" (default) strips noise, returns essential data only. \"detailed\" returns everything including raw metadata.",
            "enum": [
              "concise",
              "detailed"
            ],
            "default": "concise"
          },
          "backend": {
            "type": "object",
            "description": "Route the same model through interchangeable providers. order prioritises providers; only restricts; ignore excludes; allow_fallbacks defaults true.",
            "properties": {
              "order": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Provider slugs to try first, in order."
              },
              "only": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Restrict the call to these providers."
              },
              "ignore": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Exclude these providers."
              },
              "allow_fallbacks": {
                "type": "boolean",
                "description": "Try the next provider after an outage, timeout, or rate limit. Defaults to true."
              }
            },
            "additionalProperties": false
          },
          "billing": {
            "type": "string",
            "description": "Which account to bill. \"personal\", \"team\" (auto-resolves if on one team), a team slug (\"humanleap\"), or a team ID (\"team:m57df8c...\"). Omit to use your default."
          },
          "brain_context": {
            "type": "string",
            "description": "Brain knowledge from brain_query. Pass at the top level of use_tool (alongside \"tool\", \"skill\", \"input\") — NOT inside input. Call brain_query first, then paste the result text here to clear the brain gate."
          }
        },
        "required": [
          "tool",
          "skill",
          "input"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      }
    }
  ],
  "rerun": {
    "script": "https://toolrouter.com/benchmarks/schema-weight-benchmark.ts",
    "command": "npm i @modelcontextprotocol/sdk@1.30.0 gpt-tokenizer@4.0.0 tsx && npx tsx schema-weight-benchmark.ts ."
  }
}