Koskamo

Polemia MCP

An official MCP server for Polemia that allows AI assistants to create live multiple-choice quizzes from various inputs, search a library of ready-made quizzes, and retrieve the daily world poll question, enabling agents to facilitate interactive games without user sign-up.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Polemia MCP logo, by PolemiaVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by Polemia
MCP endpoint (Streamable HTTP)
https://polemia.ai/mcp
Vendor documentation

What you can do with it

  • Create a live quiz from a topic or document
  • Search for ready-made quizzes in the public library
  • Retrieve the daily anonymous world poll question

Source and maintenance

Vendor evidenceRegistry 1.0.1

Protocol and capabilities

Server
polemia 1.0.0
MCP protocol
2025-06-18
Tools
3 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Polemia (https://polemia.ai) is a free live quiz game played on phones: one person hosts, everyone else joins with a short code, no sign-up. Use create_quiz when the user wants a new quiz on a topic for a class, party, team or pub quiz; give them BOTH links it returns (host_url for whoever runs the game, join_url or the code for the players). Use find_quizzes first when a ready-made quiz would do. Use daily_question for Polemia's one question of the day for the whole world.

Tools

3 advertised

create_quiz — Make a Polemia quiz
Advertised by the server during the last successful anonymous check.
Open-world

Make a new live multiple-choice quiz on Polemia about any topic, ready to play on phones with a join code. Use it when the user wants a quiz, trivia game or icebreaker for a class, party, family, team or pub quiz. Takes 10 to 60 seconds. Returns join_url and code (for the players), host_url (for the person running the game: opening it makes that browser the host, and it works once), qr_url (a QR code image of the join link) and how_it_works, a short explanation of the game. Always give the user both host_url and join_url. "facts" quizzes have right answers; "opinions" quizzes are scored by what the majority picks. Topics that target people, politics, war or adult material are refused.

create_quiz input schema
{
  "type": "object",
  "required": [
    "topic"
  ],
  "properties": {
    "kind": {
      "enum": [
        "facts",
        "opinions"
      ],
      "type": "string",
      "default": "facts",
      "description": "\"facts\": questions with a right answer. \"opinions\": fun questions where the most popular answer scores."
    },
    "topic": {
      "type": "string",
      "maxLength": 80,
      "minLength": 2,
      "description": "What the quiz is about, e.g. \"volcanoes\", \"Harry Potter\", \"the human body for 9 year olds\"."
    },
    "language": {
      "type": "string",
      "description": "Write the quiz in this language (BCP-47, e.g. \"es\", \"de\", \"pt-BR\"). Leave out to use the language the topic is written in."
    },
    "questions": {
      "type": "integer",
      "default": 10,
      "maximum": 25,
      "minimum": 1,
      "description": "How many questions, 1 to 25."
    },
    "for_children_under": {
      "type": "integer",
      "maximum": 17,
      "minimum": 3,
      "description": "Make every question suitable for children under this age."
    }
  },
  "additionalProperties": false
}
create_quiz output schema
{
  "type": "object",
  "required": [
    "code",
    "join_url",
    "host_url",
    "qr_url",
    "questions",
    "kind",
    "language",
    "topic",
    "host_link_expires_at",
    "how_it_works"
  ],
  "properties": {
    "code": {
      "type": "string",
      "description": "The join code players type at polemia.ai."
    },
    "kind": {
      "enum": [
        "facts",
        "opinions"
      ],
      "type": "string"
    },
    "topic": {
      "type": "string"
    },
    "qr_url": {
      "type": "string",
      "format": "uri"
    },
    "host_url": {
      "type": "string",
      "format": "uri"
    },
    "join_url": {
      "type": "string",
      "format": "uri"
    },
    "language": {
      "type": "string"
    },
    "questions": {
      "type": "integer"
    },
    "how_it_works": {
      "type": "string"
    },
    "host_link_expires_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
create_quiz annotations
{
  "title": "Make a Polemia quiz",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
find_quizzes — Find ready-made Polemia quizzes
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search Polemia's free public library of ready-made quizzes. Instant and free. Use it when the user wants a quiz on a common topic and does not need a new one written. Returns up to 10 quizzes, each with a title, question count, kind, language and play_url (the quiz's page, where the user starts a live game with it).

find_quizzes input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 60,
      "minLength": 1,
      "description": "A word or two about the topic, e.g. \"space\", \"football\", \"Christmas\"."
    },
    "language": {
      "type": "string",
      "description": "Only quizzes in this language (BCP-47). Leave out for every language."
    }
  },
  "additionalProperties": false
}
find_quizzes output schema
{
  "type": "object",
  "required": [
    "total",
    "quizzes",
    "browse_url",
    "how_it_works"
  ],
  "properties": {
    "total": {
      "type": "integer",
      "description": "How many quizzes match in all."
    },
    "quizzes": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "title",
          "questions",
          "kind",
          "language",
          "play_url"
        ],
        "properties": {
          "kind": {
            "enum": [
              "facts",
              "opinions"
            ],
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "play_url": {
            "type": "string",
            "format": "uri"
          },
          "questions": {
            "type": "integer"
          },
          "sample_question": {
            "type": [
              "string",
              "null"
            ]
          },
          "for_children_under": {
            "type": [
              "integer",
              "null"
            ]
          }
        }
      }
    },
    "browse_url": {
      "type": "string",
      "format": "uri"
    },
    "how_it_works": {
      "type": "string"
    }
  }
}
find_quizzes annotations
{
  "title": "Find ready-made Polemia quizzes",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
daily_question — Polemia question of the day
Advertised by the server during the last successful anonymous check.
Advertised read-only

Today's Polemia question: one opinion question a day, answered anonymously by people all over the world. Free. Use it when the user wants a question of the day, a conversation starter, or to see what the world thinks. Returns the question, its answer options and answer_url, where the user votes and then sees everyone's results.

daily_question input schema
{
  "type": "object",
  "properties": {
    "language": {
      "type": "string",
      "description": "Show the question in this language when a translation exists (BCP-47). Default English."
    }
  },
  "additionalProperties": false
}
daily_question output schema
{
  "type": "object",
  "required": [
    "date",
    "question",
    "options",
    "language",
    "answer_url",
    "past_results_url",
    "how_it_works"
  ],
  "properties": {
    "date": {
      "type": "string"
    },
    "options": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "string"
      }
    },
    "language": {
      "type": "string"
    },
    "question": {
      "type": [
        "string",
        "null"
      ]
    },
    "answer_url": {
      "type": "string",
      "format": "uri"
    },
    "how_it_works": {
      "type": "string"
    },
    "past_results_url": {
      "type": "string",
      "format": "uri"
    }
  }
}
daily_question annotations
{
  "title": "Polemia question of the day",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1137 ms
95th percentile latency
1137 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1137 ms · metadata changed · 3 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http polemia-mcp https://polemia.ai/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add polemia-mcp --url https://polemia.ai/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable polemia-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "polemia-mcp": {
      "url": "https://polemia.ai/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "polemia-mcp": {
      "type": "streamableHttp",
      "url": "https://polemia.ai/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start polemia-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "polemia-mcp": {
      "type": "http",
      "url": "https://polemia.ai/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http polemia-mcp https://polemia.ai/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "polemia-mcp": {
      "url": "https://polemia.ai/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "polemia-mcp": {
      "serverUrl": "https://polemia.ai/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Polemia MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Polemia MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing