Skip to main content
Glama
jmolinasoler

vbl-mcp

by jmolinasoler

List clubs

list_clubs

Search and retrieve Basketball Vlaanderen clubs by name, city, region, or stam number. Returns each club's GUID, name, city, region, and stam number for use in club-specific queries.

Instructions

List all Basketball Vlaanderen clubs (organizations). Optionally filter by a search string (matched against name, city, region and stam number). Returns guid, naam (name), plaats (city), regioNaam (region) and stamNr for each club. Use the guid with the get_club* tools.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
searchNoCase-insensitive filter on club name, city, region or stam number

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.5.0

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description must carry the full transparency burden. It discloses the return fields and the optional search behavior, and its read-only nature is inferable from 'List'. However, it omits potential behavioral traits such as pagination, ordering, or result-size limits, which would matter for a list-all tool.

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

Conciseness5/5

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

Three sentences front-load the core purpose, then cover filtering, return fields, and downstream usage. There is no redundancy or filler; every sentence earns its place, including the cross-reference to get_club* tools.

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

Completeness4/5

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

For a simple optional-parameter list tool with no output schema, the description covers the essentials: what is listed, how to filter, the exact fields returned, and how to consume the guid. It would benefit from a note on pagination or list size, but given the 1-param schema and read-only nature, it is nearly complete.

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

Parameters3/5

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

The schema already provides 100% coverage for the single parameter, describing it as a 'Case-insensitive filter on club name, city, region or stam number'. The description's mention of the search string merely restates the schema's meaning and adds no new semantic detail, so it stays at the baseline for high schema coverage.

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 opening sentence 'List all Basketball Vlaanderen clubs (organizations)' names a specific verb and resource, and the qualifier 'all' distinguishes it from singular get_club* siblings that fetch individual records. The return-field list further clarifies the payload, leaving no ambiguity about what this tool produces.

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

Usage Guidelines4/5

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

The final sentence 'Use the guid with the get_club* tools' explicitly guides the agent to the follow-up tools, implying this listing tool is the entry point for club lookups. It does not formally state when not to use it, but the sibling names and 'get_club*' reference make the workflow clear.

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