Skip to main content
Glama

Query

query
Read-onlyIdempotent

Run a Socrata SoQL query against a Pennsylvania Open Data dataset by resource_id (e.g. "mcba-yywm"). Filter with where/select/group/order (SoQL clauses, without the leading $) plus limit/offset. Returns matching rows as JSON.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
groupNoSoQL $group column(s).
limitNoMax rows (default Socrata 1000).
orderNoSoQL $order, e.g. "date DESC".
whereNoSoQL $where filter, e.g. "year >= 2020 AND status = 'Active'".
offsetNoPagination offset.
selectNoSoQL $select, e.g. "name, count(*) AS n".
resource_idYesDataset id, e.g. "mcba-yywm" (from datasets).

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: +[
      +  {
      +    "limit": 100,
      +    "resource_id": "mcba-yywm",
      +    "where": "year >= 2020"
      +  },
      +  {
      +    "group": "category",
      +    "order": "total DESC",
      +    "resource_id": "mcba-yywm",
      +    "select": "category, count(*) AS total"
      +  }
      +]
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

The description adds value beyond annotations by stating that the tool returns matching rows as JSON and mentions the default limit of 1000 from Socrata. This complements the readOnlyHint, idempotentHint, and destructiveHint 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 very concise, using two sentences to convey the core purpose and key usage notes. It is front-loaded and efficient.

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 complexity of SoQL queries and the fact that all parameters are fully documented, the description provides sufficient context for an agent to use the tool correctly, including the return format.

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

Parameters5/5

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

Schema description coverage is 100%, and the description adds further clarity by explaining that SoQL clauses should be used without the leading $ and that limit/offset control pagination. Examples in the schema enhance understanding.

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 Socrata SoQL query against a specific dataset by resource_id, using a specific verb and resource. It distinguishes itself from sibling tools by specifying the data source (Pennsylvania Open Data) and the query language (SoQL).

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 provides clear context for when to use the tool (to query a specific dataset with SoQL clauses) and notes that clauses should be without the leading $. However, it lacks explicit exclusions or alternatives, though the sibling tools are functionally distinct.

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

A3.9/5.0
Disambiguation2/5

Several clusters blur together: ask_pipeworx, ask_pipeworx_beta (explicitly identical today), and ask_pipeworx_grounded share routing, while discover_tools/suggest_questions and the Polymarket edge/arbitrage/fill-risk tools have overlapping discovery purposes. Rich descriptions reduce some confusion, but an agent must read carefully to avoid misselection.

Naming Consistency3/5

Most names are lowercase snake_case, but there is no consistent verb_noun pattern: ask_pipeworx/beta/grounded and polymarket_* are domain-prefixed, entity_profile/recent_changes are noun phrases, and query/metadata/remember are bare verbs or nouns. The naming is still readable and subfamilies share prefixes, so it is mixed rather than chaotic.

Tool Count2/5

34 tools is above the comfortable range for a single MCP server, and several could be folded together (the beta variant, visibility checks, and Polymarket scanners). The breadth reflects a large platform, but the surface feels heavy for an agent to select from confidently.

Completeness4/5

The query side is strong: PA Open Data has datasets/metadata/query coverage, and Pipeworx provides ask, deep_research, entity_profile, compare, recent_changes, validate_claim, plus subscriptions and memory with lifecycle coverage. Minor gaps: descriptions promise resolvable pipeworx:// citations but no resource/read tool is exposed, and there is no direct way to fetch an arbitrary record by citation.