Skip to main content
Glama
brilliantdirectories

brilliant-directories-mcp

Official

listStates

Read-onlyIdempotent

Retrieve paginated list of states/provinces/regions. Filter by name, code, or country to resolve state names to slugs for search-result URLs.

Instructions

List states / provinces / regions - Paginated enumeration of states/provinces/regions enabled on this site. The location_states table is country-agnostic - it holds US states, Canadian provinces, UK regions, and any other first-admin-level division for any country active on this site, distinguished by country_sn. Read-only source-of-truth for state slugs in search-result URLs.

Use when: resolving a state/province name ("California", "Ontario") to its state_filename slug (california, ontario) before constructing a search-result URL.

Pagination + filter/sort: standard. Useful filters: state_ln (full name), state_sn (2-letter code), state_filename (slug), country_sn (scope to one country - e.g. US, CA).

Returns: rows with location_id (PK - NO typo here, unlike cities), state_sn, state_ln, state_filename, country_sn.

System-critical table - create & delete deliberately omitted. States are seeded by BD as needed. Use updateState only for corrections.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoPagination cursor (use next_page from previous response)
limitNoRecords per page (default 25, max 100)
propertyNoColumn key to filter by (present on the response rows; a wrong name silently returns empty). For multi-condition AND, pass parallel arrays here and in `property_value`/`property_operator` — equal length, Nth entries paired. See Rule: Compound filters.
order_typeNoSort direction: ASC or DESC
order_columnNoColumn to sort by — a column key present on the response rows (a wrong name silently returns empty)
property_valueNoValue to filter by; array to pair with a `property` array (same length).
property_operatorNoFilter operator (word-form; symbol forms WAF-stripped). Single: eq, ne, lt, lte, gt, gte, like, not_like. CSV: in, not_in, between. Substring: contains, starts_with, ends_with (+not_). Date: year_eq, month_eq, day_eq (+not_), since_days, until_days. Length: length_eq, length_lt, length_gt, length_between. Null: is_set, is_not_set, is_null, is_not_null. Array to pair with a `property` array (same length). See Rule: Filter operators for value shapes.
Behavior4/5

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

Annotations already provide readOnlyHint, idempotentHint, etc. The description adds value by stating it is a 'read-only source-of-truth' for search URLs, that the table is system-critical, and that create/delete are omitted—context beyond annotations.

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?

Well-structured with purpose first, then usage, then filter details, then return columns, then system notes. Efficient with no fluff, though slightly technical in places. Minor room for brevity.

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

Completeness5/5

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

Covers purpose, when to use, parameter filter details, return columns (despite no output schema), and system-critical context. No gaps for a read-only list tool.

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?

Schema description coverage is 100%, so baseline is 3. The description highlights key filters (state_ln, state_sn, state_filename, country_sn) but adds minimal new meaning beyond the schema's own descriptions.

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?

Clearly states it lists states/provinces/regions as paginated enumeration, and distinguishes from siblings by specifying it is country-agnostic and holds first-admin-level divisions for all active countries, making it unique among list tools.

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

Usage Guidelines5/5

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

Explicitly says 'Use when: resolving a state/province name to its state_filename slug before constructing a search-result URL.' Also mentions that create/delete are omitted and to use updateState only for corrections, guiding against improper use.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/brilliantdirectories/brilliant-directories-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server