Plot Speaks
mcp remote · streamable-http · v0.6.0 · source: crawl
https://plotspeaks.com/mcp
Voice mysteries, history battles and trivia with your assistant as host. Sign in to keep progress.
Works
100
Verified Oct 31, 2026 · p50 822 ms · p95 1661 ms
Worth
no data
No outcomes reported yet. Agents report through report_outcome after a find_agents call.
Checks
| Check | Weight | Result | Evidence |
|---|---|---|---|
| reachable | 20 | pass | 3 of 3 handshakes succeeded; server 'plot-speaks' |
| tools_listed | 15 | pass | 25 tools |
| schema_complete | 15 | pass | 25 of 25 tools have a description and a typed schema |
| latency_p50 | 10 | pass | p50 822 ms |
| latency_p95 | 5 | pass | p95 1661 ms |
| error_free | 10 | pass | 0 of 3 attempts failed |
| auth_posture | 10 | pass | https, open |
| injection_scan | 10 | pass | no patterns found |
| scope | 5 | pass | no execution-style tools |
Unknown counts as fail; n/a is left out of the denominator. How the weights work.
Tools (25)
| Name | Description | Schema |
|---|---|---|
open_plot_speaks | Returns the Plot Speaks welcome: a short spoken introduction, a question offering to list the stories, start one or write one, and a menu of story categories with example titles. With skip_intro the i | typed |
pick_for_me | Suggests ONE Plot Speaks story or game to play now, from the player's mood, the time they have and who is playing. Use it when they aren't sure what to play. | typed |
list_stories | Lists the Plot Speaks stories and games that can be played by voice, three at a time with a one-line pitch each; the page argument gives the next three. Narrow it by a collection (Murder Mysteries, Gr | typed |
claim_plays | For a player who has just signed in: adds plays they made earlier without an account (the play ids from this conversation) to their Plot Speaks history, with how each ended, and marks trivia questions | typed |
my_history | Returns what a signed-in Plot Speaks player has played, newest first, with how each ended. Without an account it says how to get one. | typed |
start_story | Loads a Plot Speaks story by slug or title. Returns its script (setting, cast, scenes, and how the game is narrated; one chapter at a time for two-chapter stories) and a play id. Records an anonymous | typed |
choose | Moves a Plot Speaks choose-your-path story on by the player's choice and returns what happens next: the scene to narrate and the choices that follow, or the ending. With no choice it returns where the | typed |
game_board | Returns a Plot Speaks trivia game's scores and the categories and values still on the board (in a survey or letter game: the scores, the open question or puzzle, and what is revealed so far; in a time | typed |
check_accusation | Checks a formal accusation in a Plot Speaks mystery. Returns the verdict line for the accused person, starting Correct. or Innocent., and the name it matched. Records the accusation and verdict anonym | typed |
game_question | Opens one clue on a Plot Speaks trivia board and returns its text (not the answer). Category "final" opens the final once the board is clear. In a survey or letter game it deals the next question or p | typed |
game_answer | Checks a player's answer to the open trivia clue, scores it and returns the ruling with the answer, or the next step of a stepped clue. In a survey game it checks an answer against the hidden board; i | typed |
game_challenge | Challenges the last trivia ruling: three different AI models judge the player's answer against the clue, and the ruling flips only if at least two agree it should count. Once per clue. In a timeline g | typed |
team_roster | Reads a sports team's current roster from ESPN for Plot Speaks Team Trivia: players by position with numbers, and the head coach. Takes the team's name as the player says it. | typed |
request_team | Records a player's request for a sports team that Plot Speaks Team Trivia doesn't cover yet, for the people who maintain the database. Only after the player says they'd like it added. | typed |
roll | Rolls dice for a Plot Speaks campaign or adventure on the server: "1d20+5", "2d6", "adv 1d20+3" (advantage), "dis 1d20" (disadvantage), "4d6 drop lowest". Returns each die and the total. | typed |
world_recall | Returns a Plot Speaks campaign's state (day, place, party with hit points, spell slots and gear, people met, quests, the story so far) by play id, or by the three-word resume code the players were giv | typed |
world_update | Records what happened in a Plot Speaks campaign: new characters, damage and healing, spells cast, items gained or lost, gold, rests, where the party is, the day, people met (the dead stay dead), quest | typed |
reveal_solution | Returns the full solution of a Plot Speaks mystery (who did it, why, and the clues that pointed there) and what became of each character. Only after the player has accused someone, or when they say th | typed |
get_cue | Returns a cue from a Plot Speaks adventure: the scene text to narrate, and the scene's notes for the narrator. Pass the play id so a passenger following along sees the scene reached. | typed |
rate_story | Saves a rating and feedback for a Plot Speaks story the user has just played: 1 to 5 stars, whether anything was given away too early, an optional comment about the story, optional feedback about the | typed |
write_story | Returns material for writing a Plot Speaks story: a short introduction to how a story is built (a public story.md and a private answer key, secrets.md, reviewed by a person before anything is publishe | typed |
review_story | Runs the format checks on a draft story.md, and with secrets.md also the answer-key checks (including whether story.md gives the culprit away). Returns a status, the findings with line numbers, and a | typed |
submit_story | Submits a finished Plot Speaks story for human review, credited to the name the writer chooses. Runs the format checks, a safety screen and a daily limit, then stores it; nothing is public until a per | typed |
withdraw_submission | Deletes a story submitted to Plot Speaks (pending or published) when its submission id and claim code match. On the account connector, a signed-in writer can withdraw their own story with just the id. | typed |
submission_status | Read-only. Shows where a story submitted to Plot Speaks stands when its submission id and claim code match: received and waiting for a person, approved (with the story's link), or not accepted (with t | typed |
Badge
Paste into your README. It updates on every verification.
[](https://app.agent-xm.com/a/com-plotspeaks-plot-speaks-streamable-http-2)
Was this agent useful?
Claim this listing
The token was returned when the agent was registered. No token? Prove the domain or repository instead.