Skip to main content
Glama

List Entities

list_entities
Read-onlyIdempotent

List every named entity in the Decoder Index, the smallest citable unit of authority in the corpus. Returns the four-class taxonomy (Person / Organization / Legislation / CreativeWork) with class-specific summary fields (jobTitle for Person; jurisdiction for Organization / Legislation / Project; legal_status for Legislation; case_number + work_status for Project) plus cross-reference counts (meetings_count, briefs_count, watches_count, patterns_count) for each entity. Filter by entity_class, place (jurisdiction), or search substring. Use as the discovery surface for the entity graph; pair with describe_entity for full structured detail. Each entity's schema_id is a stable cross-page reference (/entities/{slug}#{class.toLowerCase()}) that resolves to the canonical Schema.org node (Person / Organization / Legislation / CreativeWork) for AI-citation grounding.

Input Schema

NameRequiredDescriptionDefault
placeNoOptional: filter to entities scoped to a specific place (e.g., "leesburg-florida"). Matches entities whose related_places, organization.jurisdiction, legislation.jurisdiction, or creative_work.jurisdiction includes the place slug.
searchNoOptional case-insensitive substring search across display_name, canonical_role, voxel_lead, and slug. Use for natural-language entity discovery (e.g., "denial bloc", "intersection mitigation", "form-based code").
entity_classNoFilter by entity class. "Person" = board members, attorneys, applicants (individuals), elected officials. "Organization" = developer firms, law firms, agencies, HOAs, planning consultancies. "Legislation" = state statutes, city ordinances, code sections, design standards. "CreativeWork" = specific projects, case numbers, master plans, infrastructure programs. Omit to return all classes.

Output Schema

NameRequiredDescriptionDefault
countNo
filtersNo
by_classNo
entitiesNo
surfacesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "by_class": {
      +      "additionalProperties": {
      +        "type": "number"
      +      },
      +      "type": "object"
      +    },
      +    "count": {
      +      "type": "number"
      +    },
      +    "entities": {
      +      "items": {
      +        "properties": {
      +          "briefs_count": {
      +            "type": "number"
      +          },
      +          "canonical_role": {
      +            "type": "string"
      +          },
      +          "case_number": {
      +            "type": "string"
      +          },
      +          "display_name": {
      +            "type": "string"
      +          },
      +          "entity_class": {
      +            "type": "string"
      +          },
      +          "jurisdiction": {
      +            "type": "string"
      +          },
      +          "legal_status": {
      +            "type": "string"
      +          },
      +          "meetings_count": {
      +            "type": "number"
      +          },
      +          "patterns_count": {
      +            "type": "number"
      +          },
      +          "schema_id": {
      +            "type": "string"
      +          },
      +          "slug": {
      +            "type": "string"
      +          },
      +          "url": {
      +            "type": "string"
      +          },
      +          "voxel_lead": {
      +            "type": "string"
      +          },
      +          "watches_count": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "slug",
      +          "display_name",
      +          "entity_class",
      +          "url",
      +          "schema_id"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "filters": {
      +      "properties": {
      +        "entity_class": {
      +          "type": "string"
      +        },
      +        "place": {
      +          "type": "string"
      +        },
      +        "search": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "surfaces": {
      +      "properties": {
      +        "architecture_doc": {
      +          "type": "string"
      +        },
      +        "decoder_index_hub": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Added

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already mark the tool as read-only and idempotent, so the description does not need to restate safety. It adds substantial behavioral context: class-specific summary fields, cross-reference counts, and a stable schema_id pattern useful for citation grounding.

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?

The description is front-loaded with purpose and then delivers output shape, filter options, usage guidance, and identifier semantics in a dense but non-redundant structure. Every sentence earns its place, and the alternates are clearly separated.

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?

Given the output schema exists and annotations are rich, the description is complete for selecting and invoking the tool correctly. It covers output semantics, filters, sibling relationship, and a stable reference convention, so no critical runtime context is missing.

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 coverage is 100%, and each parameter already has a rich schema description. The tool description only restates the filter names ('entity_class, place (jurisdiction), or search substring') without adding meaningful detail beyond what the schema provides, so it stays at the baseline.

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?

States a specific verb and resource: 'List every named entity in the Decoder Index.' It also defines the resource's role ('smallest citable unit of authority') and names the exact taxonomy returned, which makes it easy to distinguish from siblings like describe_entity.

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?

The description explicitly says to use this as 'the discovery surface for the entity graph' and to 'pair with describe_entity for full structured detail.' This gives an agent clear guidance on when to use this tool versus the natural sibling alternative.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources