list_lines
List the project's versioned API lines (e.g. v1, v2), each with its endpoint count.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
List the project's versioned API lines (e.g. v1, v2), each with its endpoint count.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so no side effect concerns. The description adds that each line includes its endpoint count, providing useful output information. However, it does not address pagination, ordering, or whether draft lines are included, so some behavioral traits remain undisclosed.
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, focused sentence. It front-loads the action and resource, then adds a clarifying example and output detail. No filler or redundant information.
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 simple list tool with no parameters and no output schema, the description adequately indicates the return content (lines with endpoint counts). It could mention additional details like whether ordering or filtering applies, but given the simplicity, it is sufficiently complete.
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 takes zero parameters, and the schema is empty with 100% coverage, so the baseline score is 4. The description adds no parameter-specific details because there are none to explain.
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 states 'List the project's versioned API lines' with a specific verb and resource, and adds the example 'v1, v2' to clarify what lines means. This distinguishes it from siblings like list_endpoints or list_projects.
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 clearly indicates its purpose: to list API lines. It gives context that these are versioned (v1, v2) and includes endpoint counts. However, it does not explicitly exclude alternatives or mention when not to use it, so the guidance is implicit rather than explicit.
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.
Most tools target distinct resources and the descriptions are unusually explicit, but the billing cluster (change_plan/cancel_subscription and the many add-on actions) plus the preview/diff tools overlap and could cause mis-selection. config_diff, dry_run_endpoint, and preview_line_draft all read as 'preview what will change' at first glance despite different scopes.
The overwhelming majority follow a clean snake_case verb_noun pattern: create_*, get_*, list_*, set_*, update_*, delete_*. It is only held back by a few naming outliers such as config_diff and default_endpoint_template, which break the verb-first convention.
78 tools is an extreme mismatch for an MCP server surface, even accounting for the broad management/relay domain. Such a large surface will overwhelm model context and make tool selection materially harder; this would be better split into focused servers for configuration, data-plane operations, and billing.
The tool surface is very thorough: projects, lines, endpoints, credentials, keys, configs/drafts, DLQ, requests, metrics, audit, team, and billing are all represented. Only minor gaps exist, such as no direct single-line get/update and the intentional inability to widen the outbound allowlist or lift archive protection via API.