Skip to main content
Glama

Football Database and Results

Longest no-draw runs of all time

top_streaks
Read-onlyIdempotent

[PAID] The all-time leaderboard of no-draw runs — the longest any team has gone without drawing.

Answers "what is the longest run of matches without a draw on record?" and "who else has done it?". Each entry is one run: its length, the dates it started and ended, and the team. A team can appear more than once, since a great side may have several long runs. Filter to one team, to national teams or clubs, or to runs above a minimum length.

Paginated, 25 per page by default; page walks the leaderboard and each page costs its own point.

Costs 1 point per call (1 point = 1 cent); paginated calls cost 1 point per page.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
minNoMinimum run length to list. Default 5.
pageNoPage number, from 1. Each page is a separate call and costs its own point.
typeNoRestrict to national teams or to clubs.
limitNoPage size. Default 25, max 500.
team_idNoRestrict to one team. Numeric id from list_teams.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYesThe longest no-draw runs, longest first.
metaNoPagination: which page this is and how many rows exist.
linksNofirst/last/prev/next page URLs on the REST API.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "data": {
      +      "description": "The longest no-draw runs, longest first.",
      +      "items": {
      +        "description": "A run of matches without a draw, and whose it was.",
      +        "properties": {
      +          "end": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "end_match_id": {
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "id": {
      +            "type": "integer"
      +          },
      +          "length": {
      +            "description": "Matches in the run without a draw.",
      +            "type": "integer"
      +          },
      +          "start": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "start_match_id": {
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "team": {
      +            "description": "A team reference.",
      +            "properties": {
      +              "id": {
      +                "description": "Team id — the argument every team tool takes.",
      +                "type": "integer"
      +              },
      +              "name": {
      +                "description": "Short display name.",
      +                "type": "string"
      +              },
      +              "slug": {
      +                "description": "URL slug; accepted anywhere an id is.",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "id",
      +              "slug",
      +              "name"
      +            ],
      +            "type": "object"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "length"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "links": {
      +      "description": "first/last/prev/next page URLs on the REST API.",
      +      "type": "object"
      +    },
      +    "meta": {
      +      "description": "Pagination: which page this is and how many rows exist.",
      +      "properties": {
      +        "current_page": {
      +          "type": "integer"
      +        },
      +        "last_page": {
      +          "type": "integer"
      +        },
      +        "per_page": {
      +          "type": "integer"
      +        },
      +        "total": {
      +          "description": "Rows across every page.",
      +          "type": "integer"
      +        }
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "data"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already provide readOnlyHint and idempotentHint. The description adds meaningful behavioral context beyond that: paid cost per call, pagination walk behavior, and per-page cost. No contradictions with 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 well-structured and front-loaded with the paid marker and primary purpose. Each sentence adds value, covering answers, entry structure, filters, pagination, and cost without excessive verbosity.

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?

The description covers purpose, entry fields, filters, pagination, and cost. An output schema exists, so return-value details are not needed in the description. It is complete enough for an agent to call the tool correctly.

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% with descriptions for all five parameters. The description adds some semantic context by summarizing filter dimensions (team, type, minimum length) and pagination, but does not go beyond what the schema already documents.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific resource (all-time leaderboard of no-draw runs) and answers concrete questions. It does not explicitly differentiate from sibling get_team_streaks, but the 'all-time leaderboard' framing makes the global scope evident.

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

Usage Guidelines3/5

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

Usage is implied through the questions it answers and the mention of filters (team, type, minimum length). However, there is no explicit when-not guidance or routing to alternatives like get_team_streaks, leaving the choice partly to inference.

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