Skip to main content
Glama

footballcharts-mcp

Model calibration record

get_track_record
Read-onlyIdempotent

Returns the public calibration record of the model: every probability published before kick-off and scored after the result, with count, hit rate, Brier score and reliability buckets (predicted probability against observed frequency), overall and by question type (match result, total goals over 2.5 and 3.5, half-time goals over 1.5, both teams to score), plus the 50 most recent scored predictions. Misses are included. days sets the lookback window (default 90).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
daysNoLookback window in days (default 90)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
attributionNoCite as "Data by football-charts.com"
track_recordYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • changedOutput schema / properties / track_record / properties / accuracy / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": true,
      -    "properties": {
      -      "brier": {
      -        "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/hit_rate",
      -        "description": "Brier score over scored probabilities; lower is better, 0.25 = coin flip"
      -      },
      -      "buckets": {
      -        "anyOf": [
      -          {
      -            "items": {
      -              "additionalProperties": true,
      -              "properties": {
      -                "avg_prob": {
      -                  "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/line"
      -                },
      -                "hi": {
      -                  "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/line"
      -                },
      -                "hit_rate": {
      -                  "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/line"
      -                },
      -                "lo": {
      -                  "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/line"
      -                },
      -                "n": {
      -                  "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/correct"
      -                }
      -              },
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "n": {
      -        "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/correct"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": true,
      +    "properties": {
      +      "brier": {
      +        "description": "Brier score over scored probabilities; lower is better, 0.25 = coin flip"
      +      },
      +      "buckets": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "additionalProperties": true,
      +              "properties": {
      +                "avg_prob": {},
      +                "hi": {},
      +                "hit_rate": {},
      +                "lo": {},
      +                "n": {}
      +              },
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "n": {}
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / track_record / properties / by_question / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": {
      -      "$ref": "#/properties/track_record/properties/summary/anyOf/0"
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {
      +      "additionalProperties": true,
      +      "properties": {
      +        "correct": {},
      +        "hit_rate": {
      +          "description": "correct / (correct + incorrect)"
      +        },
      +        "incorrect": {},
      +        "n": {
      +          "description": "Scored predictions"
      +        },
      +        "void": {
      +          "description": "Postponed or abandoned; not scored"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / track_record / properties / pending / $ref
      Removed value: -"#/properties/track_record/properties/summary/anyOf/0/properties/n"
    • changedOutput schema / properties / track_record / properties / recent / anyOf
      Previous value: -[
      -  {
      -    "items": {
      -      "additionalProperties": true,
      -      "properties": {
      -        "away_team": {
      -          "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/slug"
      -        },
      -        "home_team": {
      -          "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/slug"
      -        },
      -        "league": {
      -          "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/slug"
      -        },
      -        "line": {
      -          "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/hit_rate"
      -        },
      -        "match_date": {
      -          "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/slug"
      -        },
      -        "model_prob": {
      -          "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/line"
      -        },
      -        "outcome": {
      -          "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/slug",
      -          "description": "'correct' | 'incorrect' | 'void'"
      -        },
      -        "question": {
      -          "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/slug"
      -        },
      -        "result_score": {
      -          "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/slug"
      -        },
      -        "side": {
      -          "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/slug"
      -        },
      -        "slug": {}
      -      },
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "items": {
      +      "additionalProperties": true,
      +      "properties": {
      +        "away_team": {},
      +        "home_team": {},
      +        "league": {},
      +        "line": {},
      +        "match_date": {},
      +        "model_prob": {},
      +        "outcome": {
      +          "description": "'correct' | 'incorrect' | 'void'"
      +        },
      +        "question": {},
      +        "result_score": {},
      +        "side": {},
      +        "slug": {}
      +      },
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / track_record / properties / summary / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": true,
      -    "properties": {
      -      "correct": {
      -        "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/n"
      -      },
      -      "hit_rate": {
      -        "description": "correct / (correct + incorrect)"
      -      },
      -      "incorrect": {
      -        "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/correct"
      -      },
      -      "n": {
      -        "description": "Scored predictions"
      -      },
      -      "void": {
      -        "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/n",
      -        "description": "Postponed or abandoned; not scored"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": true,
      +    "properties": {
      +      "correct": {},
      +      "hit_rate": {
      +        "description": "correct / (correct + incorrect)"
      +      },
      +      "incorrect": {},
      +      "n": {
      +        "description": "Scored predictions"
      +      },
      +      "void": {
      +        "description": "Postponed or abandoned; not scored"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Changed8 schema fields changed
    • changedOutput schema / properties / track_record / properties / accuracy / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": true,
      -    "properties": {
      -      "brier": {
      -        "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/pl",
      -        "description": "Brier score over settled probabilities; lower is better, 0.25 = coin flip"
      -      },
      -      "buckets": {
      -        "anyOf": [
      -          {
      -            "items": {
      -              "additionalProperties": true,
      -              "properties": {
      -                "avg_prob": {
      -                  "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/hit_rate"
      -                },
      -                "hi": {
      -                  "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/hit_rate"
      -                },
      -                "hit_rate": {
      -                  "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/hit_rate"
      -                },
      -                "lo": {
      -                  "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/hit_rate"
      -                },
      -                "n": {
      -                  "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/n"
      -                }
      -              },
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "n": {
      -        "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/n"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": true,
      +    "properties": {
      +      "brier": {
      +        "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/hit_rate",
      +        "description": "Brier score over scored probabilities; lower is better, 0.25 = coin flip"
      +      },
      +      "buckets": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "additionalProperties": true,
      +              "properties": {
      +                "avg_prob": {
      +                  "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/line"
      +                },
      +                "hi": {
      +                  "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/line"
      +                },
      +                "hit_rate": {
      +                  "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/line"
      +                },
      +                "lo": {
      +                  "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/line"
      +                },
      +                "n": {
      +                  "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/correct"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "n": {
      +        "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/correct"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / track_record / properties / by_market
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "additionalProperties": {
      -        "$ref": "#/properties/track_record/properties/summary/anyOf/0"
      -      },
      -      "type": "object"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • addedOutput schema / properties / track_record / properties / by_question
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": {
      +        "$ref": "#/properties/track_record/properties/summary/anyOf/0"
      +      },
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • changedOutput schema / properties / track_record / properties / pending / description
      Previous value: -"Leans published but not yet settled"New value: +"Published but not yet scored"
    • changedOutput schema / properties / track_record / properties / recent / anyOf
      Previous value: -[
      -  {
      -    "items": {
      -      "additionalProperties": true,
      -      "properties": {
      -        "market": {
      -          "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/slug"
      -        },
      -        "model_prob": {
      -          "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/hit_rate"
      -        },
      -        "outcome": {
      -          "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/slug",
      -          "description": "'won' | 'lost' | 'void'"
      -        },
      -        "pl": {
      -          "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/hit_rate"
      -        },
      -        "result_score": {
      -          "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/slug"
      -        },
      -        "side": {
      -          "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/slug"
      -        },
      -        "slug": {}
      -      },
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "items": {
      +      "additionalProperties": true,
      +      "properties": {
      +        "away_team": {
      +          "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/slug"
      +        },
      +        "home_team": {
      +          "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/slug"
      +        },
      +        "league": {
      +          "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/slug"
      +        },
      +        "line": {
      +          "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/hit_rate"
      +        },
      +        "match_date": {
      +          "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/slug"
      +        },
      +        "model_prob": {
      +          "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/line"
      +        },
      +        "outcome": {
      +          "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/slug",
      +          "description": "'correct' | 'incorrect' | 'void'"
      +        },
      +        "question": {
      +          "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/slug"
      +        },
      +        "result_score": {
      +          "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/slug"
      +        },
      +        "side": {
      +          "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/slug"
      +        },
      +        "slug": {}
      +      },
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / track_record / properties / recent / description
      Previous value: -"The 50 most recent graded predictions"New value: +"The 50 most recent scored predictions"
    • removedOutput schema / properties / track_record / properties / signals_only
      Removed value: -{
      -  "type": [
      -    "boolean",
      -    "null"
      -  ]
      -}
    • changedOutput schema / properties / track_record / properties / summary / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": true,
      -    "properties": {
      -      "hit_rate": {
      -        "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/pl"
      -      },
      -      "lost": {
      -        "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/n"
      -      },
      -      "n": {},
      -      "pl": {
      -        "description": "Profit/loss in units at flat 1-unit stakes"
      -      },
      -      "void": {
      -        "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/n"
      -      },
      -      "won": {
      -        "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/n"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": true,
      +    "properties": {
      +      "correct": {
      +        "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/n"
      +      },
      +      "hit_rate": {
      +        "description": "correct / (correct + incorrect)"
      +      },
      +      "incorrect": {
      +        "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/correct"
      +      },
      +      "n": {
      +        "description": "Scored predictions"
      +      },
      +      "void": {
      +        "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/n",
      +        "description": "Postponed or abandoned; not scored"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  3. Changed1 schema field changed
    • changedOutput schema / properties / track_record / properties / recent / description
      Previous value: -"The 50 most recent graded leans"New value: +"The 50 most recent graded predictions"
  4. Changed5 schema fields changed
    • addedInput schema / properties / days / anyOf
      Added value: +[
      +  {
      +    "maximum": 365,
      +    "minimum": 1,
      +    "type": "integer"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / days / maximum
      Removed value: -365
    • removedInput schema / properties / days / minimum
      Removed value: -1
    • removedInput schema / properties / days / type
      Removed value: -"integer"
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": true,
      +  "properties": {
      +    "attribution": {
      +      "description": "Cite as \"Data by football-charts.com\"",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "track_record": {
      +      "additionalProperties": true,
      +      "properties": {
      +        "accuracy": {
      +          "anyOf": [
      +            {
      +              "additionalProperties": true,
      +              "properties": {
      +                "brier": {
      +                  "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/pl",
      +                  "description": "Brier score over settled probabilities; lower is better, 0.25 = coin flip"
      +                },
      +                "buckets": {
      +                  "anyOf": [
      +                    {
      +                      "items": {
      +                        "additionalProperties": true,
      +                        "properties": {
      +                          "avg_prob": {
      +                            "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/hit_rate"
      +                          },
      +                          "hi": {
      +                            "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/hit_rate"
      +                          },
      +                          "hit_rate": {
      +                            "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/hit_rate"
      +                          },
      +                          "lo": {
      +                            "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/hit_rate"
      +                          },
      +                          "n": {
      +                            "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/n"
      +                          }
      +                        },
      +                        "type": "object"
      +                      },
      +                      "type": "array"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "n": {
      +                  "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/n"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "by_market": {
      +          "anyOf": [
      +            {
      +              "additionalProperties": {
      +                "$ref": "#/properties/track_record/properties/summary/anyOf/0"
      +              },
      +              "type": "object"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "pending": {
      +          "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/n",
      +          "description": "Leans published but not yet settled"
      +        },
      +        "recent": {
      +          "anyOf": [
      +            {
      +              "items": {
      +                "additionalProperties": true,
      +                "properties": {
      +                  "market": {
      +                    "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/slug"
      +                  },
      +                  "model_prob": {
      +                    "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/hit_rate"
      +                  },
      +                  "outcome": {
      +                    "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/slug",
      +                    "description": "'won' | 'lost' | 'void'"
      +                  },
      +                  "pl": {
      +                    "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/hit_rate"
      +                  },
      +                  "result_score": {
      +                    "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/slug"
      +                  },
      +                  "side": {
      +                    "$ref": "#/properties/track_record/properties/recent/anyOf/0/items/properties/slug"
      +                  },
      +                  "slug": {}
      +                },
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "The 50 most recent graded leans"
      +        },
      +        "signals_only": {
      +          "type": [
      +            "boolean",
      +            "null"
      +          ]
      +        },
      +        "summary": {
      +          "anyOf": [
      +            {
      +              "additionalProperties": true,
      +              "properties": {
      +                "hit_rate": {
      +                  "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/pl"
      +                },
      +                "lost": {
      +                  "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/n"
      +                },
      +                "n": {},
      +                "pl": {
      +                  "description": "Profit/loss in units at flat 1-unit stakes"
      +                },
      +                "void": {
      +                  "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/n"
      +                },
      +                "won": {
      +                  "$ref": "#/properties/track_record/properties/summary/anyOf/0/properties/n"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "Whole window"
      +        }
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "track_record"
      +  ],
      +  "type": "object"
      +}
  5. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover safety (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint). The description adds meaningful behavior beyond them: 'Misses are included' signals there is no survivorship bias in the sample, the reliability-bucket definition is spelled out, and the 50-prediction cap on recent entries is disclosed. No auth or rate-limit context, so not a 5.

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?

One dense sentence, front-loading the returned artifact before the breakdown and the parameter. The enumeration of question types (match result, over 2.5/3.5, HT over 1.5, BTTS) is borderline verbose since an output schema exists, but each item earns its place as scope definition.

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?

An output schema exists, so return values need not be detailed — yet the description goes further and explains what the numbers mean (Brier score, reliability buckets) and that misses are retained, which is exactly the interpretive context an agent needs. The only gap is that it never frames the purpose for which an agent should call it.

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 description coverage is 100% and the single 'days' parameter's schema text ('Lookback window in days (default 90)') is identical to the description's wording. The description adds no semantics — no format hints, no effect of the window on results — so baseline 3 applies.

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 — returns the model's public calibration record — and enumerates the exact contents (count, hit rate, Brier score, reliability buckets, by question type). This is unmistakably different from every sibling tool, which serve football fixtures/results/tables rather than model-scoring metadata.

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 rather than stated: an agent can infer this is for auditing model accuracy, but the description never says when to reach for it (e.g. before trusting a prediction) or whether any sibling overlaps. No alternatives or exclusions are named, leaving the agent to infer the context.

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.