Skip to main content
Glama

Seattle Query

seattle_query
Read-onlyIdempotent

Run a raw SoQL query against any Seattle open-data resource (data.seattle.gov) by its Socrata id (8-char like "tazs-3rd5"). Full SoQL: where/select/group/order/limit/offset. Use seattle_datasets to find a resource id, or seattle_recent for the common ones.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
groupNoSoQL $group.
limitNoMax rows (default 100, max 5000).
orderNoSoQL $order (e.g. "report_date_time DESC").
whereNoSoQL $where filter.
offsetNoRow offset for paging.
selectNoSoQL $select (e.g. "offense, count(*)").
_apiKeyNoOptional — your own Socrata app token for higher rate limits. Omit to use the keyless endpoint.
resource_idYesSocrata resource id, e.g. "tazs-3rd5" (crime data).

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "_apiKey": "your-data-seattle-api-key",
      +    "group": "offense",
      +    "limit": 10,
      +    "order": "count(*) DESC",
      +    "resource_id": "tazs-3rd5",
      +    "select": "offense, count(*)"
      +  },
      +  {
      +    "_apiKey": "your-data-seattle-api-key",
      +    "limit": 100,
      +    "resource_id": "wvfv-dwka",
      +    "where": "issue_date >= '2024-01-01'"
      +  }
      +]
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description complements this by explaining the tool runs raw SoQL queries, which is consistent. It adds context about the data source and query syntax but doesn't detail response format or error behavior, which is acceptable given the annotations.

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 extremely concise, consisting of two sentences that convey the tool's purpose, functionality, and guidance on alternatives. No redundant information, every sentence adds value.

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?

Given the tool's complexity (raw SoQL with 8 params) and no output schema, the description covers the core functionality, links to sibling tools for resource discovery, and mentions all SoQL operations. It could be slightly improved by mentioning the response format (JSON) or error handling, but is largely complete for an AI agent.

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

Parameters4/5

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

All 8 parameters have descriptions in the schema (100% coverage). The description adds value by explaining that parameters like select, where, etc., correspond to SoQL clauses, and clarifies the resource_id format and _apiKey optionality. This goes beyond the schema by providing operational context.

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 tool runs a raw SoQL query against Seattle open-data resources, specifying the Socrata ID format. It distinguishes from sibling tools by mentioning seattle_datasets and seattle_recent for finding resource IDs, providing clear context for when to use each.

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 description advises using seattle_datasets or seattle_recent to find resource IDs, implying seattle_query is for querying once you have the ID. It lacks explicit exclusions or when-not-to-use scenarios but provides sufficient context for the primary use case.

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.

TDQS

A4.1/5.0
Disambiguation3/5

Many tools have distinct purposes, but the ask_pipeworx variants (ask_pipeworx, ask_pipeworx_beta, ask_pipeworx_grounded) and the prediction market tools (bet_research, polymarket_edges, polymarket_arbitrage) can cause confusion due to overlapping functionality. Some tools like 'seattle_recent' are vague.

Naming Consistency4/5

Most tools follow a consistent verb_noun or noun_verb pattern (e.g., validate_claim, resolve_entity). However, a few like 'seattle_recent' and 'pipeworx_trending' deviate slightly, and 'recent_alerts' mixes noun_verb.

Tool Count2/5

34 tools is excessive for a single server, covering data retrieval, prediction markets, Seattle data, memory, subscriptions, and utility. The broad scope feels bloated and overwhelming, making it hard for agents to find the right tool.

Completeness4/5

The server covers a wide array of domains with good depth in data retrieval and prediction markets. Minor gaps exist (e.g., Seattle tools limited to four datasets, no other city data), but overall it addresses most use cases its tools suggest.