Skip to main content
Glama

Council of AI GSPC

Live GSPC board totals

board_totals
Read-onlyIdempotent

Live GSPC board totals from https://councilof.ai/api/gspc. Returns the slot count and the measured count as two labelled numbers WITH their kind — a slot is a declared position on the board, a measurement is a real run behind it; the two are never summed and never swapped — plus as_of dates for the board and for this fetch. We measure, never certify. If the board cannot be fetched the answer is a distinct UNREACHABLE state: no cached number is ever presented as live.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
as_ofNo
stateYesLIVE or UNREACHABLE
countsNo
sourceNo
by_familyNo
public_countNo
count_grammarNo
not_a_certificationNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "as_of": {},
      +    "by_family": {},
      +    "count_grammar": {},
      +    "counts": {
      +      "items": {
      +        "properties": {
      +          "kind": {
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "not_a_certification": {
      +      "type": "boolean"
      +    },
      +    "public_count": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "source": {
      +      "type": "string"
      +    },
      +    "state": {
      +      "description": "LIVE or UNREACHABLE",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "state"
      +  ],
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "as_of": {},
      -    "by_family": {},
      -    "count_grammar": {},
      -    "counts": {
      -      "items": {
      -        "properties": {
      -          "kind": {
      -            "type": "string"
      -          },
      -          "name": {
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "type": "array"
      -    },
      -    "not_a_certification": {
      -      "type": "boolean"
      -    },
      -    "public_count": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "source": {
      -      "type": "string"
      -    },
      -    "state": {
      -      "description": "LIVE or UNREACHABLE",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "state"
      -  ],
      -  "type": "object"
      -}New value: +null
  3. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "as_of": {},
      +    "by_family": {},
      +    "count_grammar": {},
      +    "counts": {
      +      "items": {
      +        "properties": {
      +          "kind": {
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "not_a_certification": {
      +      "type": "boolean"
      +    },
      +    "public_count": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "source": {
      +      "type": "string"
      +    },
      +    "state": {
      +      "description": "LIVE or UNREACHABLE",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "state"
      +  ],
      +  "type": "object"
      +}
  4. First observed

TDQS

A4.6/5.0
Behavior5/5

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

The description discloses critical behaviors beyond the annotations: the two numbers are never summed or swapped, a distinct UNREACHABLE state is returned on fetch failure, and no cached number is presented as live. These details significantly inform an agent's expectations, complementing the readOnlyHint and openWorldHint 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?

The description is somewhat long but every sentence contributes meaningful context. It front-loads the core purpose and then elaborates on the distinct numbers and failure behavior. It could be tightened slightly but remains efficient and well-organized.

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?

Despite not showing the output schema, the description fully specifies what is returned (slot count, measured count, as_of dates) and covers edge cases (unreachable state, no caching). This is comprehensive for a zero-parameter tool with a simple response.

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?

The tool takes no parameters, so the baseline of 4 applies. The description adds no parameter-specific details because none exist, and it properly focuses on the output semantics instead.

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 identifies the tool's purpose: returning live GSPC board totals from a specific URL, with explicit distinction between slot count and measured count. It also sets it apart from siblings by emphasizing the 'live' nature and the unreachable state, making its function unmistakable.

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 does not explicitly name alternatives or provide when-not-to-use guidance, but its specificity makes the intended use obvious: for retrieving current board totals. The absence of exclusions is acceptable given the tool's narrow, well-defined scope.

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