Skip to main content
Glama
jrsaavedra1022

Azure DevOps Classic MCP

ado_list_projects

Read-onlyIdempotent

Retrieve one page of accessible Azure DevOps projects supporting pagination tokens and adjustable page size.

Instructions

Read one page of accessible projects.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
topNo
organizationNo
continuationTokenNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the description is not responsible for those. It adds behavioral context with 'one page' (indicating pagination behavior) and 'accessible' (implying a filter on user permissions). However, it does not explain what happens with continuation tokens or how many results are returned beyond the default, leaving gaps that annotations do not cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the action ('Read') and scope ('one page of accessible projects'). It is free of extraneous detail and reads clearly. While it is under-specified in terms of parameter information, it is appropriately concise for a simple read operation, though it could include a bit more without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with three parameters and no schema descriptions, this description is incomplete. It lacks any explanation of pagination semantics, required inputs, or output characteristics. The agent knows it reads projects but cannot determine correct invocation without additional information. Annotations cover safety, but not operational details, so this falls short of a complete description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate by explaining the parameters. It does not mention 'top', 'organization', or 'continuationToken' at all. The phrase 'one page' vaguely hints at pagination but provides no concrete meaning for the parameters, leaving them entirely undocumented for the agent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'read', the resource 'projects', and the scope 'one page of accessible projects'. This distinguishes it from sibling list tools like ado_list_organizations and ado_list_release_definitions, which target different resources. The phrase 'one page' also hints at pagination, further clarifying its scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives. It does not mention any conditions or exclusions, nor does it reference sibling tools. An agent must infer from the name that this is for projects, but there is no explicit direction about when other list tools would be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.