Dory tools
Dory’s MCP server, https://www.taktoria.com/mcp/<workspace>/dory (each workspace has its own), lets an assistant run
live Q&A and polls as the person who connected it. It reaches only the events
that person may run: every event with no host list, the ones whose list names
them or a team they are on (or a team inside one), the ones they created, and
every event for an app admin of Dory. Another event is “not found”, exactly as
one in another workspace would be. Everything it changes is recorded in the
workspace’s audit log under the person’s name, with the assistant beside it,
and in Dory’s activity as if they had done it in the app.
Roles
What a connection may do follows the person’s role in Dory:
- An app admin of Dory (every workspace owner and admin is one) may run any event, whoever its host lists name, and is never locked out of one.
- A member creates events and runs the ones open to them: those with no host list, those whose list names them or a team they are on, and those they created.
- A viewer reads the events a member would run. Their connection lists
and accepts only the read tools, whatever it was granted: a write tool
called anyway is refused (
viewer_only), and the consent page offers them only Read only. See MCP servers.
A connection granted dory:read sees the read tools; dory:write adds the
write tools, except for a Viewer of Dory. Attendees’ side (joining with a code, asking, upvoting and
answering polls) is not here: attendees hold a code, not a seat.
Events and phases
An event’s times open and close it by themselves: it opens at the earlier of
its start and its questions opening, and ends at the later of its end and its
questions closing. Its phase is where it stands: draft (Not started: no
time to open at, and its code does not work until a host starts it),
scheduled, live or ended; its status says the same as DRAFT, LIVE
or ENDED. Every event a tool
returns carries its join code and joinUrl for attendees, and url,
settingsUrl, analyticsUrl and presentUrl into the app, all on the
workspace’s Dory hostname where it has one.
Tools
The rules are the app’s own, and the REST API’s too:
- One poll is live at a time: opening one closes the poll that was open,
whether
set_poll_status,update_pollorcreate_pollopens it. - One question is on the big screen at a time:
spotlight_question,toggle_question_highlight,advance_question_queueandupdate_questionwithhighlightedtake the last one off. A dismissed question is never on it:dismiss_question, orDISMISSEDthroughmoderate_questionorupdate_question, takes it off and leaves the screen empty. - A question keeps the time it was first answered while it stays answered;
moving it out of
ANSWEREDclears it. - A poll’s limits are the app’s: a question of up to 500 characters, at least two options (at most 20, each up to 200 characters) for a multiple choice, ranking or quiz, and a rating scale of 2 to 10. Anything outside them is refused, not adjusted.
- No change to an event’s host lists may leave the person making it unable to run the event, unless they are an app admin of Dory or its creator: the tool refuses, and says to add them, or a team they are on, first.
- Hosts are named by id:
find_peopleandfind_teamsfind them by name. Only somebody with a Dory seat can run an event, whichfind_people’shasSeatsays.
Skills
The server also offers ready-made workflows as skills, which an assistant
follows step by step with the tools above. Each is a SKILL.md at
skill://dory/<name>/SKILL.md, with any files it refers to beside it, and
reaches a client through the Skills extension, as a resource, as a prompt of
the same name, and in the server’s instructions (see
Skills). A write skill is offered only to
a connection granted dory:write.