Run AskOne live Q&A and polls with free AI moderation: start rooms, launch polls, draft a FAQ.
One address for any MCP client. Your key stays in your Odel vault.
Not assessed yet.
Odel charges nothing per call. The publisher may charge for its own service.
Odel could not list its tools without signing in.
The AskOne MCP server lets an AI agent run your organization's live audience Q&A and polls: start a room, add and launch a poll, approve or hide waiting questions, mark questions answered, close the room, and afterwards read the questions as a FAQ draft and the poll results. It cannot ask questions or vote: those are the audience's, and an agent that could would be stuffing the queue and the ranking. Nothing can be deleted through it.
AskOne is live Q&A and polling for talks, webinars, classes and meetings. Your audience joins from a link or QR code on their phones, with no account and no app, asks questions anonymously, upvotes, and answers polls. AI moderation is free on every plan: it screens every question before it reaches the room, so nothing hostile lands on the wall. It runs in the browser, in Zoom, in Google Meet and in ChatGPT.
Use it hosted at https://askone.org/api/mcp (nothing to install; sign in with your AskOne account or use an API token), or run this open-source server locally with npx -y askone-mcp (MIT). It is listed in the official MCP Registry as io.github.phuryn/askone.
Add https://askone.org/api/mcp to an MCP client that supports signing in (OAuth), such as a custom connector in Claude, then sign in with your AskOne account and choose the organization. You must be an administrator of it, and it must already have an AskOne dashboard (if you have just created it, open its dashboard once first). The connection can read and change that organization's rooms; a moderator who signs in is refused, and someone who stops being an administrator loses the connection at their next request.
Claude Code: add the server, then run /mcp and choose askone to sign in:
claude mcp add --transport http askone https://askone.org/api/mcp
The hosted server also takes an API token, and the local package needs one. An organization admin creates one in AskOne: open the organization switcher, choose Manage, then API tokens. A token can read every room in that organization, including pending questions and private poll results, and change its rooms, so treat it like a password and keep it out of shared configuration. Tokens created before the host actions shipped (October 2026) can only read; to use the host actions, create a new token and revoke the old one.
The commands below read the token from ASKONE_API_TOKEN. Set it with a prompt, so it stays out of your shell history:
read -rsp 'AskOne API token: ' ASKONE_API_TOKEN; echo; export ASKONE_API_TOKEN
The endpoint is https://askone.org/api/mcp (Streamable HTTP), with the header Authorization: Bearer <token>.
Claude Code:
claude mcp add --transport http askone https://askone.org/api/mcp \
--header "Authorization: Bearer $ASKONE_API_TOKEN"
askone-mcp package (Node.js 20.3+)Claude Code:
claude mcp add askone -e ASKONE_API_TOKEN="$ASKONE_API_TOKEN" -- npx -y askone-mcp
Claude Desktop: download askone.mcpb from the latest release and open it. Desktop asks for the token and stores it as a secret.
Cursor, Windsurf, Cline and other clients that take a JSON configuration:
{
"mcpServers": {
"askone": {
"command": "npx",
"args": ["-y", "askone-mcp"],
"env": { "ASKONE_API_TOKEN": "your-token" }
}
}
}
To run it straight from this repository instead of npm (needs Git): npx -y github:phuryn/askone#v1.2.3.
For a self-hosted AskOne, also set ASKONE_URL to its address (https only).
Reading (any token, or signed in):
| Tool | What it returns |
|---|---|
list_rooms | Your organization's rooms, newest first, with question and participant counts. Takes limit (1–100) and cursor. |
get_room_qa | A room's questions as a Markdown FAQ draft: answered first, approved by votes, pending last and marked. Takes the six-character room code. Reads up to 2,000 questions. |
get_room_questions | One page of a room's questions as JSON, with the ids the host actions need: status, votes, pinned flag and the host's written answer. Takes code, sort (top or recent), limit and cursor. |
get_survey_results | Aggregate results for every poll, quiz, rating and word cloud in a room, with their ids. Quiz keys appear only after a survey closes. No participant identities. |
Host actions (signed in, or a token created after the host actions shipped):
| Tool | What it does |
|---|---|
create_room | Creates a room, open by default (open: false prepares it). Takes name, optional description, moderation (ai by default, human or none) and request_id. Returns the room with its audience, projector and console links. |
open_room | Opens a prepared room or reopens a closed one, within your plan's open-room limit. |
close_room | Closes a room and its live polls. Content stays readable; participation stops. |
create_survey | Adds a poll, quiz, rating or word cloud to a room and launches it (launch: false saves a draft). Results are shown to the audience by default; show_results: false keeps them private. |
close_survey | Closes a live poll, quiz, rating or word cloud. show_results: false hides its results from the audience; true allows them, though phones and the wall show only the live surveys or the latest closed batch. |
moderate_question | Approves or hides a waiting question (action: approve or hide). Approve also restores a question the AI hid, given its id. |
answer_question | Marks an approved question answered, with an optional written answer. |
Rooms land in the token's organization, on its plan and with its branding, exactly as if an admin had made them in AskOne. create_room and create_survey take an optional request_id (a UUID): resend the same one after a lost reply and you get the same room or poll, not a second one.
Ask your agent, for example: "Start an AskOne room for today's workshop and launch a poll asking which topic to cover first." Or afterwards: "Draft a FAQ from the Q&A in yesterday's workshop."
GET /api/v1/rooms, /api/v1/rooms/{code} and /api/v1/rooms/{code}/surveys. Host actions: POST /api/v1/rooms, /api/v1/rooms/{code}/open, /api/v1/rooms/{code}/close, /api/v1/rooms/{code}/surveys, /api/v1/rooms/{code}/surveys/{survey_id}/close, /api/v1/rooms/{code}/questions/{question_id}/moderate and /api/v1/rooms/{code}/questions/{question_id}/answer.rate_limited error includes how many seconds to wait.This repository is also AskOne's public issue tracker. The AskOne app itself is not open source; the MCP server in this repository is.
io.github.phuryn/askone© HURYN Sp. z o.o. The MCP server in this repository is released under the MIT License.