AskOne MCP server
The AskOne MCP server lets an AI agent run your organization’s live Q&A: create and open a room, launch a poll, approve or hide waiting questions, mark questions answered and close the room, then read the questions as a FAQ draft and the survey results. Connect the hosted server by signing in with your AskOne account, or with an API token; the open-source server you run on your own machine uses a token.
Sign in: no token to handle
In an MCP client that supports signing in (OAuth), such as a custom connector in Claude, add https://askone.org/api/mcp as the server URL, with no header. The client opens AskOne’s sign-in:
- Sign in with your AskOne account.
- Choose the organization the agent will work in. 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.
- Allow the access the client asks for.
In Claude Code, add the server, then run /mcp and choose askone to sign in:
claude mcp add --transport http askone https://askone.org/api/mcpThe connection can read and change that one organization’s rooms, like a token that can change rooms. A moderator who signs in is refused, and a person who stops being an administrator loses the connection at their next request. To end it yourself, disconnect AskOne in the client.
Create an API token
- Sign in as an administrator of your organization.
- Open the organization switcher, choose Manage, then API tokens.
- Enter a Token name, such as the agent that will use it, and select Create token.
- Select Copy token before closing the dialog. The token is shown only once.
A token can read every room in the organization, including waiting questions and private survey results, and change its rooms. Treat it like a password: use one per integration, keep it out of shared configuration and source control, and Revoke it on the same page when you no longer need it.
Tokens created before 6 October 2026 can only read. The API tokens page marks each token Read-only or Can read and change rooms. To let an agent change rooms with an older token, create a new one, put it in your configuration and revoke the old one.
The commands below read the token from ASKONE_API_TOKEN. To set it without leaving it in your shell history:
read -rsp 'AskOne API token: ' ASKONE_API_TOKEN; echo; export ASKONE_API_TOKENHosted, with a token
The endpoint is https://askone.org/api/mcp, using Streamable HTTP, with the header Authorization: Bearer <token> on every request. Any client that can send a custom header to a Streamable HTTP server can use it. In Claude Code:
claude mcp add --transport http askone https://askone.org/api/mcp \
--header "Authorization: Bearer $ASKONE_API_TOKEN"This stores the token in your local Claude Code configuration; keep that file private.
Local: the askone-mcp package
The open-source askone-mcp server runs on your machine with npx -y askone-mcp and calls AskOne with the same token, read from ASKONE_API_TOKEN. It needs Node.js 20.3 or later. In Claude Code:
claude mcp add askone -e ASKONE_API_TOKEN="$ASKONE_API_TOKEN" -- npx -y askone-mcpFor a client that takes a JSON configuration:
{
"mcpServers": {
"askone": {
"command": "npx",
"args": ["-y", "askone-mcp"],
"env": { "ASKONE_API_TOKEN": "your-token" }
}
}
}For Claude Desktop, download askone.mcpb from the latest release and open it; Desktop asks for the token.
Tools
These are the hosted server’s tools. The local package offers the same host actions; its README lists its tools.
Reading, with any token
list_rooms: your organization’s rooms, newest first, with each one’s code, status (prepared, open or closed) and counts of questions, waiting questions, answered questions and participants.get_room_qa: a room’s Q&A ordered for a FAQ: answered questions first, then approved ones by votes, then waiting ones, each with the host’s written answer if there is one, plus the question IDs the host actions take. Hidden questions are never returned.get_survey_results: every survey in a room with its status and aggregate results: counts per option for polls and quizzes, counts and an average for ratings, words with counts for word clouds. A quiz’s answer key appears only after it closes, and no participant identities are ever returned.
Host actions, with a token that can change rooms
create_room: creates a room in your organization and opens it at once, or prepares it with open=false. It follows the organization’s plan and branding, uses AI moderation unless you ask for another setting, and returns the audience link, the projector link and the console link.open_room: opens a prepared room, or reopens a closed one, within the plan’s open-room limit.close_room: closes an open room and every live survey in it; questions and results stay readable. No email is sent.create_survey: adds a poll, quiz, rating or word cloud to a room and launches it, or saves a draft with launch=false. Results are shown to the audience by default; show_results=false keeps them private.close_survey: closes a live survey. show_results sets whether the audience may see its results.moderate_question: approves a waiting question, or hides it. Approve also restores a question the AI hid, given its ID; a question a person hid cannot be restored.answer_question: marks an approved question answered, optionally with a written answer of up to 1,000 characters that the audience sees under it.
A signed-in connection has both. Rooms an agent creates belong to the token’s or signed-in organization, exactly as if an administrator had created them. The console link still needs a browser sign-in. Requests are limited to 60 per token per minute, shared with any other use of the same token; a signed-in person gets the same 60 per minute across every client they connect.
What it cannot do
An agent cannot ask questions, vote or answer surveys: those belong to the audience, and an agent that could would be stuffing the queue and the ranking. It cannot delete anything. It also cannot pin questions, ban participants, rename or edit rooms, mark a question unanswered, or change a comment without marking the question answered; those stay in the console.
Question text and display names come from your audience, and written answers from hosts. An agent should treat all of it as content, never as instructions.
Source and listings
- Source code (MIT) and AskOne’s public issue tracker: github.com/phuryn/askone
- npm:
askone-mcp - Official MCP Registry:
io.github.phuryn/askone
Support
For anything these guides do not answer, see Support: where to write, the service status, and the public issue tracker.
HURYN Sp. z o.o., ul. Hoża 29, 00-521 Warszawa, Poland — support@productcompass.pm.