list_providers
List all AI providers supported by the tracker with their models and default limits.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
List all AI providers supported by the tracker with their models and default limits.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It explicitly states what the tool returns ('models and default limits'), which implies a read-only listing operation. This is sufficient for a simple list tool; no hidden side effects are hinted at.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the purpose ('List all AI providers') and appends the relevant output details. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless list tool with no output schema, the description fully specifies the output scope (all providers, models, default limits). There is no ambiguity or missing important context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so schema coverage is effectively 100%. The baseline for no parameters is 4, and the description correctly doesn't attempt to explain parameters that don't exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'List' and clearly identifies the resource ('all AI providers supported by the tracker') and the included details ('models and default limits'). It naturally distinguishes from siblings like get_provider_limits, which likely targets a specific provider's limits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes a clear context: it is for listing all providers at once. There are no explicit exclusions or alternative recommendations, but the scope is unambiguous enough for an agent to infer when to use it. Sibling names further reinforce the context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Each tool has a clearly distinct purpose: listing providers, fetching limits, recording usage, and forecasting. No overlap exists between them.
All tool names follow a consistent verb_noun snake_case pattern (list_providers, get_provider_limits, track_usage, get_forecast).
With 4 tools, the server is well-scoped for its purpose. Each tool addresses a core aspect of rate limit tracking without unnecessary bloat.
The surface covers discovery, limit specs, usage recording, and forecasting. A minor gap is the lack of historical usage queries or reset functionality, but the core workflow is complete.