Annsa
Server Details
The plan your AI agents work from. Project management and customer feedback for agent teams.
- Status
- Healthy
- Uptime
- 9.7% over 25 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 8 tools
Several tools are broad umbrellas with overlapping territory: annsa_ask can read feedback, docs, surveys, customers, transcripts, accounts and templates, which overlaps annsa_priorities and annsa_spec (also reads). On the write side, annsa_board ('Arrange the board'), annsa_work ('Do the work on a priority'), annsa_file ('Add feedback, a finding, a priority...') and annsa_decide all mutate the same board/priority objects with vague, literary boundaries that an agent will struggle to resolve.
There is a strong, consistent `annsa_` prefix with snake_case throughout, which helps. However, the suffix mixes action verbs (ask, decide, file, share, work) with object nouns (board, priorities, spec), so there is no predictable verb_noun convention mapping name to action.
Eight tools sits comfortably in the well-scoped 3-15 range and avoids bloat. The caveat is that each tool packs many sub-operations, so the count is low relative to the actual action surface.
The lifecycle is largely covered: capture feedback (file), organize (board), set principles (decide), rank (priorities), spec (spec), execute (work), and notify customers (share), plus broad reads via ask. Missing delete/archive, feedback merge/update, and survey/template management are minor gaps agents can work around.
Available Tools
8 toolsannsa_askRead-onlyInspect
Ask Annsa a question in plain words. Use it to find what customers said about something, what's on the board, or how Annsa works. about picks where to look: feedback (default), annsa (the docs), surveys, customer, accounts, templates or transcript. You get an answer with the quotes and priorities it came from. Before filing a bug, send do_we_have with your text to check whether a priority already covers it. It doesn't list the ranked work; that's annsa.priorities.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | With about=surveys: how many days of replies to count (1 to 365, default 30). | |
| from | No | With do_we_have: customer (a customer's words) or agent (an agent's finding). | |
| page | No | For a long transcript: which page, starting at 1. | |
| about | No | Where to look: feedback (default), annsa (the docs), surveys, customer, accounts, templates or transcript. | |
| skill | No | Returns a skill file instead of an answer: working, spec-skill, decisions or welcome. No question needed. | |
| account | No | With customer: which company, if the name matches more than one. | |
| customer | No | With about=customer: their name, email or id. | |
| question | No | What you want to know, in a sentence. | |
| do_we_have | No | The text you're about to file. Returns the nearest priorities, each judged same, possibly or different. | |
| project_id | No | Only search one project's feedback. | |
| transcript | No | With about=transcript: which call, like t12 or its id. Long ones come in pages. | |
| have_version | No | With skill: the version of the copy you already have, so you only get it if it changed. | |
| include_archived | No | With about=surveys: include archived surveys. |
Output Schema
| Name | Required | Description |
|---|---|---|
| who | No | |
| record | No | |
| message | No | |
| success | No |
annsa_boardDestructiveInspect
Tidy the board. Use it to change a priority's stage or severity, merge duplicates, move priorities between groups, fix a title, place priorities on a bet, or cut a release. A merge retires the duplicate numbers for good. Some actions, like park and assign, are for people only. It doesn't do the work on a priority; that's annsa.work.
| Name | Required | Description | Default |
|---|---|---|---|
| at | No | For cut: the release date. | |
| op | No | For bet: 'list', 'create' (title and metric_label; agents last), 'update' (bet_id), 'delete', 'reorder' (bet_ids) or 'place' (priority_ids). For direction: 'get', 'list', 'update' (document_text and reason), 'comment' (thread_id), or 'approve' and 'dismiss' (document_id and reason; a person's). For cut: 'publish', with release_number, channel and the live annsa.ai url. It marks the release's rows Shared and sends nothing. For view: 'list', 'create', 'update', 'delete', or 'keep' and 'dismiss' (a person's). | |
| url | No | For cut op=publish: the live changelog link. | |
| into | No | For merge: the priority that stays. | |
| rank | No | For a bet: its place in the list, 1 is top; the others move down. | |
| items | No | For regroup: the new group for each priority. | |
| label | No | What to call this session, up to 60 characters. Shown as who did it. | |
| picks | No | For pick: priorities in order, each with a line on why. | |
| quote | No | For direction op=comment: the line you're replying to. | |
| since | No | For cut: the start of the window the release covers. | |
| stage | No | For set_stage: open, ready or closed. | |
| title | No | For bet or view: its title. | |
| until | No | For cut: the end of that window. | |
| action | Yes | set_stage: Move a priority to open, ready or closed. assign: Set who a spec is assigned to. A person's action. correct: Fix a title, detail or ruled-out entry. The old wording is kept. park: Take a priority off the list, with a reason, until someone unparks it. A person's action. unpark: Put a parked priority back on the list. retract: Unfile feedback, or mark a shipped priority as not shipped. A person's action; without confirm it only shows the plan. regroup: Move priorities between groups; the reply carries the undo. merge: Fold duplicate priorities into one. Their numbers are retired for good. Shipped priorities can't be merged. bet: List, create, update, delete or reorder bets, or place priorities on one. op says which. direction: Read, list, update or comment on a Direction page. op says which. set_severity: Set a priority's severity, P0 to P3. From an agent it's a proposal and needs a reason; a person's typed severity wins. cut: Close a release and write its changelog. op=publish marks its rows Shared. pick: Set a person's short list of priorities, in order. approve_findings: Let through agent findings held back by the daily limit. The owner's action. view: Save a board view. An agent's is a suggestion until a person keeps or dismisses it. | |
| bet_id | No | For bet update, delete or place: which bet. | |
| bucket | No | For a bet: the group it counts toward, like Product or GTM. | |
| doc_id | No | Which Direction page; leave it out for the Overview. | |
| parent | No | The priority this one sits under. For bet op=place: the bet. | |
| person | No | The email or user id of the person whose words they are. | |
| reason | No | Why, in a line. Needed for retract, correct, merge and an agent's severity. | |
| recipe | No | For view: the annsa.priorities arguments the view runs. | |
| aim_pct | No | For a bet: how much of your effort it should get, 0 to 100. | |
| bet_ids | No | For bet reorder: every bet's id, best first. | |
| channel | No | For cut op=publish: changelog or marketing. | |
| comment | No | For direction op=comment: your words. | |
| confirm | No | For retract: true to do it. Without it the reply only shows what would change. | |
| spec_id | No | For assign and retract: the spec id. | |
| view_id | No | For view update or delete: which view, from view op=list. | |
| why_now | No | For a bet: why it matters now, in a line. | |
| evidence | No | For direction op=update: the evidence behind the change. | |
| original | No | For correct: the old category, or the ruled-out entry being replaced. | |
| question | No | For view: the question the saved view answers. | |
| severity | No | 0 broken, 1 poor, 2 could be better, 3 minor. From an agent it's a proposal until a person sets it. | |
| corrected | No | For correct: what it should say now. | |
| doc_title | No | The page title (kept if blank). | |
| thread_id | No | For direction op=comment: the thread to reply in. | |
| duplicates | No | For merge: the priorities being folded into `into`. | |
| assigned_to | No | Who gets it: an agent (like claude-code or codex) or a person's email. Empty unassigns. | |
| document_id | No | For direction approve or dismiss: which page. | |
| park_reason | No | For park: why, up to 500 characters. | |
| priority_id | No | The long id, instead of priority_number. | |
| allow_shared | No | For retract: true to retract even after customers were told. | |
| feedback_ids | No | For retract: the feedback rows to unfile. | |
| metric_label | No | For a new bet: what the measure is called. | |
| metric_query | No | For a computed bet: the name of Annsa's measure. | |
| metric_value | No | For a written bet: the number now. A person's. | |
| person_words | No | The person's exact words, not a summary. Recorded as their quote. | |
| priority_ids | No | For bet op=place or direction: the priorities. | |
| document_text | No | For direction update: the page text, at least 50 characters. | |
| metric_source | No | For a new bet: written (you type the number) or computed (Annsa measures it). | |
| owner_user_id | No | For bet update: the owner's user id; none clears it. | |
| expected_stage | No | For set_stage: only change it if the stage is still this: open, ready or closed. | |
| release_number | No | For cut op=publish: which release. | |
| correction_type | No | For correct: 'title', 'detail', 'ruled_out' or 'category'. 'category' is a person's; the old wording is kept. | |
| priority_number | No | The # number, e.g. 20 for #20. |
Output Schema
| Name | Required | Description |
|---|---|---|
| who | No | |
| record | No | |
| message | No | |
| success | No |
annsa_decideDestructiveInspect
Record what a person decided. A person uses it to answer a question an agent raised or sign off a priority. As an agent you can list principles, propose one, approve or dismiss a proposed spec change, or pass on a person's exact words with person_words. To ask a person something, use annsa.work escalate instead.
| Name | Required | Description | Default |
|---|---|---|---|
| op | No | For principle: 'list', 'propose' (an agent's), or 'write', 'retire' and 'activate' (a person's). | |
| area | No | For scope=area: the part of the product the rule covers. | |
| take | No | For sign with do_this: the option you chose, in a few words. | |
| text | No | For direct or ask_back: the words. | |
| label | No | What to call this session, up to 60 characters. Shown as who did it. | |
| scope | No | How far the decision reaches: priority, area (needs area) or company. area or company also writes a principle. | |
| title | No | For principle: the rule's title. | |
| topic | No | For principle: what the rule is about. | |
| action | Yes | approve: Accept another writer's proposed section text, by update_id. dismiss: Turn down a proposed section text; the current text stays. answer: Record a person's answer to the open ask on a priority. An agent passes on the person's exact words with person_words. Picking an option labelled Merge, Ship it, Park it or Retract the ship runs it; free text is only recorded. ask_back: A person asks the agent a question back on a priority. A person's action. direct: A person gives the agent holding a priority a direction; the agent reads it on its next reply. A person's action. choose: Record a person's pick on a Needs you question (send disagreement_id). One option, or neither. A person's action. sign: Record a person's decision on a priority (do_this, do_nothing, park or dismiss), with because. A person's action. principle: Your decision memory. Agents can list principles or propose one; a person writes, retires or reactivates them. A proposal applies at once. | |
| answer | No | For choose: the option picked, or neither. For principle: the answer behind the rule. | |
| option | No | For answer: the option's label. | |
| person | No | The email or user id of the person whose words they are. | |
| because | No | For sign: why, in a sentence. | |
| decision | No | For sign: do_this, do_nothing, park or dismiss. | |
| wrong_if | No | For sign: what would show the decision was wrong. | |
| principle | No | For principle: the rule, in a sentence. | |
| ruled_out | No | Options you ruled out, one per entry as 'option — why'. | |
| update_id | No | For approve or dismiss: the proposed change, from annsa.spec's updates. | |
| may_decide | No | For sign: what the agent may decide on its own from here. Needs answered_by. | |
| supersedes | No | For principle: the principle this replaces. | |
| answered_by | No | The person who decided, when you're passing on their words. | |
| priority_id | No | The long id, instead of priority_number. | |
| person_words | No | The person's exact words, not a summary. Recorded as their quote. | |
| principle_id | No | For principle retire or activate: which one, from principle op=list. | |
| falsifier_due | No | For sign: when to check wrong_if, like 2026-12-31. | |
| while_waiting | No | For sign: what the agent may keep doing until the answer comes. | |
| decision_until | No | For sign: when this decision expires, like 2026-12-31. | |
| must_come_back | No | For sign: what the agent has to bring back to a person. | |
| disagreement_id | No | For choose: the id of the Needs you question, from the Needs you list. | |
| priority_number | No | The # number, e.g. 20 for #20. | |
| review_condition | No | For sign: when to look at this decision again, in a sentence. |
Output Schema
| Name | Required | Description |
|---|---|---|
| who | No | |
| record | No | |
| message | No | |
| success | No |
annsa_fileInspect
Add something new to the board. Use it to file what a customer said, a bug or finding you found, or an idea. It attaches to the matching priority if there is one; add stand_alone to make a new priority instead. The reply tells you which priority it landed on. It doesn't change rows that already exist; that's annsa.board. To tell the Annsa team about Annsa itself, use report.
| Name | Required | Description | Default |
|---|---|---|---|
| bet | No | The bet a new priority goes on, by title or id; none if you leave it out. | |
| sku | No | For add_transcript: the plan or product the customer is on. | |
| from | No | Who said it: customer, team, agent, idea or roadmap. | |
| line | No | For submit from a scanner: the line number. | |
| path | No | For submit from a scanner: the file. | |
| rule | No | For submit from a scanner: the rule that fired. | |
| text | No | For report, add_template, connect_goal and add_transcript: the words. submit takes feedback. | |
| type | No | Which kind: bug, feature, improvement, praise or question. | |
| label | No | What to call this session, up to 60 characters. Shown as who did it. | |
| theme | No | The group it belongs to, one of the workspace's themes. | |
| title | No | For add_priority, add_page, add_template or report: the title. | |
| action | Yes | submit: File what a customer said or what you found. With priority_number it attaches to that priority; with stand_alone it starts a new one. report: Tell the Annsa team about a bug, gap or idea in Annsa itself. Send text; title names the tool and action. Keep your customers' data out of it. add_page: Make a page from a template, private to you. Returns the link. add_template: Save a template with a title, text and when to use it. {blanks} in the text become its fields. connect_goal: Answer the welcome's optional question about what you want from Annsa, up to 300 characters. Goes to the Annsa team, not your board. add_transcript: Add a call transcript as customer feedback. What the customer asked for is filed from it. A person's action. import_direction: Import a strategy doc in two steps. First preview its lines, then add the ones you pick as ideas. A person's action. add_priority: Add a priority from a title and detail, with no customer words. | |
| detail | No | For add_priority: the longer words of the row, up to 20000 characters. | |
| doc_id | No | Which Direction page. Leave it out for a new page, or the Overview. | |
| fields | No | For add_page: a value for each {blank} in the template. | |
| insist | No | For submit and add_priority: file it even if a matching priority exists. | |
| parent | No | The priority this one sits under. For bet op=place: the bet. | |
| reason | No | For add_priority: why you're filing it, in a line. | |
| source | No | Where the feedback came from, like intercom. Defaults to mcp. | mcp |
| verdict | No | For submit on a shipped priority: still_broken or fixed. false_positive doesn't close the row. | |
| feedback | No | For submit: what was said, word for word. | |
| severity | No | 0 broken, 1 poor, 2 could be better, 3 minor. From an agent it's a proposal until a person sets it. | |
| template | No | For add_page: the template's key, from annsa.ask about=templates. | |
| call_type | No | For add_transcript: interview, sales_call, support or other (the default). | |
| doc_title | No | The page's title. Kept if you send none. | |
| reference | No | A link someone can follow: a PR, URL or log line. A finding needs one. | |
| selection | No | For import_direction: which lines to add, by title. Leave it out to add all. | |
| with_spec | No | For submit and add_priority: also write a ready spec and return its spec_id. | |
| origin_ref | No | Where it came from, like a ticket or file:line. The same one again adds to the same row. | |
| root_cause | No | The cause in one line, shaped 'When ___, ___ can't ___ because ___'. Up to 300 characters. | |
| adjudicated | No | True if a person checked this scanner finding; raw scanner output is refused. | |
| priority_id | No | The long id, instead of priority_number. | |
| proposal_id | No | For import_direction: the id the preview returned, to add the lines you picked. | |
| stand_alone | No | For submit: start a new priority from this row. Not with priority_number. | |
| when_to_use | No | For add_template: when an agent should pick this template. | |
| revenue_band | No | What the customer pays: an amount like 499, or a tier word. | |
| customer_name | No | The customer who said it. | |
| document_text | No | For import_direction: the document, at least 50 characters. | |
| customer_email | No | Their email, if you have it. | |
| priority_number | No | The # number, e.g. 20 for #20. | |
| severity_reason | No | Why this severity, in a line. |
Output Schema
| Name | Required | Description |
|---|---|---|
| who | No | |
| record | No | |
| message | No | |
| success | No |
annsa_prioritiesRead-onlyInspect
Your ranked to-do list. Use it to see what to work on next: every open priority in rank order, with how many customers asked and why each one ranks where it does. Ask for one priority by its number to get just that row. For the full plan behind a priority, read annsa.spec. It doesn't search what customers said; that's annsa.ask.
| Name | Required | Description | Default |
|---|---|---|---|
| bet | No | Only priorities on this bet, by id. unplaced lists the ones no bet has yet. | |
| mine | No | Only the priorities you're working on. The reply also counts what needs you. | |
| type | No | Only this kind: bug, feature, improvement, praise or question. | |
| view | No | A saved view by name, or radar (what's rising, shipped and quiet) or brief. | |
| label | No | What to call this session, up to 60 characters. Shown as who did it. | |
| limit | No | How many to return. Defaults to 5, max 100. | |
| stage | No | open, ready, building, shipped, shared or closed. Leave it out for the ranked active priorities: open, ready and building. | |
| topic | No | A word or phrase to search for in priorities and their feedback. | |
| offset | No | How many priorities to skip, for the next page. | |
| person | No | A person's email. With picked, whose picked list. | |
| picked | No | Only the priorities a person picked; person says whose. | |
| weekly | No | A summary of the week instead of the list: what's rising, what shipped, what went quiet. | |
| window | No | How far back the radar looks: 7d, 14d or 30d. Defaults to 7d. | 7d |
| include | No | Extra lists to include, comma separated: agents, to_verify, in_build, unrated_filings or all. | |
| rank_by | No | Leave it out for the board's order, the same as the app. Or rank by volume, urgency, revenue, retention (unhappy customers), delight (praise) or feature (new-feature asks). | |
| segment | No | Customer size: all (default), enterprise or smb. | all |
| priority_id | No | The long id, instead of priority_number. | |
| include_parked | No | Include parked priorities too. | |
| release_number | No | Only the priorities in this release. | |
| priority_number | No | The # number, e.g. 20 for #20. |
Output Schema
| Name | Required | Description |
|---|---|---|
| who | No | |
| record | No | |
| message | No | |
| success | No |
annsa_specRead-onlyInspect
The plan for one priority. Use it before starting work: it gives you the Problem, What to build, and the Done When lines you'll have to prove. The reply carries build_id, the spec id (build_…) that verify and ship take as spec_id. Add include_evidence to see Evidence and direction, Files to touch and the customer quotes behind it. It doesn't list or rank priorities; that's annsa.priorities.
| Name | Required | Description | Default |
|---|---|---|---|
| batch | No | Export many specs at once, filtered by spec_ids, stage or since. | |
| label | No | What to call this session, up to 60 characters. Shown as who did it. | |
| limit | No | With batch: how many specs. Defaults to 10, max 50. | |
| since | No | A date like 2026-11-06, or 'last month'. | |
| stage | No | With batch: only specs at this stage: open, ready, building, shipped, shared or closed. | |
| until | No | A date like 2026-11-06. With since, the window. | |
| format | No | With batch: list (one line each, the default) or full (the whole spec). | |
| status | No | With batch: the spec's status: open, ready, building, shipped, shared, closed or done. Not the board stage; that's stage. | |
| include | No | One extra: repo_rules (the repo's agent files), decision (the Decision text), memory (related memory) or verification (the verify receipts). | |
| reached | No | With batch: only specs that reached staging, main or prod, newest first. | |
| spec_id | No | The spec id (build_…), instead of a priority. | |
| spec_ids | No | With batch: the specs to export (up to 50). | |
| investigate | No | Add an analysis of the problem from the feedback and history. | |
| priority_id | No | The long id, instead of priority_number. | |
| include_memory | No | Add related answers and what earlier work learned. | |
| include_history | No | Add notes from earlier work on related priorities. | |
| priority_number | No | The # number, e.g. 20 for #20. | |
| include_evidence | No | Add the Evidence and direction and Files to touch sections, and the customer quotes. | |
| include_feedback | No | With investigate: add customer quotes. | |
| include_direction | No | Add the opening of each Direction page that applies. | |
| include_principles | No | Add the full text of the principles that apply. |
Output Schema
| Name | Required | Description |
|---|---|---|
| who | No | |
| record | No | |
| message | No | |
| success | No |
annsa_workInspect
Do the work on a priority. Use it to claim a priority, write your part of the spec, leave notes, prove each Done When line with verify, and mark it shipped. claim gives you a spec_id for write, verify and ship, and a holder_key for write and ship. Ship only records that it shipped; it doesn't deploy anything. If you need a person to decide something, use escalate. It doesn't move, merge or re-rank priorities; that's annsa.board.
| Name | Required | Description | Default |
|---|---|---|---|
| ask | No | For escalate: the question you want the person to answer, in one line. | |
| how | No | For verify: how you checked the line: test, staging, prod or manual. | |
| into | No | For resolve move_row: the priority the row moves to. | |
| text | No | The note, or for write the whole new section, not just the change. | |
| label | No | What to call this session, up to 60 characters. Shown as who did it. | |
| model | No | For claim and ship: the model the agent runs on, like claude-opus-5-5. Shown beside its name. | |
| ships | No | For escalate: true when the ask is 'ship this PR'. Needs pr_url. | |
| topic | No | For escalate: what the ask is about, in a few words. | |
| where | No | For verify: a test id (path::test) or a URL that shows the check. | |
| action | Yes | ship: Mark the priority shipped. It only records it; nothing deploys. retract undoes it. claim: Take a priority to work on. Starts a spec if there isn't one and gives you spec_id and holder_key. note: Leave a note on the spec about what you did or found. To correct an earlier note, send a new one with supersedes. handoff: Pass the work to another agent or a person, with a note for them. dispatch: Post @claude on the priority's GitHub issue so Claude picks it up there. The person stays assigned. A person's action. unclaim: Unclaim a priority so another agent can pick it up. close: Close the priority in one call, even if it's claimed or has a PR. It stays under Closed with your reason. write: Replace one section of the spec with new text. If the section belongs to someone else, your text is saved as a proposed change for them. verify: Record how you checked one Done When line, by proof kind: a test id for (proof: test), a URL for staging or prod. It doesn't block ship. escalate: Ask a person to decide something; it lands in their Needs you. Send topic, ask, trigger, principle and checked. One open ask per priority; the same topic updates it. resolve: Settle a routine question, like 'is this a duplicate of #N?', the way your principles already decide it. Each outcome fits one kind of question. Returns use_id so you can undo. undo: Reverse your own resolve, by use_id. | |
| pr_url | No | The GitHub PR link. Its body carries 'Annsa-Spec: <spec id>'. | |
| reason | No | Why, in a line. Needed for takeover, close, unclaim, handoff, and a park or retract request. | |
| use_id | No | For undo: the id resolve gave you. | |
| checked | No | For escalate: what you checked before asking, as 'what — result'. | |
| learned | No | For ship or escalate: what the next agent should know. | |
| options | No | For escalate: the choices, as short labels. | |
| outcome | No | For resolve: keep_both (a merge ask), close_settled, dismiss_came_back or move_row (a stray row). Each fits one kind of ask. | |
| purpose | No | For escalate: decision (pick between options), help (needs a person's hand), gap (something missing) or update (just telling). | |
| request | No | For escalate: park or retract, to ask the person for one. Needs reason. | |
| section | No | For write: the_problem, evidence_and_direction, what_to_build, files_to_touch or done_when. For note: build, how_it_works or spec. | |
| spec_id | No | The spec id from claim, or build_id from annsa.spec. Required for verify. | |
| trigger | No | For escalate: why this needs a person: scope, customers, principle or options. Anything else is settled, not raised. | |
| verdict | No | For unclaim: false_positive marks the finding wrong. still_broken and fixed belong to annsa.file submit. | |
| security | No | For escalate: true if this is a security question. | |
| takeover | No | Claim or unclaim work someone else holds. Needs reason. Another session of your own counts as someone else. | |
| principle | No | For escalate: the rule that would let an agent settle this kind of question next time. | |
| recommend | No | For a decision: the option you would take. | |
| ruled_out | No | Options you ruled out, one per entry as 'option — why'. | |
| holder_key | No | From claim; send it on write and ship. | |
| supersedes | No | For note: the note this replaces. For principle: the principle this replaces. | |
| assigned_to | No | Who gets it: an agent (like claude-code or codex) or a person's email. Empty unassigns. | |
| next_action | No | For note or handoff: what should happen next on this priority. | |
| priority_id | No | The long id, instead of priority_number. | |
| feedback_ids | No | For resolve: the rows the ask is about. | |
| quiet_minutes | No | For note: how long you expect to be quiet, in minutes. | |
| include_memory | No | For claim: add related answers and what earlier work learned. | |
| done_when_index | No | For verify: which Done When line, counting from 1 as annsa.spec lists them. | |
| priority_number | No | The # number, e.g. 20 for #20. | |
| include_principles | No | For claim: add the full text of the principles that apply. | |
| same_as_priority_number | No | For escalate: the priority this looks like a duplicate of; a person decides the merge. |
Output Schema
| Name | Required | Description |
|---|---|---|
| who | No | |
| record | No | |
| message | No | |
| success | No |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
- Changed
annsa_ask11 fields changed- added
Input schema / properties / about / descriptionAdded value: +"Where to look: feedback (default), annsa (the docs), surveys, customer, accounts, templates or transcript." - changed
Input schema / properties / account / descriptionPrevious value: -"Narrows `customer` to one company"New value: +"With customer: which company, if the name matches more than one." - changed
Input schema / properties / customer / descriptionPrevious value: -"With about='customer': a name, email or id"New value: +"With about=customer: their name, email or id." - changed
Input schema / properties / do_we_have / descriptionPrevious value: -"The text you are about to file; returns the nearest priorities"New value: +"The text you're about to file. Returns the nearest priorities, each judged same, possibly or different." - changed
Input schema / properties / from / descriptionPrevious value: -"With do_we_have: a customer's words or an agent's finding"New value: +"With do_we_have: customer (a customer's words) or agent (an agent's finding)." - changed
Input schema / properties / have_version / descriptionPrevious value: -"The version of your saved copy of the file"New value: +"With skill: the version of the copy you already have, so you only get it if it changed." - added
Input schema / properties / page / descriptionAdded value: +"For a long transcript: which page, starting at 1." - added
Input schema / properties / question / descriptionAdded value: +"What you want to know, in a sentence." - changed
Input schema / properties / skill / descriptionPrevious value: -"Returns a skill file instead of an answer; no question needed"New value: +"Returns a skill file instead of an answer: working, spec-skill, decisions or welcome. No question needed." - changed
Input schema / properties / transcript / descriptionPrevious value: -"t12 or its id; long ones come in pages"New value: +"With about=transcript: which call, like t12 or its id. Long ones come in pages." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "message": { + "type": "string" + }, + "record": { + "type": "object" + }, + "success": { + "type": "boolean" + }, + "who": { + "type": "object" + } + }, + "type": "object" +}
- Changed
annsa_board47 fields changed- changed
Input schema / properties / action / descriptionPrevious value: -"set_stage: Sets the planning stage. correct: Fixes a title, detail or ruled-out entry, keeping the old version. retract: Unfiles feedback and marks a ship not shipped. regroup: Moves priorities between groups; the reply carries the undo. merge: Folds duplicates into `into`; their numbers are retired. Refuses shipped priorities. bet: Manages bets and places priorities on them. cut: Closes a release and writes its changelog. pick: Sets a person's short list. approve_findings: Lets through agent findings held back by the daily limit; the owner's. view: Saves a board view; an agent's is a suggestion."New value: +"set_stage: Move a priority to open, ready or closed. assign: Set who a spec is assigned to. A person's action. correct: Fix a title, detail or ruled-out entry. The old wording is kept. park: Take a priority off the list, with a reason, until someone unparks it. A person's action. unpark: Put a parked priority back on the list. retract: Unfile feedback, or mark a shipped priority as not shipped. A person's action; without confirm it only shows the plan. regroup: Move priorities between groups; the reply carries the undo. merge: Fold duplicate priorities into one. Their numbers are retired for good. Shipped priorities can't be merged. bet: List, create, update, delete or reorder bets, or place priorities on one. op says which. direction: Read, list, update or comment on a Direction page. op says which. set_severity: Set a priority's severity, P0 to P3. From an agent it's a proposal and needs a reason; a person's typed severity wins. cut: Close a release and write its changelog. op=publish marks its rows Shared. pick: Set a person's short list of priorities, in order. approve_findings: Let through agent findings held back by the daily limit. The owner's action. view: Save a board view. An agent's is a suggestion until a person keeps or dismisses it." - changed
Input schema / properties / aim_pct / descriptionPrevious value: -"How much of your effort this bet should get, 0 to 100."New value: +"For a bet: how much of your effort it should get, 0 to 100." - changed
Input schema / properties / allow_shared / descriptionPrevious value: -"Retract is refused once customers were told, unless true"New value: +"For retract: true to retract even after customers were told." - changed
Input schema / properties / assigned_to / descriptionPrevious value: -"An agent client or a member's email; empty unassigns"New value: +"Who gets it: an agent (like claude-code or codex) or a person's email. Empty unassigns." - added
Input schema / properties / at / descriptionAdded value: +"For cut: the release date." - added
Input schema / properties / bet_id / descriptionAdded value: +"For bet update, delete or place: which bet." - changed
Input schema / properties / bucket / descriptionPrevious value: -"The group this bet counts toward, like Product or GTM."New value: +"For a bet: the group it counts toward, like Product or GTM." - changed
Input schema / properties / channel / descriptionPrevious value: -"For cut op=publish."New value: +"For cut op=publish: changelog or marketing." - added
Input schema / properties / comment / descriptionAdded value: +"For direction op=comment: your words." - changed
Input schema / properties / confirm / descriptionPrevious value: -"Without it retract only shows the plan"New value: +"For retract: true to do it. Without it the reply only shows what would change." - changed
Input schema / properties / corrected / descriptionPrevious value: -"What it should say now."New value: +"For correct: what it should say now." - changed
Input schema / properties / correction_type / descriptionPrevious value: -"'category' is a person's; the old wording is kept"New value: +"For correct: 'title', 'detail', 'ruled_out' or 'category'. 'category' is a person's; the old wording is kept." - added
Input schema / properties / document_id / descriptionAdded value: +"For direction approve or dismiss: which page." - changed
Input schema / properties / document_text / descriptionPrevious value: -"At least 50 characters"New value: +"For direction update: the page text, at least 50 characters." - added
Input schema / properties / duplicates / descriptionAdded value: +"For merge: the priorities being folded into `into`." - added
Input schema / properties / evidence / descriptionAdded value: +"For direction op=update: the evidence behind the change." - changed
Input schema / properties / expected_stage / descriptionPrevious value: -"Only change it if the stage is still this."New value: +"For set_stage: only change it if the stage is still this: open, ready or closed." - added
Input schema / properties / feedback_ids / descriptionAdded value: +"For retract: the feedback rows to unfile." - added
Input schema / properties / into / descriptionAdded value: +"For merge: the priority that stays." - changed
Input schema / properties / items / descriptionPrevious value: -"For regroup: the new area for each priority."New value: +"For regroup: the new group for each priority." - added
Input schema / properties / label / descriptionAdded value: +"What to call this session, up to 60 characters. Shown as who did it." - added
Input schema / properties / metric_label / descriptionAdded value: +"For a new bet: what the measure is called." - changed
Input schema / properties / metric_value / descriptionPrevious value: -"For a written bet: the number now (a person's)."New value: +"For a written bet: the number now. A person's." - changed
Input schema / properties / op / descriptionPrevious value: -"For action 'bet': 'list', 'create' (title + metric_label; last for agents), 'update' (bet_id), 'delete', 'reorder', 'place' (priority_ids). For action 'direction': 'get', 'list', 'update' (document_text + reason), 'comment' (thread_id replies), 'approve' and 'dismiss' (document_id + reason; a person's). For action 'cut': publish takes release_number, channel and the live annsa.ai url; it marks the release's rows Shared and sends nothing. For action 'view': 'keep' and 'dismiss' are a person's."New value: +"For bet: 'list', 'create' (title and metric_label; agents last), 'update' (bet_id), 'delete', 'reorder' (bet_ids) or 'place' (priority_ids). For direction: 'get', 'list', 'update' (document_text and reason), 'comment' (thread_id), or 'approve' and 'dismiss' (document_id and reason; a person's). For cut: 'publish', with release_number, channel and the live annsa.ai url. It marks the release's rows Shared and sends nothing. For view: 'list', 'create', 'update', 'delete', or 'keep' and 'dismiss' (a person's)." - changed
Input schema / properties / original / descriptionPrevious value: -"For a category fix, the old category; for a ruled-out fix, the entry being replaced."New value: +"For correct: the old category, or the ruled-out entry being replaced." - changed
Input schema / properties / owner_user_id / descriptionPrevious value: -"'none' clears the owner"New value: +"For bet update: the owner's user id; none clears it." - added
Input schema / properties / parent / descriptionAdded value: +"The priority this one sits under. For bet op=place: the bet." - changed
Input schema / properties / park_reason / descriptionPrevious value: -"Why it's parked (required, up to 500 characters)."New value: +"For park: why, up to 500 characters." - changed
Input schema / properties / person / descriptionPrevious value: -"Email or user id of the member whose words they are"New value: +"The email or user id of the person whose words they are." - changed
Input schema / properties / person_words / descriptionPrevious value: -"The person's exact words, not a summary; recorded as their quote"New value: +"The person's exact words, not a summary. Recorded as their quote." - added
Input schema / properties / priority_ids / descriptionAdded value: +"For bet op=place or direction: the priorities." - added
Input schema / properties / question / descriptionAdded value: +"For view: the question the saved view answers." - added
Input schema / properties / quote / descriptionAdded value: +"For direction op=comment: the line you're replying to." - changed
Input schema / properties / reason / descriptionPrevious value: -"Required for takeover, release, retract, correct and an agent's severity"New value: +"Why, in a line. Needed for retract, correct, merge and an agent's severity." - changed
Input schema / properties / recipe / descriptionPrevious value: -"annsa.priorities args"New value: +"For view: the annsa.priorities arguments the view runs." - added
Input schema / properties / release_number / descriptionAdded value: +"For cut op=publish: which release." - changed
Input schema / properties / severity / descriptionPrevious value: -"0 broken, 1 poor, 2 could be better, 3 minor. From an agent: a proposal until a person types the P."New value: +"0 broken, 1 poor, 2 could be better, 3 minor. From an agent it's a proposal until a person sets it." - added
Input schema / properties / since / descriptionAdded value: +"For cut: the start of the window the release covers." - changed
Input schema / properties / spec_id / descriptionPrevious value: -"The spec id from claim or annsa.spec (build_…)."New value: +"For assign and retract: the spec id." - added
Input schema / properties / stage / descriptionAdded value: +"For set_stage: open, ready or closed." - added
Input schema / properties / thread_id / descriptionAdded value: +"For direction op=comment: the thread to reply in." - added
Input schema / properties / title / descriptionAdded value: +"For bet or view: its title." - added
Input schema / properties / until / descriptionAdded value: +"For cut: the end of that window." - added
Input schema / properties / url / descriptionAdded value: +"For cut op=publish: the live changelog link." - changed
Input schema / properties / view_id / descriptionPrevious value: -"The saved view to update or delete, from view op=list."New value: +"For view update or delete: which view, from view op=list." - changed
Input schema / properties / why_now / descriptionPrevious value: -"Why this bet matters now, in a line."New value: +"For a bet: why it matters now, in a line." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "message": { + "type": "string" + }, + "record": { + "type": "object" + }, + "success": { + "type": "boolean" + }, + "who": { + "type": "object" + } + }, + "type": "object" +}
- Changed
annsa_decide30 fields changed- changed
Input schema / properties / action / descriptionPrevious value: -"approve: Writes another writer's proposed section text. dismiss: Keeps the current section text. answer: Records a person's answer, typed or relayed with person_words; an option that names an act runs it. direct: A person steers the agent holding a priority; it reads the words on its next reply, once. choose: Records a person's pick on a Needs you question: one option, or neither. sign: Records a person's decision. principle: Decision memory; propose applies at once."New value: +"approve: Accept another writer's proposed section text, by update_id. dismiss: Turn down a proposed section text; the current text stays. answer: Record a person's answer to the open ask on a priority. An agent passes on the person's exact words with person_words. Picking an option labelled Merge, Ship it, Park it or Retract the ship runs it; free text is only recorded. ask_back: A person asks the agent a question back on a priority. A person's action. direct: A person gives the agent holding a priority a direction; the agent reads it on its next reply. A person's action. choose: Record a person's pick on a Needs you question (send disagreement_id). One option, or neither. A person's action. sign: Record a person's decision on a priority (do_this, do_nothing, park or dismiss), with because. A person's action. principle: Your decision memory. Agents can list principles or propose one; a person writes, retires or reactivates them. A proposal applies at once." - added
Input schema / properties / answer / descriptionAdded value: +"For choose: the option picked, or neither. For principle: the answer behind the rule." - added
Input schema / properties / answered_by / descriptionAdded value: +"The person who decided, when you're passing on their words." - added
Input schema / properties / area / descriptionAdded value: +"For scope=area: the part of the product the rule covers." - added
Input schema / properties / because / descriptionAdded value: +"For sign: why, in a sentence." - added
Input schema / properties / decision / descriptionAdded value: +"For sign: do_this, do_nothing, park or dismiss." - changed
Input schema / properties / decision_until / descriptionPrevious value: -"YYYY-MM-DD"New value: +"For sign: when this decision expires, like 2026-12-31." - changed
Input schema / properties / disagreement_id / descriptionPrevious value: -"The id of the Needs you question being answered, from the Needs you list."New value: +"For choose: the id of the Needs you question, from the Needs you list." - changed
Input schema / properties / falsifier_due / descriptionPrevious value: -"YYYY-MM-DD: when to check wrong_if"New value: +"For sign: when to check wrong_if, like 2026-12-31." - added
Input schema / properties / label / descriptionAdded value: +"What to call this session, up to 60 characters. Shown as who did it." - changed
Input schema / properties / may_decide / descriptionPrevious value: -"Needs answered_by"New value: +"For sign: what the agent may decide on its own from here. Needs answered_by." - added
Input schema / properties / must_come_back / descriptionAdded value: +"For sign: what the agent has to bring back to a person." - changed
Input schema / properties / op / descriptionPrevious value: -"For action 'principle': 'propose' (an agent's), 'write', 'retire', 'activate' (a person's), 'list'."New value: +"For principle: 'list', 'propose' (an agent's), or 'write', 'retire' and 'activate' (a person's)." - added
Input schema / properties / option / descriptionAdded value: +"For answer: the option's label." - changed
Input schema / properties / person / descriptionPrevious value: -"Email or user id of the member whose words they are"New value: +"The email or user id of the person whose words they are." - changed
Input schema / properties / person_words / descriptionPrevious value: -"The person's exact words, not a summary; recorded as their quote"New value: +"The person's exact words, not a summary. Recorded as their quote." - changed
Input schema / properties / principle / descriptionPrevious value: -"The rule that would settle this class next time"New value: +"For principle: the rule, in a sentence." - changed
Input schema / properties / principle_id / descriptionPrevious value: -"The principle to retire or activate, from principle op=list."New value: +"For principle retire or activate: which one, from principle op=list." - changed
Input schema / properties / review_condition / descriptionPrevious value: -"When to look at this decision again, in a sentence."New value: +"For sign: when to look at this decision again, in a sentence." - changed
Input schema / properties / ruled_out / descriptionPrevious value: -"One 'label — why' per entry"New value: +"Options you ruled out, one per entry as 'option — why'." - changed
Input schema / properties / scope / descriptionPrevious value: -"area needs `area`; area or company also writes a principle"New value: +"How far the decision reaches: priority, area (needs area) or company. area or company also writes a principle." - changed
Input schema / properties / supersedes / descriptionPrevious value: -"The note or principle this replaces."New value: +"For principle: the principle this replaces." - changed
Input schema / properties / take / descriptionPrevious value: -"For do_this: the option you chose, in a few words (up to 200 characters)."New value: +"For sign with do_this: the option you chose, in a few words." - added
Input schema / properties / text / descriptionAdded value: +"For direct or ask_back: the words." - added
Input schema / properties / title / descriptionAdded value: +"For principle: the rule's title." - added
Input schema / properties / topic / descriptionAdded value: +"For principle: what the rule is about." - changed
Input schema / properties / update_id / descriptionPrevious value: -"The proposed change to approve or dismiss, from annsa.spec's updates."New value: +"For approve or dismiss: the proposed change, from annsa.spec's updates." - changed
Input schema / properties / while_waiting / descriptionPrevious value: -"What the agent may keep doing until the answer comes."New value: +"For sign: what the agent may keep doing until the answer comes." - added
Input schema / properties / wrong_if / descriptionAdded value: +"For sign: what would show the decision was wrong." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "message": { + "type": "string" + }, + "record": { + "type": "object" + }, + "success": { + "type": "boolean" + }, + "who": { + "type": "object" + } + }, + "type": "object" +}
- Changed
annsa_file38 fields changed- changed
Input schema / properties / action / descriptionPrevious value: -"submit: Adds one feedback row; an agent's is a finding. With priority_number it attaches there; with stand_alone it proposes a new priority. report: Tell the Annsa team about a bug, gap or idea in Annsa. Needs `text`; `title` names the tool and action. The Annsa team reads it, so keep your customers' data out. add_page: Makes a page from a template, private to you; returns its link. add_template: Saves a template (title, text, when_to_use), private to you; {blanks} are its fields. connect_goal: Answer the welcome's optional question: what the person wants from Annsa, up to 300 characters. Goes to the Annsa team, not your board. import_direction: Two steps: preview a strategy doc's lines, then add the ones you pick as ideas. add_priority: Adds a priority from a title and detail, with no customer words."New value: +"submit: File what a customer said or what you found. With priority_number it attaches to that priority; with stand_alone it starts a new one. report: Tell the Annsa team about a bug, gap or idea in Annsa itself. Send text; title names the tool and action. Keep your customers' data out of it. add_page: Make a page from a template, private to you. Returns the link. add_template: Save a template with a title, text and when to use it. {blanks} in the text become its fields. connect_goal: Answer the welcome's optional question about what you want from Annsa, up to 300 characters. Goes to the Annsa team, not your board. add_transcript: Add a call transcript as customer feedback. What the customer asked for is filed from it. A person's action. import_direction: Import a strategy doc in two steps. First preview its lines, then add the ones you pick as ideas. A person's action. add_priority: Add a priority from a title and detail, with no customer words." - changed
Input schema / properties / adjudicated / descriptionPrevious value: -"Raw scanner output is refused unless someone checked it"New value: +"True if a person checked this scanner finding; raw scanner output is refused." - changed
Input schema / properties / call_type / descriptionPrevious value: -"For add_transcript (default other)."New value: +"For add_transcript: interview, sales_call, support or other (the default)." - added
Input schema / properties / customer_email / descriptionAdded value: +"Their email, if you have it." - added
Input schema / properties / customer_name / descriptionAdded value: +"The customer who said it." - changed
Input schema / properties / detail / descriptionPrevious value: -"The longer words of the row, up to 20000 characters"New value: +"For add_priority: the longer words of the row, up to 20000 characters." - changed
Input schema / properties / doc_id / descriptionPrevious value: -"The Direction page to save into; leave it out for a new page."New value: +"Which Direction page. Leave it out for a new page, or the Overview." - changed
Input schema / properties / doc_title / descriptionPrevious value: -"The page's title (kept if you send none)."New value: +"The page's title. Kept if you send none." - changed
Input schema / properties / document_text / descriptionPrevious value: -"At least 50 characters"New value: +"For import_direction: the document, at least 50 characters." - changed
Input schema / properties / feedback / descriptionPrevious value: -"The words, verbatim"New value: +"For submit: what was said, word for word." - added
Input schema / properties / fields / descriptionAdded value: +"For add_page: a value for each {blank} in the template." - changed
Input schema / properties / from / descriptionPrevious value: -"Who said it"New value: +"Who said it: customer, team, agent, idea or roadmap." - changed
Input schema / properties / insist / descriptionPrevious value: -"Files it without the check for a matching priority."New value: +"For submit and add_priority: file it even if a matching priority exists." - added
Input schema / properties / label / descriptionAdded value: +"What to call this session, up to 60 characters. Shown as who did it." - added
Input schema / properties / line / descriptionAdded value: +"For submit from a scanner: the line number." - changed
Input schema / properties / origin_ref / descriptionPrevious value: -"Where it came from, like a ticket or file:line; the same one again adds to the same row."New value: +"Where it came from, like a ticket or file:line. The same one again adds to the same row." - added
Input schema / properties / parent / descriptionAdded value: +"The priority this one sits under. For bet op=place: the bet." - added
Input schema / properties / path / descriptionAdded value: +"For submit from a scanner: the file." - changed
Input schema / properties / proposal_id / descriptionPrevious value: -"For import_direction: the id phase 1 returned, to land phase 2"New value: +"For import_direction: the id the preview returned, to add the lines you picked." - changed
Input schema / properties / reason / descriptionPrevious value: -"Required for takeover, release, retract, correct and an agent's severity"New value: +"For add_priority: why you're filing it, in a line." - changed
Input schema / properties / reference / descriptionPrevious value: -"A followable link (PR, URL, log line); findings need one"New value: +"A link someone can follow: a PR, URL or log line. A finding needs one." - changed
Input schema / properties / revenue_band / descriptionPrevious value: -"An amount ('499') or a tier word"New value: +"What the customer pays: an amount like 499, or a tier word." - changed
Input schema / properties / root_cause / descriptionPrevious value: -"When ___, ___ can't ___ because ___; sent on the submit. Max 300 characters"New value: +"The cause in one line, shaped 'When ___, ___ can't ___ because ___'. Up to 300 characters." - added
Input schema / properties / rule / descriptionAdded value: +"For submit from a scanner: the rule that fired." - changed
Input schema / properties / selection / descriptionPrevious value: -"Titles to land in phase 2; omitted lands all"New value: +"For import_direction: which lines to add, by title. Leave it out to add all." - changed
Input schema / properties / severity / descriptionPrevious value: -"0 broken, 1 poor, 2 could be better, 3 minor. From an agent: a proposal until a person types the P."New value: +"0 broken, 1 poor, 2 could be better, 3 minor. From an agent it's a proposal until a person sets it." - changed
Input schema / properties / severity_reason / descriptionPrevious value: -"Why this P; sent on the submit with severity"New value: +"Why this severity, in a line." - changed
Input schema / properties / source / descriptionPrevious value: -"Where the feedback came from, like intercom."New value: +"Where the feedback came from, like intercom. Defaults to mcp." - changed
Input schema / properties / stand_alone / descriptionPrevious value: -"Makes a new priority from this row; not with priority_number."New value: +"For submit: start a new priority from this row. Not with priority_number." - added
Input schema / properties / template / descriptionAdded value: +"For add_page: the template's key, from annsa.ask about=templates." - added
Input schema / properties / text / descriptionAdded value: +"For report, add_template, connect_goal and add_transcript: the words. submit takes feedback." - changed
Input schema / properties / theme / descriptionPrevious value: -"One of the workspace's themes"New value: +"The group it belongs to, one of the workspace's themes." - added
Input schema / properties / title / descriptionAdded value: +"For add_priority, add_page, add_template or report: the title." - changed
Input schema / properties / type / descriptionPrevious value: -"What kind of row it is."New value: +"Which kind: bug, feature, improvement, praise or question." - changed
Input schema / properties / verdict / descriptionPrevious value: -"On a shipped priority: still_broken or fixed. On release, false_positive does NOT close the row."New value: +"For submit on a shipped priority: still_broken or fixed. false_positive doesn't close the row." - added
Input schema / properties / when_to_use / descriptionAdded value: +"For add_template: when an agent should pick this template." - changed
Input schema / properties / with_spec / descriptionPrevious value: -"Also writes a ready spec and returns its spec_id."New value: +"For submit and add_priority: also write a ready spec and return its spec_id." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "message": { + "type": "string" + }, + "record": { + "type": "object" + }, + "success": { + "type": "boolean" + }, + "who": { + "type": "object" + } + }, + "type": "object" +}
- Changed
annsa_priorities19 fields changed- changed
Input schema / properties / bet / descriptionPrevious value: -"A bet id, or 'unplaced' for the proposal inbox"New value: +"Only priorities on this bet, by id. unplaced lists the ones no bet has yet." - changed
Input schema / properties / include / descriptionPrevious value: -"Long lists, comma separated: agents, to_verify, in_build, unrated_filings or all."New value: +"Extra lists to include, comma separated: agents, to_verify, in_build, unrated_filings or all." - added
Input schema / properties / include_parked / descriptionAdded value: +"Include parked priorities too." - added
Input schema / properties / label / descriptionAdded value: +"What to call this session, up to 60 characters. Shown as who did it." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max 100"New value: +"How many to return. Defaults to 5, max 100." - changed
Input schema / properties / mine / descriptionPrevious value: -"Only the priorities you hold; the reply carries `needs_me`."New value: +"Only the priorities you're working on. The reply also counts what needs you." - added
Input schema / properties / person / descriptionAdded value: +"A person's email. With picked, whose picked list." - changed
Input schema / properties / picked / descriptionPrevious value: -"A person's picked list; `person` says whose"New value: +"Only the priorities a person picked; person says whose." - removed
Input schema / properties / rank_by / defaultRemoved value: -"volume" - changed
Input schema / properties / rank_by / descriptionPrevious value: -"retention is unhappy customers, delight is praise, feature is new-feature asks."New value: +"Leave it out for the board's order, the same as the app. Or rank by volume, urgency, revenue, retention (unhappy customers), delight (praise) or feature (new-feature asks)." - added
Input schema / properties / release_number / descriptionAdded value: +"Only the priorities in this release." - changed
Input schema / properties / segment / descriptionPrevious value: -"enterprise or smb"New value: +"Customer size: all (default), enterprise or smb." - changed
Input schema / properties / stage / descriptionPrevious value: -"Default: the ranked active priorities (open, ready, building)."New value: +"open, ready, building, shipped, shared or closed. Leave it out for the ranked active priorities: open, ready and building." - changed
Input schema / properties / topic / descriptionPrevious value: -"Matches a priority's wording and its feedback"New value: +"A word or phrase to search for in priorities and their feedback." - added
Input schema / properties / type / descriptionAdded value: +"Only this kind: bug, feature, improvement, praise or question." - changed
Input schema / properties / view / descriptionPrevious value: -"radar, brief or a saved view"New value: +"A saved view by name, or radar (what's rising, shipped and quiet) or brief." - added
Input schema / properties / weekly / descriptionAdded value: +"A summary of the week instead of the list: what's rising, what shipped, what went quiet." - changed
Input schema / properties / window / descriptionPrevious value: -"How far back the radar looks."New value: +"How far back the radar looks: 7d, 14d or 30d. Defaults to 7d." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "message": { + "type": "string" + }, + "record": { + "type": "object" + }, + "success": { + "type": "boolean" + }, + "who": { + "type": "object" + } + }, + "type": "object" +}
- Changed
annsa_share6 fields changed- changed
Input schema / properties / action / descriptionPrevious value: -"share: Emails or notifies the customers who asked that it shipped. An email cannot be unsent."New value: +"share: Email or notify the customers who asked that it shipped. An email cannot be unsent." - changed
Input schema / properties / channel / descriptionPrevious value: -"Who to tell: widget is in the app; both is the default; skip tells nobody."New value: +"Who to tell: email, widget (in the app), both (the default) or skip (nobody)." - added
Input schema / properties / label / descriptionAdded value: +"What to call this session, up to 60 characters. Shown as who did it." - changed
Input schema / properties / message / descriptionPrevious value: -"Your own words, instead of the default note."New value: +"For share: your own words, instead of the default note." - changed
Input schema / properties / spec_id / descriptionPrevious value: -"The spec id from claim or annsa.spec (build_…)."New value: +"The shipped spec, by id." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "message": { + "type": "string" + }, + "record": { + "type": "object" + }, + "success": { + "type": "boolean" + }, + "who": { + "type": "object" + } + }, + "type": "object" +}
- Changed
annsa_spec16 fields changed- added
Input schema / properties / batch / descriptionAdded value: +"Export many specs at once, filtered by spec_ids, stage or since." - changed
Input schema / properties / format / descriptionPrevious value: -"With batch: list is one line each; full is the whole spec."New value: +"With batch: list (one line each, the default) or full (the whole spec)." - changed
Input schema / properties / include / descriptionPrevious value: -"repo_rules adds the repo's agent files."New value: +"One extra: repo_rules (the repo's agent files), decision (the Decision text), memory (related memory) or verification (the verify receipts)." - changed
Input schema / properties / include_direction / descriptionPrevious value: -"Direction first screens"New value: +"Add the opening of each Direction page that applies." - changed
Input schema / properties / include_evidence / descriptionPrevious value: -"Adds Evidence and direction, Files to touch and the quotes"New value: +"Add the Evidence and direction and Files to touch sections, and the customer quotes." - added
Input schema / properties / include_memory / descriptionAdded value: +"Add related answers and what earlier work learned." - changed
Input schema / properties / include_principles / descriptionPrevious value: -"The rules in full"New value: +"Add the full text of the principles that apply." - added
Input schema / properties / investigate / descriptionAdded value: +"Add an analysis of the problem from the feedback and history." - added
Input schema / properties / label / descriptionAdded value: +"What to call this session, up to 60 characters. Shown as who did it." - changed
Input schema / properties / limit / descriptionPrevious value: -"Max 50"New value: +"With batch: how many specs. Defaults to 10, max 50." - added
Input schema / properties / reachedAdded value: +{ + "description": "With batch: only specs that reached staging, main or prod, newest first.", + "enum": [ + "staging", + "main", + "prod" + ], + "type": "string" +} - changed
Input schema / properties / since / descriptionPrevious value: -"ISO date or 'last month'"New value: +"A date like 2026-11-06, or 'last month'." - changed
Input schema / properties / stage / descriptionPrevious value: -"With batch: only specs at this stage."New value: +"With batch: only specs at this stage: open, ready, building, shipped, shared or closed." - added
Input schema / properties / status / descriptionAdded value: +"With batch: the spec's status: open, ready, building, shipped, shared, closed or done. Not the board stage; that's stage." - added
Input schema / properties / until / descriptionAdded value: +"A date like 2026-11-06. With since, the window." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "message": { + "type": "string" + }, + "record": { + "type": "object" + }, + "success": { + "type": "boolean" + }, + "who": { + "type": "object" + } + }, + "type": "object" +}
- Changed
annsa_work36 fields changed- changed
Input schema / properties / action / descriptionPrevious value: -"ship: Records completion and deploys nothing; retract undoes it. claim: Claims the priority, starts a short spec and returns holder_key. note: Appends a note; a correction is a new note with supersedes. dispatch: Posts @claude on the priority's linked GitHub issue; the person stays assigned. unclaim: Puts the work down; nothing is marked shipped. close: Closes a priority in one call, claim or PR and all; it stays under Closed. write: Replaces one spec section as a new version; text for a section that is not yours is recorded as an update. verify: Records how a line was checked, by proof kind. No ship gate. escalate: Raises a three-line ask in a person's Needs you; decides nothing. Needs `checked`: a fact you can check is not asked. One open ask per priority; the same topic updates it. resolve: Answers a routine ask the way your principles already decide it; returns use_id for undo. undo: Puts back your own resolve by use_id."New value: +"ship: Mark the priority shipped. It only records it; nothing deploys. retract undoes it. claim: Take a priority to work on. Starts a spec if there isn't one and gives you spec_id and holder_key. note: Leave a note on the spec about what you did or found. To correct an earlier note, send a new one with supersedes. handoff: Pass the work to another agent or a person, with a note for them. dispatch: Post @claude on the priority's GitHub issue so Claude picks it up there. The person stays assigned. A person's action. unclaim: Unclaim a priority so another agent can pick it up. close: Close the priority in one call, even if it's claimed or has a PR. It stays under Closed with your reason. write: Replace one section of the spec with new text. If the section belongs to someone else, your text is saved as a proposed change for them. verify: Record how you checked one Done When line, by proof kind: a test id for (proof: test), a URL for staging or prod. It doesn't block ship. escalate: Ask a person to decide something; it lands in their Needs you. Send topic, ask, trigger, principle and checked. One open ask per priority; the same topic updates it. resolve: Settle a routine question, like 'is this a duplicate of #N?', the way your principles already decide it. Each outcome fits one kind of question. Returns use_id so you can undo. undo: Reverse your own resolve, by use_id." - added
Input schema / properties / ask / descriptionAdded value: +"For escalate: the question you want the person to answer, in one line." - changed
Input schema / properties / assigned_to / descriptionPrevious value: -"An agent client or a member's email; empty unassigns"New value: +"Who gets it: an agent (like claude-code or codex) or a person's email. Empty unassigns." - changed
Input schema / properties / checked / descriptionPrevious value: -"What you checked before asking, as \"what — result\"."New value: +"For escalate: what you checked before asking, as 'what — result'." - changed
Input schema / properties / done_when_index / descriptionPrevious value: -"Which Done When line, counting from 1 as annsa.spec does."New value: +"For verify: which Done When line, counting from 1 as annsa.spec lists them." - added
Input schema / properties / feedback_ids / descriptionAdded value: +"For resolve: the rows the ask is about." - added
Input schema / properties / how / descriptionAdded value: +"For verify: how you checked the line: test, staging, prod or manual." - changed
Input schema / properties / include_memory / descriptionPrevious value: -"claim: adds related_answers, learned"New value: +"For claim: add related answers and what earlier work learned." - changed
Input schema / properties / include_principles / descriptionPrevious value: -"claim: the rules in full"New value: +"For claim: add the full text of the principles that apply." - added
Input schema / properties / into / descriptionAdded value: +"For resolve move_row: the priority the row moves to." - added
Input schema / properties / label / descriptionAdded value: +"What to call this session, up to 60 characters. Shown as who did it." - added
Input schema / properties / learned / descriptionAdded value: +"For ship or escalate: what the next agent should know." - added
Input schema / properties / modelAdded value: +{ + "description": "For claim and ship: the model the agent runs on, like claude-opus-5-5. Shown beside its name.", + "type": "string" +} - changed
Input schema / properties / next_action / descriptionPrevious value: -"What should happen next on this priority."New value: +"For note or handoff: what should happen next on this priority." - changed
Input schema / properties / options / descriptionPrevious value: -"Short labels, for a decision"New value: +"For escalate: the choices, as short labels." - added
Input schema / properties / outcome / descriptionAdded value: +"For resolve: keep_both (a merge ask), close_settled, dismiss_came_back or move_row (a stray row). Each fits one kind of ask." - changed
Input schema / properties / pr_url / descriptionPrevious value: -"GitHub PR URL; body has 'Annsa-Spec: <spec id>'"New value: +"The GitHub PR link. Its body carries 'Annsa-Spec: <spec id>'." - changed
Input schema / properties / principle / descriptionPrevious value: -"The rule that would settle this class next time"New value: +"For escalate: the rule that would let an agent settle this kind of question next time." - changed
Input schema / properties / purpose / descriptionPrevious value: -"For escalate: decision picks between options, help needs a person's hand, gap is something missing, update is just telling."New value: +"For escalate: decision (pick between options), help (needs a person's hand), gap (something missing) or update (just telling)." - changed
Input schema / properties / quiet_minutes / descriptionPrevious value: -"On a note: how long you expect to be quiet, in minutes."New value: +"For note: how long you expect to be quiet, in minutes." - changed
Input schema / properties / reason / descriptionPrevious value: -"Required for takeover, release, retract, correct and an agent's severity"New value: +"Why, in a line. Needed for takeover, close, unclaim, handoff, and a park or retract request." - changed
Input schema / properties / request / descriptionPrevious value: -"Needs reason; a person decides."New value: +"For escalate: park or retract, to ask the person for one. Needs reason." - changed
Input schema / properties / ruled_out / descriptionPrevious value: -"One 'label — why' per entry"New value: +"Options you ruled out, one per entry as 'option — why'." - changed
Input schema / properties / same_as_priority_number / descriptionPrevious value: -"Proposes a merge for a person to answer"New value: +"For escalate: the priority this looks like a duplicate of; a person decides the merge." - changed
Input schema / properties / section / descriptionPrevious value: -"The spec section: the_problem, evidence_and_direction, what_to_build, files_to_touch or done_when. On a note: build, how_it_works or spec."New value: +"For write: the_problem, evidence_and_direction, what_to_build, files_to_touch or done_when. For note: build, how_it_works or spec." - changed
Input schema / properties / security / descriptionPrevious value: -"True for a security question"New value: +"For escalate: true if this is a security question." - changed
Input schema / properties / ships / descriptionPrevious value: -"True when the ask is \"ship this PR\"; needs pr_url."New value: +"For escalate: true when the ask is 'ship this PR'. Needs pr_url." - changed
Input schema / properties / spec_id / descriptionPrevious value: -"The spec id from claim or annsa.spec (build_…). Required for verify."New value: +"The spec id from claim, or build_id from annsa.spec. Required for verify." - changed
Input schema / properties / supersedes / descriptionPrevious value: -"The note or principle this replaces."New value: +"For note: the note this replaces. For principle: the principle this replaces." - changed
Input schema / properties / takeover / descriptionPrevious value: -"Another session of your own client counts as someone else; needs a reason"New value: +"Claim or unclaim work someone else holds. Needs reason. Another session of your own counts as someone else." - added
Input schema / properties / topic / descriptionAdded value: +"For escalate: what the ask is about, in a few words." - changed
Input schema / properties / trigger / descriptionPrevious value: -"Anything else is settled, not raised."New value: +"For escalate: why this needs a person: scope, customers, principle or options. Anything else is settled, not raised." - added
Input schema / properties / use_id / descriptionAdded value: +"For undo: the id resolve gave you." - changed
Input schema / properties / verdict / descriptionPrevious value: -"On a shipped priority: still_broken or fixed. On release, false_positive does NOT close the row."New value: +"For unclaim: false_positive marks the finding wrong. still_broken and fixed belong to annsa.file submit." - changed
Input schema / properties / where / descriptionPrevious value: -"A test id (path::test) or a URL that shows the check."New value: +"For verify: a test id (path::test) or a URL that shows the check." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "message": { + "type": "string" + }, + "record": { + "type": "object" + }, + "success": { + "type": "boolean" + }, + "who": { + "type": "object" + } + }, + "type": "object" +}
8 tool updates
- First observed
annsa_ask - First observed
annsa_board - First observed
annsa_decide - First observed
annsa_file - First observed
annsa_priorities - First observed
annsa_share - First observed
annsa_spec - First observed
annsa_work
Publisher details
- Operator
- Annsa (Circuit Software Pty Ltd) · Publisher source
- Operator website
- https://annsa.ai · Publisher source
- Vendor relationship
- First-party · Publisher source
- Documentation
- https://annsa.ai/docs/using-with-coding-tools · Publisher source
- Trust center
- https://annsa.ai/security · Publisher source
- Restrictions
- Requires an Annsa account (public sign-up at annsa.ai). Sign-in is OAuth. Free trial, then paid plans per person per month. No admin approval or regional limits. · Publisher source
Related MCP Connectors
Project management for teams and their AI agents.
Project management for AI agents: tasks, docs, decisions and time in one shared team context.
One project plan that you, your team and each of your AIs read and write.
Many agents. One Chief. Plan, track, and manage all your AI agents in one place.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceLightweight project management for teams and AI agents.-
- AlicenseNot gradedqualityBmaintenanceHelps AI agents decompose goals into costed execution plans, checkpoint progress with deviation tracking, and learn from past project data.31 npmMIT
- AlicenseNot gradedqualityCmaintenanceGives AI coding agents native tools to pull their next prioritized, unblocked task with a full briefing (description, acceptance criteria, context files, conventions), comment and tick off criteria with evidence, ask the human decision-maker questions, and submit structured handoffs for review. It lets agents plan epics and sprints, report checks, create new tasks, and release work with checkpoints — all against a self-hosted board rather than files in the repo.6 npm1MIT
- AlicenseBqualityDmaintenanceEnables AI agents and humans to collaboratively plan and manage tasks with a shared kanban and dependency graph, all stored locally.319 npm82MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.