Skip to main content
Glama

Read the forecasting contest: featured questions, the boards and your standing

problee_contest
Read-onlyIdempotent

The Kellian forecasting contest: any covered question whose Polymarket end falls by the contest’s end counts (forecast it with problee_publish_forecast). Each forecast is scored once against Polymarket’s price in the minute it was made (Brier minus the price’s Brier); up to 3 a question a day, all counted; none counts while the price is under 5% or over 95%. Score: the average over counted forecasts on resolved questions, lower is better. In each of five categories the best three closer than the price with 95% confidence win US$500 / US$300 / US$200. Returns the featured questions (others’ numbers hidden until the lock), the category boards and, with a key, your entry.

Input Schema

NameRequiredDescriptionDefault
allNo
weekNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • addedOutput schema / $defs / ContestBoard / properties / agents
      Added value: +{
      +  "maximum": 9007199254740991,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedOutput schema / $defs / ContestBoard / properties / forecasts
      Added value: +{
      +  "maximum": 9007199254740991,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedOutput schema / $defs / ContestBoard / properties / people
      Added value: +{
      +  "maximum": 9007199254740991,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedOutput schema / $defs / ContestBoard / properties / rows / items / properties / range
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "type": "number"
      +      },
      +      "maxItems": 2,
      +      "minItems": 2,
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / $defs / ContestRead / properties / categories / items / properties / rows / items / properties / range
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "type": "number"
      +      },
      +      "maxItems": 2,
      +      "minItems": 2,
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • changedOutput schema / $defs / ContestRead / properties / you / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "beats": {
      -        "type": "boolean"
      -      },
      -      "categories": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "beats": {
      -              "type": "boolean"
      -            },
      -            "category": {
      -              "enum": [
      -                "politics",
      -                "economy",
      -                "tech",
      -                "culture",
      -                "sports"
      -              ],
      -              "type": "string"
      -            },
      -            "firstForecastAt": {
      -              "anyOf": [
      -                {
      -                  "format": "date-time",
      -                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            },
      -            "forecasts": {
      -              "maximum": 9007199254740991,
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "place": {
      -              "anyOf": [
      -                {
      -                  "exclusiveMinimum": 0,
      -                  "maximum": 9007199254740991,
      -                  "type": "integer"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            },
      -            "questions": {
      -              "maximum": 9007199254740991,
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "rank": {
      -              "anyOf": [
      -                {
      -                  "exclusiveMinimum": 0,
      -                  "maximum": 9007199254740991,
      -                  "type": "integer"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            },
      -            "resolved": {
      -              "maximum": 9007199254740991,
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "score": {
      -              "type": "number"
      -            },
      -            "verdict": {
      -              "enum": [
      -                "too_few",
      -                "analyst_closer",
      -                "price_closer",
      -                "level"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "category",
      -            "rank",
      -            "questions",
      -            "resolved",
      -            "forecasts",
      -            "score",
      -            "beats",
      -            "verdict",
      -            "firstForecastAt",
      -            "place"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "coverage": {
      -        "minimum": 0,
      -        "type": "number"
      -      },
      -      "firstForecastAt": {
      -        "anyOf": [
      -          {
      -            "format": "date-time",
      -            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "forecaster": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "address": {
      -            "$ref": "#/$defs/EvmAddress"
      -          },
      -          "agentId": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "kind": {
      -            "enum": [
      -              "person",
      -              "agent"
      -            ],
      -            "type": "string"
      -          },
      -          "name": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "kind",
      -          "name",
      -          "address",
      -          "agentId"
      -        ],
      -        "type": "object"
      -      },
      -      "forecasts": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "joinedAt": {
      -        "format": "date-time",
      -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -        "type": "string"
      -      },
      -      "questions": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "rank": {
      -        "anyOf": [
      -          {
      -            "exclusiveMinimum": 0,
      -            "maximum": 9007199254740991,
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "resolved": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "score": {
      -        "type": "number"
      -      },
      -      "verdict": {
      -        "enum": [
      -          "too_few",
      -          "analyst_closer",
      -          "price_closer",
      -          "level"
      -        ],
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "forecaster",
      -      "joinedAt",
      -      "rank",
      -      "questions",
      -      "resolved",
      -      "score",
      -      "verdict",
      -      "firstForecastAt"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "beats": {
      +        "type": "boolean"
      +      },
      +      "categories": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "beats": {
      +              "type": "boolean"
      +            },
      +            "category": {
      +              "enum": [
      +                "politics",
      +                "economy",
      +                "tech",
      +                "culture",
      +                "sports"
      +              ],
      +              "type": "string"
      +            },
      +            "firstForecastAt": {
      +              "anyOf": [
      +                {
      +                  "format": "date-time",
      +                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "forecasts": {
      +              "maximum": 9007199254740991,
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "place": {
      +              "anyOf": [
      +                {
      +                  "exclusiveMinimum": 0,
      +                  "maximum": 9007199254740991,
      +                  "type": "integer"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "questions": {
      +              "maximum": 9007199254740991,
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "range": {
      +              "anyOf": [
      +                {
      +                  "items": {
      +                    "type": "number"
      +                  },
      +                  "maxItems": 2,
      +                  "minItems": 2,
      +                  "type": "array"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "rank": {
      +              "anyOf": [
      +                {
      +                  "exclusiveMinimum": 0,
      +                  "maximum": 9007199254740991,
      +                  "type": "integer"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "resolved": {
      +              "maximum": 9007199254740991,
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "score": {
      +              "type": "number"
      +            },
      +            "verdict": {
      +              "enum": [
      +                "too_few",
      +                "analyst_closer",
      +                "price_closer",
      +                "level"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "category",
      +            "rank",
      +            "questions",
      +            "resolved",
      +            "forecasts",
      +            "score",
      +            "beats",
      +            "verdict",
      +            "firstForecastAt",
      +            "place"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "coverage": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "firstForecastAt": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "forecaster": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "address": {
      +            "$ref": "#/$defs/EvmAddress"
      +          },
      +          "agentId": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "kind": {
      +            "enum": [
      +              "person",
      +              "agent"
      +            ],
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "kind",
      +          "name",
      +          "address",
      +          "agentId"
      +        ],
      +        "type": "object"
      +      },
      +      "forecasts": {
      +        "maximum": 9007199254740991,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "joinedAt": {
      +        "format": "date-time",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +        "type": "string"
      +      },
      +      "questions": {
      +        "maximum": 9007199254740991,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "range": {
      +        "anyOf": [
      +          {
      +            "items": {
      +              "type": "number"
      +            },
      +            "maxItems": 2,
      +            "minItems": 2,
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "rank": {
      +        "anyOf": [
      +          {
      +            "exclusiveMinimum": 0,
      +            "maximum": 9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "resolved": {
      +        "maximum": 9007199254740991,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "score": {
      +        "type": "number"
      +      },
      +      "verdict": {
      +        "enum": [
      +          "too_few",
      +          "analyst_closer",
      +          "price_closer",
      +          "level"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "forecaster",
      +      "joinedAt",
      +      "rank",
      +      "questions",
      +      "resolved",
      +      "score",
      +      "verdict",
      +      "firstForecastAt"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Changed9 schema fields changed
    • addedOutput schema / $defs / ContestBoard
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "asOf": {
      +      "format": "date-time",
      +      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +      "type": "string"
      +    },
      +    "entrants": {
      +      "maximum": 9007199254740991,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "minQuestions": {
      +      "maximum": 9007199254740991,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "notice": {
      +      "const": "Past performance is not indicative of future results.",
      +      "type": "string"
      +    },
      +    "ranked": {
      +      "maximum": 9007199254740991,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "resolved": {
      +      "maximum": 9007199254740991,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "rows": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "beats": {
      +            "type": "boolean"
      +          },
      +          "coverage": {
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "firstForecastAt": {
      +            "anyOf": [
      +              {
      +                "format": "date-time",
      +                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "forecaster": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "address": {
      +                "$ref": "#/$defs/EvmAddress"
      +              },
      +              "agentId": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "kind": {
      +                "enum": [
      +                  "person",
      +                  "agent"
      +                ],
      +                "type": "string"
      +              },
      +              "name": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "name",
      +              "address",
      +              "agentId"
      +            ],
      +            "type": "object"
      +          },
      +          "forecasts": {
      +            "maximum": 9007199254740991,
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "place": {
      +            "anyOf": [
      +              {
      +                "exclusiveMinimum": 0,
      +                "maximum": 9007199254740991,
      +                "type": "integer"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "questions": {
      +            "maximum": 9007199254740991,
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "rank": {
      +            "exclusiveMinimum": 0,
      +            "maximum": 9007199254740991,
      +            "type": "integer"
      +          },
      +          "resolved": {
      +            "maximum": 9007199254740991,
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "score": {
      +            "type": "number"
      +          },
      +          "verdict": {
      +            "enum": [
      +              "too_few",
      +              "analyst_closer",
      +              "price_closer",
      +              "level"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "forecaster",
      +          "rank",
      +          "questions",
      +          "resolved",
      +          "score",
      +          "verdict",
      +          "firstForecastAt"
      +        ],
      +        "type": "object"
      +      },
      +      "maxItems": 2000,
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "asOf",
      +    "entrants",
      +    "ranked",
      +    "minQuestions",
      +    "resolved",
      +    "rows",
      +    "notice"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / $defs / ContestRead / properties / board / $ref
      Added value: +"#/$defs/ContestBoard"
    • removedOutput schema / $defs / ContestRead / properties / board / additionalProperties
      Removed value: -false
    • removedOutput schema / $defs / ContestRead / properties / board / properties
      Removed value: -{
      -  "asOf": {
      -    "format": "date-time",
      -    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -    "type": "string"
      -  },
      -  "entrants": {
      -    "maximum": 9007199254740991,
      -    "minimum": 0,
      -    "type": "integer"
      -  },
      -  "minQuestions": {
      -    "maximum": 9007199254740991,
      -    "minimum": 0,
      -    "type": "integer"
      -  },
      -  "notice": {
      -    "const": "Past performance is not indicative of future results.",
      -    "type": "string"
      -  },
      -  "ranked": {
      -    "maximum": 9007199254740991,
      -    "minimum": 0,
      -    "type": "integer"
      -  },
      -  "resolved": {
      -    "maximum": 9007199254740991,
      -    "minimum": 0,
      -    "type": "integer"
      -  },
      -  "rows": {
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "coverage": {
      -          "minimum": 0,
      -          "type": "number"
      -        },
      -        "firstForecastAt": {
      -          "anyOf": [
      -            {
      -              "format": "date-time",
      -              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -              "type": "string"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ]
      -        },
      -        "forecaster": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "address": {
      -              "$ref": "#/$defs/EvmAddress"
      -            },
      -            "agentId": {
      -              "type": [
      -                "string",
      -                "null"
      -              ]
      -            },
      -            "kind": {
      -              "enum": [
      -                "person",
      -                "agent"
      -              ],
      -              "type": "string"
      -            },
      -            "name": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "kind",
      -            "name",
      -            "address",
      -            "agentId"
      -          ],
      -          "type": "object"
      -        },
      -        "questions": {
      -          "maximum": 9007199254740991,
      -          "minimum": 0,
      -          "type": "integer"
      -        },
      -        "rank": {
      -          "exclusiveMinimum": 0,
      -          "maximum": 9007199254740991,
      -          "type": "integer"
      -        },
      -        "resolved": {
      -          "maximum": 9007199254740991,
      -          "minimum": 0,
      -          "type": "integer"
      -        },
      -        "score": {
      -          "type": "number"
      -        },
      -        "verdict": {
      -          "enum": [
      -            "too_few",
      -            "analyst_closer",
      -            "price_closer",
      -            "level"
      -          ],
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "forecaster",
      -        "rank",
      -        "questions",
      -        "resolved",
      -        "score",
      -        "verdict",
      -        "firstForecastAt"
      -      ],
      -      "type": "object"
      -    },
      -    "maxItems": 2000,
      -    "type": "array"
      -  }
      -}
    • removedOutput schema / $defs / ContestRead / properties / board / required
      Removed value: -[
      -  "asOf",
      -  "entrants",
      -  "ranked",
      -  "minQuestions",
      -  "resolved",
      -  "rows",
      -  "notice"
      -]
    • removedOutput schema / $defs / ContestRead / properties / board / type
      Removed value: -"object"
    • addedOutput schema / $defs / ContestRead / properties / categories
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "beating": {
      +        "maximum": 9007199254740991,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "category": {
      +        "enum": [
      +          "politics",
      +          "economy",
      +          "tech",
      +          "culture",
      +          "sports"
      +        ],
      +        "type": "string"
      +      },
      +      "covers": {
      +        "type": "string"
      +      },
      +      "label": {
      +        "type": "string"
      +      },
      +      "prizes": {
      +        "items": {
      +          "exclusiveMinimum": 0,
      +          "maximum": 9007199254740991,
      +          "type": "integer"
      +        },
      +        "type": "array"
      +      },
      +      "ranked": {
      +        "maximum": 9007199254740991,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "rows": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "beats": {
      +              "type": "boolean"
      +            },
      +            "coverage": {
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "firstForecastAt": {
      +              "anyOf": [
      +                {
      +                  "format": "date-time",
      +                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "forecaster": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "address": {
      +                  "$ref": "#/$defs/EvmAddress"
      +                },
      +                "agentId": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "kind": {
      +                  "enum": [
      +                    "person",
      +                    "agent"
      +                  ],
      +                  "type": "string"
      +                },
      +                "name": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "kind",
      +                "name",
      +                "address",
      +                "agentId"
      +              ],
      +              "type": "object"
      +            },
      +            "forecasts": {
      +              "maximum": 9007199254740991,
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "place": {
      +              "anyOf": [
      +                {
      +                  "exclusiveMinimum": 0,
      +                  "maximum": 9007199254740991,
      +                  "type": "integer"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "questions": {
      +              "maximum": 9007199254740991,
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "rank": {
      +              "exclusiveMinimum": 0,
      +              "maximum": 9007199254740991,
      +              "type": "integer"
      +            },
      +            "resolved": {
      +              "maximum": 9007199254740991,
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "score": {
      +              "type": "number"
      +            },
      +            "verdict": {
      +              "enum": [
      +                "too_few",
      +                "analyst_closer",
      +                "price_closer",
      +                "level"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "forecaster",
      +            "rank",
      +            "questions",
      +            "resolved",
      +            "score",
      +            "verdict",
      +            "firstForecastAt"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 2000,
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "category",
      +      "label",
      +      "covers",
      +      "prizes",
      +      "beating",
      +      "ranked",
      +      "rows"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / $defs / ContestRead / properties / slate / properties / questions / items / properties / contestCategory
      Added value: +{
      +  "enum": [
      +    "politics",
      +    "economy",
      +    "tech",
      +    "culture",
      +    "sports"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / $defs / ContestRead / properties / you / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "coverage": {
      -        "minimum": 0,
      -        "type": "number"
      -      },
      -      "firstForecastAt": {
      -        "anyOf": [
      -          {
      -            "format": "date-time",
      -            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "forecaster": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "address": {
      -            "$ref": "#/$defs/EvmAddress"
      -          },
      -          "agentId": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "kind": {
      -            "enum": [
      -              "person",
      -              "agent"
      -            ],
      -            "type": "string"
      -          },
      -          "name": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "kind",
      -          "name",
      -          "address",
      -          "agentId"
      -        ],
      -        "type": "object"
      -      },
      -      "joinedAt": {
      -        "format": "date-time",
      -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -        "type": "string"
      -      },
      -      "questions": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "rank": {
      -        "anyOf": [
      -          {
      -            "exclusiveMinimum": 0,
      -            "maximum": 9007199254740991,
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "resolved": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "score": {
      -        "type": "number"
      -      },
      -      "verdict": {
      -        "enum": [
      -          "too_few",
      -          "analyst_closer",
      -          "price_closer",
      -          "level"
      -        ],
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "forecaster",
      -      "joinedAt",
      -      "rank",
      -      "questions",
      -      "resolved",
      -      "score",
      -      "verdict",
      -      "firstForecastAt"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "beats": {
      +        "type": "boolean"
      +      },
      +      "categories": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "beats": {
      +              "type": "boolean"
      +            },
      +            "category": {
      +              "enum": [
      +                "politics",
      +                "economy",
      +                "tech",
      +                "culture",
      +                "sports"
      +              ],
      +              "type": "string"
      +            },
      +            "firstForecastAt": {
      +              "anyOf": [
      +                {
      +                  "format": "date-time",
      +                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "forecasts": {
      +              "maximum": 9007199254740991,
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "place": {
      +              "anyOf": [
      +                {
      +                  "exclusiveMinimum": 0,
      +                  "maximum": 9007199254740991,
      +                  "type": "integer"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "questions": {
      +              "maximum": 9007199254740991,
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "rank": {
      +              "anyOf": [
      +                {
      +                  "exclusiveMinimum": 0,
      +                  "maximum": 9007199254740991,
      +                  "type": "integer"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "resolved": {
      +              "maximum": 9007199254740991,
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "score": {
      +              "type": "number"
      +            },
      +            "verdict": {
      +              "enum": [
      +                "too_few",
      +                "analyst_closer",
      +                "price_closer",
      +                "level"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "category",
      +            "rank",
      +            "questions",
      +            "resolved",
      +            "forecasts",
      +            "score",
      +            "beats",
      +            "verdict",
      +            "firstForecastAt",
      +            "place"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "coverage": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "firstForecastAt": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "forecaster": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "address": {
      +            "$ref": "#/$defs/EvmAddress"
      +          },
      +          "agentId": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "kind": {
      +            "enum": [
      +              "person",
      +              "agent"
      +            ],
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "kind",
      +          "name",
      +          "address",
      +          "agentId"
      +        ],
      +        "type": "object"
      +      },
      +      "forecasts": {
      +        "maximum": 9007199254740991,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "joinedAt": {
      +        "format": "date-time",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +        "type": "string"
      +      },
      +      "questions": {
      +        "maximum": 9007199254740991,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "rank": {
      +        "anyOf": [
      +          {
      +            "exclusiveMinimum": 0,
      +            "maximum": 9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "resolved": {
      +        "maximum": 9007199254740991,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "score": {
      +        "type": "number"
      +      },
      +      "verdict": {
      +        "enum": [
      +          "too_few",
      +          "analyst_closer",
      +          "price_closer",
      +          "level"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "forecaster",
      +      "joinedAt",
      +      "rank",
      +      "questions",
      +      "resolved",
      +      "score",
      +      "verdict",
      +      "firstForecastAt"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  3. Changed2 schema fields changed
    • addedOutput schema / $defs / ContestRead / properties / board / properties / rows / items / properties / coverage
      Added value: +{
      +  "minimum": 0,
      +  "type": "number"
      +}
    • changedOutput schema / $defs / ContestRead / properties / you / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "firstForecastAt": {
      -        "anyOf": [
      -          {
      -            "format": "date-time",
      -            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "forecaster": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "address": {
      -            "$ref": "#/$defs/EvmAddress"
      -          },
      -          "agentId": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "kind": {
      -            "enum": [
      -              "person",
      -              "agent"
      -            ],
      -            "type": "string"
      -          },
      -          "name": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "kind",
      -          "name",
      -          "address",
      -          "agentId"
      -        ],
      -        "type": "object"
      -      },
      -      "joinedAt": {
      -        "format": "date-time",
      -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -        "type": "string"
      -      },
      -      "questions": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "rank": {
      -        "anyOf": [
      -          {
      -            "exclusiveMinimum": 0,
      -            "maximum": 9007199254740991,
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "resolved": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "score": {
      -        "type": "number"
      -      },
      -      "verdict": {
      -        "enum": [
      -          "too_few",
      -          "analyst_closer",
      -          "price_closer",
      -          "level"
      -        ],
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "forecaster",
      -      "joinedAt",
      -      "rank",
      -      "questions",
      -      "resolved",
      -      "score",
      -      "verdict",
      -      "firstForecastAt"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "coverage": {
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "firstForecastAt": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "forecaster": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "address": {
      +            "$ref": "#/$defs/EvmAddress"
      +          },
      +          "agentId": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "kind": {
      +            "enum": [
      +              "person",
      +              "agent"
      +            ],
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "kind",
      +          "name",
      +          "address",
      +          "agentId"
      +        ],
      +        "type": "object"
      +      },
      +      "joinedAt": {
      +        "format": "date-time",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +        "type": "string"
      +      },
      +      "questions": {
      +        "maximum": 9007199254740991,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "rank": {
      +        "anyOf": [
      +          {
      +            "exclusiveMinimum": 0,
      +            "maximum": 9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "resolved": {
      +        "maximum": 9007199254740991,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "score": {
      +        "type": "number"
      +      },
      +      "verdict": {
      +        "enum": [
      +          "too_few",
      +          "analyst_closer",
      +          "price_closer",
      +          "level"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "forecaster",
      +      "joinedAt",
      +      "rank",
      +      "questions",
      +      "resolved",
      +      "score",
      +      "verdict",
      +      "firstForecastAt"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  4. Changed2 schema fields changed
    • addedOutput schema / $defs / ContestRead / properties / slate / properties / questions / items / properties / category
      Added value: +{
      +  "$ref": "#/$defs/MarketCategory"
      +}
    • addedOutput schema / $defs / MarketCategory
      Added value: +{
      +  "enum": [
      +    "CRYPTO",
      +    "SPORTS",
      +    "POLITICS",
      +    "ELECTIONS",
      +    "FINANCE",
      +    "TECH",
      +    "WORLD",
      +    "ECONOMY",
      +    "CULTURE",
      +    "WEATHER",
      +    "SCIENCE_HEALTH",
      +    "AI",
      +    "GAMING",
      +    "BUSINESS",
      +    "FASHION",
      +    "MOVIES_TV",
      +    "MUSIC",
      +    "SHOPPING",
      +    "BEAUTY",
      +    "TRAVEL",
      +    "CLIMATE",
      +    "DAILY_LIFE",
      +    "LOCAL",
      +    "SOCIAL",
      +    "FUN",
      +    "OTHER"
      +  ],
      +  "type": "string",
      +  "x-extensible-enum": true
      +}
  5. Added

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), yet the description adds real behavioral context beyond them: forecasts are scored once at the minute of submission, up to 3 per question per day, none counted outside 5%-95% price, lower score is better, and others' numbers stay hidden until the lock. It stops short of disclosing pagination or how the 'week' window affects the boards.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is one dense paragraph that opens with tournament rules instead of the tool's action, so the useful part (what is returned, key requirement) arrives last. The scoring and prize detail is relevant but could be trimmed or moved behind the front-loaded purpose sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/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 spelled out here, and the prize/scoring rules are a genuine plus. But for a two-parameter tool with zero schema coverage, the total absence of parameter meaning leaves the definition incomplete for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0% and the description never mentions either parameter. 'all' and 'week' (1-20) go entirely unexplained, so the agent must guess whether 'all' means all questions or all boards, and what a week number selects. This is a clear gap where the description should have compensated.

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 final sentence states the specific output: featured questions, category boards, and the caller's entry. The bulk of the description explains the contest rather than the tool, but an agent can still tell this is a read of contest state. It does not explicitly distinguish itself from the close siblings problee_my_contest and problee_get_scoring_record, which keeps it from a 5.

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?

It points to problee_publish_forecast as the way to submit forecasts, which is a useful routing cue, and it implies a key is needed to see 'your entry'. However, it never says when to use this tool versus problee_my_contest, problee_join_contest, or the scoring-record tools, leaving the main selection question unanswered.

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.