Read prediction disputes and the crowd's odds on real-world events from disputes.online.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Get one dispute from disputes.online by its id or page URL: the question, how it will be decided, the outcomes, how the stakes are split between them, and the deadlines. Also finds a dispute that has already been settled and returns which outcome won next to how the crowd had bet — use it to check a past prediction.
the dispute's id (UUID) or the URL of its page on disputes.online
Get one dispute from disputes.online by its id or page URL: the question, how it will be decided, the outcomes, how the stakes are split between them, and the deadlines. Also finds a dispute that has already been settled and returns which outcome won next to how the crowd had bet — use it to check a past prediction.
| Argument | Type | Description |
|---|---|---|
| dispute* | string | the dispute's id (UUID) or the URL of its page on disputes.online |
{
"type": "object",
"required": [
"dispute"
],
"properties": {
"dispute": {
"type": "string",
"description": "the dispute's id (UUID) or the URL of its page on disputes.online"
}
},
"additionalProperties": false
}List the categories disputes on disputes.online are filed under, as a flat tree. Use it to find the category_id for a topic before calling search_disputes.
No arguments.
{
"type": "object",
"additionalProperties": false
}Find disputes on disputes.online that are open to bets, with each outcome's share of the stakes. Search by free text with query (a topic, a person, a team, an asset), filter by language, category, country and creation date, and sort by pool size, number of bets, newest or closing time. This is the tool for finding what people are predicting about something, what the crowd thinks the odds are, and what was opened recently — for yesterday's disputes pass yesterday's date as both created_from and created_to.
| Argument | Type | Description |
|---|---|---|
| lang | string | two-letter language code of the disputes to return: en, ua (Ukrainian), pl, de and so on. Defaults to en. Disputes marked all are always included. |
| sort | string | amount (largest pool first; the default), bets (most bets first), newest (most recently created first), closing_soon (betting closes soonest first), result_soon (result due soonest first) |
| limit | integer | page size, 1 to 20; defaults to 10 |
| query | string | free text to look for, for example bitcoin or trump impeachment. A dispute matches when every word occurs in its text or among its tags; fewer words find more. Leave empty to list everything. |
| offset | integer | number of disputes to skip, for paging |
| country | string | ISO 3166-1 alpha-2 code of the country the dispute is about, for example US |
List open disputes on disputes.online that carry every one of the given tags, spelled exactly. Tags are set by a dispute's author, many disputes have none, and their spelling is arbitrary — to find disputes about a subject, use search_disputes with query instead. Use this only when you already know the exact tag.
| Argument | Type | Description |
|---|---|---|
| lang | string | two-letter language code of the disputes to return; defaults to en |
| tags* | null | array | one or more tags; a dispute matches only if it carries every one of them, spelled exactly. Tags are single lowercase words, for example politics or usa. |
| limit | integer | page size, 1 to 20; defaults to 10 |
| offset | integer | number of disputes to skip, for paging |
{
"type": "object",
"required": [
"tags"
],
"properties": {
"lang": {
"type": "string",
"description": "two-letter language code of the disputes to return; defaults to en"
},
"tags": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "one or more tags; a dispute matches only if it carries every one of them, spelled exactly. Tags are single lowercase words, for example politics or usa."
},
"limit": {
"type": "integer",
"description": "page size, 1 to 20; defaults to 10"
},
"offset": {
"type": "integer",
"description": "number of disputes to skip, for paging"
}
},
"additionalProperties": false
}| created_to | string | only disputes created at or before this moment, UTC. Either a day, 2026-10-07 (through the end of that day), or a full timestamp. For one day's disputes pass the same day as created_from and created_to. |
| category_id | integer | only disputes in this category or any category below it; ids come from list_categories |
| created_from | string | only disputes created at or after this moment, UTC. Either a day, 2026-10-07 (from the start of that day), or a full timestamp, 2026-10-07T12:00:00Z. |
{
"type": "object",
"properties": {
"lang": {
"type": "string",
"description": "two-letter language code of the disputes to return: en, ua (Ukrainian), pl, de and so on. Defaults to en. Disputes marked all are always included."
},
"sort": {
"type": "string",
"description": "amount (largest pool first; the default), bets (most bets first), newest (most recently created first), closing_soon (betting closes soonest first), result_soon (result due soonest first)"
},
"limit": {
"type": "integer",
"description": "page size, 1 to 20; defaults to 10"
},
"query": {
"type": "string",
"description": "free text to look for, for example bitcoin or trump impeachment. A dispute matches when every word occurs in its text or among its tags; fewer words find more. Leave empty to list everything."
},
"offset": {
"type": "integer",
"description": "number of disputes to skip, for paging"
},
"country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 code of the country the dispute is about, for example US"
},
"created_to": {
"type": "string",
"description": "only disputes created at or before this moment, UTC. Either a day, 2026-10-07 (through the end of that day), or a full timestamp. For one day's disputes pass the same day as created_from and created_to."
},
"category_id": {
"type": "integer",
"description": "only disputes in this category or any category below it; ids come from list_categories"
},
"created_from": {
"type": "string",
"description": "only disputes created at or after this moment, UTC. Either a day, 2026-10-07 (from the start of that day), or a full timestamp, 2026-10-07T12:00:00Z."
}
},
"additionalProperties": false
}