{
  "server": "https://zrouter.si/mcp",
  "tools": [
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "readOnlyHint": true
      },
      "description": "Show the signed-in account and its credit balance.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "account_info"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "readOnlyHint": true
      },
      "description": "Credit purchases and charges for this account.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "credit_ledger"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "readOnlyHint": true
      },
      "description": "Total requests, tokens, and cost for a time window.",
      "inputSchema": {
        "properties": {
          "days": {
            "description": "Look-back window in days (default 30)",
            "type": "string"
          },
          "end_date": {
            "description": "End date, YYYY-MM-DD",
            "type": "string"
          },
          "model": {
            "description": "Filter by model",
            "type": "string"
          },
          "provider": {
            "description": "Filter by provider",
            "type": "string"
          },
          "start_date": {
            "description": "Start date, YYYY-MM-DD",
            "type": "string"
          },
          "user_path": {
            "description": "Limit to a user path inside your account",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "usage_summary"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "readOnlyHint": true
      },
      "description": "Usage and cost over time.",
      "inputSchema": {
        "properties": {
          "days": {
            "description": "Look-back window in days (default 30)",
            "type": "string"
          },
          "end_date": {
            "description": "End date, YYYY-MM-DD",
            "type": "string"
          },
          "interval": {
            "description": "day, week, or month",
            "type": "string"
          },
          "model": {
            "description": "Filter by model",
            "type": "string"
          },
          "provider": {
            "description": "Filter by provider",
            "type": "string"
          },
          "start_date": {
            "description": "Start date, YYYY-MM-DD",
            "type": "string"
          },
          "user_path": {
            "description": "Limit to a user path inside your account",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "usage_daily"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "readOnlyHint": true
      },
      "description": "Usage and cost grouped by model.",
      "inputSchema": {
        "properties": {
          "days": {
            "description": "Look-back window in days (default 30)",
            "type": "string"
          },
          "end_date": {
            "description": "End date, YYYY-MM-DD",
            "type": "string"
          },
          "model": {
            "description": "Filter by model",
            "type": "string"
          },
          "provider": {
            "description": "Filter by provider",
            "type": "string"
          },
          "start_date": {
            "description": "Start date, YYYY-MM-DD",
            "type": "string"
          },
          "user_path": {
            "description": "Limit to a user path inside your account",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "usage_by_model"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "readOnlyHint": true
      },
      "description": "Per-request usage entries with tokens and cost.",
      "inputSchema": {
        "properties": {
          "days": {
            "description": "Look-back window in days (default 30)",
            "type": "string"
          },
          "end_date": {
            "description": "End date, YYYY-MM-DD",
            "type": "string"
          },
          "limit": {
            "description": "Page size",
            "type": "number"
          },
          "model": {
            "description": "Filter by model",
            "type": "string"
          },
          "offset": {
            "description": "Page offset",
            "type": "number"
          },
          "provider": {
            "description": "Filter by provider",
            "type": "string"
          },
          "search": {
            "description": "Free-text search",
            "type": "string"
          },
          "start_date": {
            "description": "Start date, YYYY-MM-DD",
            "type": "string"
          },
          "user_path": {
            "description": "Limit to a user path inside your account",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "usage_log"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "readOnlyHint": true
      },
      "description": "Search this account's request logs. Use logs_get for one entry's full detail.",
      "inputSchema": {
        "properties": {
          "days": {
            "description": "Look-back window in days (default 30)",
            "type": "string"
          },
          "end_date": {
            "description": "End date, YYYY-MM-DD",
            "type": "string"
          },
          "error_type": {
            "description": "Error type",
            "type": "string"
          },
          "limit": {
            "description": "Page size (default 25)",
            "type": "number"
          },
          "model": {
            "description": "Filter by model",
            "type": "string"
          },
          "offset": {
            "description": "Page offset",
            "type": "number"
          },
          "provider": {
            "description": "Filter by provider",
            "type": "string"
          },
          "search": {
            "description": "Free-text search",
            "type": "string"
          },
          "start_date": {
            "description": "Start date, YYYY-MM-DD",
            "type": "string"
          },
          "status_code": {
            "description": "HTTP status code, for example 429",
            "type": "string"
          },
          "user_path": {
            "description": "Limit to a user path inside your account",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "logs_search"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "readOnlyHint": true
      },
      "description": "Full detail of one request log entry.",
      "inputSchema": {
        "properties": {
          "log_id": {
            "description": "Log entry id from logs_search",
            "type": "string"
          }
        },
        "required": [
          "log_id"
        ],
        "type": "object"
      },
      "name": "logs_get"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "readOnlyHint": true
      },
      "description": "Request counts, error rates, and latency statistics.",
      "inputSchema": {
        "properties": {
          "days": {
            "description": "Look-back window in days (default 30)",
            "type": "string"
          },
          "end_date": {
            "description": "End date, YYYY-MM-DD",
            "type": "string"
          },
          "model": {
            "description": "Filter by model",
            "type": "string"
          },
          "provider": {
            "description": "Filter by provider",
            "type": "string"
          },
          "start_date": {
            "description": "Start date, YYYY-MM-DD",
            "type": "string"
          },
          "user_path": {
            "description": "Limit to a user path inside your account",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "logs_stats"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "readOnlyHint": true
      },
      "description": "List models this account can use.",
      "inputSchema": {
        "properties": {
          "category": {
            "description": "Optional category filter",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "models_list"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "readOnlyHint": true
      },
      "description": "List this account's virtual models (routers), the available routing strategies, and the account's model name prefix.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "virtual_models_list"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "readOnlyHint": false
      },
      "description": "Create or update a virtual model router.",
      "inputSchema": {
        "properties": {
          "description": {
            "description": "Optional description",
            "type": "string"
          },
          "name": {
            "description": "Router name (letters, numbers, dots, underscores, hyphens). Apps call it by this name as the model.",
            "type": "string"
          },
          "strategy": {
            "description": "Routing strategy from virtual_models_list (default round_robin). Use super_intelligence to route each request by difficulty.",
            "type": "string"
          },
          "strategy_config": {
            "description": "Strategy settings. For super_intelligence: simple_targets, standard_targets, complex_targets (lists of target models).",
            "type": "object"
          },
          "targets": {
            "description": "1 to 32 targets",
            "items": {
              "properties": {
                "model": {
                  "description": "Model id, or another of your routers",
                  "type": "string"
                },
                "provider": {
                  "description": "Provider name",
                  "type": "string"
                },
                "weight": {
                  "description": "Relative weight",
                  "type": "number"
                }
              },
              "required": [
                "model"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "name",
          "targets"
        ],
        "type": "object"
      },
      "name": "virtual_models_upsert"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "readOnlyHint": false
      },
      "description": "Delete a virtual model router.",
      "inputSchema": {
        "properties": {
          "source": {
            "description": "Full router name as returned by virtual_models_list",
            "type": "string"
          }
        },
        "required": [
          "source"
        ],
        "type": "object"
      },
      "name": "virtual_models_delete"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "readOnlyHint": true
      },
      "description": "List this account's API keys. Secrets are never returned.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "api_keys_list"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "readOnlyHint": false
      },
      "description": "Create an API key. The secret is returned once in the response.",
      "inputSchema": {
        "properties": {
          "name": {
            "description": "Key name, at most 80 characters",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "name": "api_keys_create"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "readOnlyHint": false
      },
      "description": "Delete an API key. Requests using it stop working immediately.",
      "inputSchema": {
        "properties": {
          "id": {
            "description": "Key id from api_keys_list",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "name": "api_keys_delete"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "readOnlyHint": true
      },
      "description": "List budgets with current spend.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "budgets_list"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "readOnlyHint": false
      },
      "description": "Create or update a spend budget.",
      "inputSchema": {
        "properties": {
          "amount": {
            "description": "Spend limit in USD",
            "type": "number"
          },
          "budget_key": {
            "description": "Budget period",
            "properties": {
              "period": {
                "description": "hourly, daily, weekly, or monthly",
                "type": "string"
              },
              "period_seconds": {
                "description": "Custom period length",
                "type": "number"
              }
            },
            "type": "object"
          },
          "per_child": {
            "description": "Apply separately to each child user path",
            "type": "boolean"
          },
          "scope": {
            "description": "Rule scope: user_path or label",
            "type": "string"
          },
          "subject": {
            "description": "Subject value for the scope",
            "type": "string"
          },
          "user_path": {
            "description": "User path the rule applies to",
            "type": "string"
          }
        },
        "required": [
          "amount"
        ],
        "type": "object"
      },
      "name": "budgets_upsert"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "readOnlyHint": false
      },
      "description": "Delete a budget.",
      "inputSchema": {
        "properties": {
          "budget_key": {
            "description": "Budget period, as in budgets_upsert",
            "type": "object"
          },
          "scope": {
            "description": "Rule scope: user_path or label",
            "type": "string"
          },
          "subject": {
            "description": "Subject value for the scope",
            "type": "string"
          },
          "user_path": {
            "description": "User path the rule applies to",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "budgets_delete"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "readOnlyHint": false
      },
      "description": "Reset one budget's current spend to zero.",
      "inputSchema": {
        "properties": {
          "period": {
            "description": "hourly, daily, weekly, or monthly",
            "type": "string"
          },
          "period_seconds": {
            "description": "Custom period length",
            "type": "number"
          },
          "scope": {
            "description": "Rule scope: user_path or label",
            "type": "string"
          },
          "subject": {
            "description": "Subject value for the scope",
            "type": "string"
          },
          "user_path": {
            "description": "User path the rule applies to",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "budgets_reset"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "readOnlyHint": true
      },
      "description": "List rate limits with current counters.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "rate_limits_list"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "readOnlyHint": false
      },
      "description": "Create or update a request or token rate limit.",
      "inputSchema": {
        "properties": {
          "limit_key": {
            "description": "Limit window",
            "properties": {
              "period": {
                "description": "minute, hour, or day",
                "type": "string"
              },
              "period_seconds": {
                "description": "Custom window length",
                "type": "number"
              }
            },
            "type": "object"
          },
          "max_requests": {
            "description": "Maximum requests per window",
            "type": "number"
          },
          "max_tokens": {
            "description": "Maximum tokens per window",
            "type": "number"
          },
          "per_child": {
            "description": "Apply separately to each child user path",
            "type": "boolean"
          },
          "scope": {
            "description": "Rule scope: user_path, provider, or model",
            "type": "string"
          },
          "subject": {
            "description": "Subject value for the scope",
            "type": "string"
          },
          "user_path": {
            "description": "User path the rule applies to",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "rate_limits_upsert"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "readOnlyHint": false
      },
      "description": "Delete a rate limit.",
      "inputSchema": {
        "properties": {
          "limit_key": {
            "description": "Limit window, as in rate_limits_upsert",
            "type": "object"
          },
          "scope": {
            "description": "Rule scope: user_path, provider, or model",
            "type": "string"
          },
          "subject": {
            "description": "Subject value for the scope",
            "type": "string"
          },
          "user_path": {
            "description": "User path the rule applies to",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "rate_limits_delete"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "readOnlyHint": false
      },
      "description": "Reset one rate limit's current counters.",
      "inputSchema": {
        "properties": {
          "period": {
            "description": "minute, hour, or day",
            "type": "string"
          },
          "period_seconds": {
            "description": "Custom window length",
            "type": "number"
          },
          "scope": {
            "description": "Rule scope: user_path, provider, or model",
            "type": "string"
          },
          "subject": {
            "description": "Subject value for the scope",
            "type": "string"
          },
          "user_path": {
            "description": "User path the rule applies to",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "rate_limits_reset"
    }
  ]
}
