# qrvote MCP server qrvote runs contests, surveys, quizzes and scavenger hunts at in-person events with printed QR codes. Anyone can read a public contest and its results by slug (from https://qrvote.org/c/). Managing one needs its organizer key, sent by the MCP client as `Authorization: Bearer `; the organizer finds it in their organizer link (#key=…). It controls that one contest only. Creating contests, voting and answering are for people in a browser and are not available here. - Endpoint: https://mcp.qrvote.org/mcp (Streamable HTTP, stateless, JSON responses) - Auth: `Authorization: Bearer ` for organizer tools; none for public ones ([auth.md](https://qrvote.org/auth.md)) - Server card: https://mcp.qrvote.org/.well-known/mcp/server-card.json - The same API over HTTP: [OpenAPI 3.1](https://qrvote.org/openapi.json), [guide](https://qrvote.org/developers) ## Tools - `get_campaign` (public): A contest, survey or hunt as the public sees it - `get_results` (public): Results: vote tallies, survey totals, or a hunt leaderboard - `get_dashboard` (organizer key): Everything on the organizer dashboard - `update_settings` (organizer key): Change settings, or end / reopen voting - `add_judge` (organizer key): Contests: add a judge (judging must be on) - `remove_judge` (organizer key): Contests: remove a judge, their link and their scores - `add_entries` (organizer key): Add entries (contests) or checkpoints (hunts) - `export_csv` (organizer key): Download votes, survey responses or hunt players as CSV - `list_responses` (organizer key): Survey responses, newest first (up to 500). Quizzes include each response's score. - `host_step` (organizer key): Run a live quiz: start, reveal, next question, finish, or pause/resume its clock - `set_answer_key` (organizer key): Fix a quiz's answer key (allowed after people have answered; every score updates) ## Connect ```json { "mcpServers": { "qrvote": { "type": "http", "url": "https://mcp.qrvote.org/mcp", "headers": { "Authorization": "Bearer " } } } } ```