Showboat docs

MCP tool reference

The Showboat MCP server is at https://showboat.show/api/mcp (Streamable HTTP, OAuth sign-in). This page lists every tool and resource it offers, generated from the server itself.

Each tool states four hints. Read-only: it changes nothing. Destructive: it can remove or overwrite something. Idempotent: repeating the same call changes nothing more. Open world: it reaches people outside Showboat, such as by sending an email.

list_projects List Projects

List the Projects you can see in the connected Workspace, with each project_id. Archived Projects are left out unless include_archived is true; those rows carry archived: true.

Read-only
Yes
Destructive
No
Idempotent
Yes
Open world
No
ParameterTypeRequiredDescription
include_archivedbooleanOptional

create_project Create a Project

Create a Project in the connected Workspace and return it with its project_id, ready for mint_ingest_key. Give it a name; the slug (lowercase letters, digits and dashes, fixed once created) is made from the name unless you pass one. Calling it again with the same slug makes nothing new: it returns the existing Project with created: false (without its name, and with a note, when it was made earlier through this tool and no Team sees it yet), and an archived Project with that slug is not brought back. The new Project starts with no Team access: Workspace Owners, and any Team that sees every Project, see it, and an Owner grants Team access in Showboat. Needs the provision permission.

Read-only
No
Destructive
No
Idempotent
Yes
Open world
No
ParameterTypeRequiredDescription
namenon-empty stringRequired
slugnon-empty stringOptional

list_shows List Shows

List the Shows in a Project, with each Show's key, number of Takes and latest Take.

Read-only
Yes
Destructive
No
Idempotent
Yes
Open world
No
ParameterTypeRequiredDescription
project_idstringRequired

show_status Show Status

Get a Show's status: how many Takes it has, when the latest one was captured, and how many Comments are open. For a Member, it also lists the Show's Citations (linked tickets, specs and design files) with who added each, and the Citations a Member has hidden. Returns exists: false when nothing was captured under that show key. A change made a moment ago can take a few seconds to show here.

Read-only
Yes
Destructive
No
Idempotent
Yes
Open world
No
ParameterTypeRequiredDescription
project_idstringRequired
show_keystringRequired

list_sketches List Sketches

List a Project's Sketches (design explorations the team votes on), with each Sketch's key, title, open or decided status, and what it follows on from.

Read-only
Yes
Destructive
No
Idempotent
Yes
Open world
No
ParameterTypeRequiredDescription
project_idstringRequired

sketch_status Sketch Status

Get a Sketch's decision: for each Facet, the Directions with their vote counts, the current leader, and the Winner once a Member has declared one. status is "decided" when every Facet has a Winner. Returns not_found when nothing was pushed under that sketch key. A change made a moment ago can take a few seconds to show here.

Read-only
Yes
Destructive
No
Idempotent
Yes
Open world
No
ParameterTypeRequiredDescription
project_idstringRequired
sketch_keystringRequired

remove_show Remove Show

Remove a Show (Workspace Owner only). It disappears from the viewer, lists and status; its history is kept, and a new capture under the same show key brings it back. Requires confirm: true; without it the call is refused and nothing changes.

Read-only
No
Destructive
Yes
Idempotent
No
Open world
No
ParameterTypeRequiredDescription
project_idstringRequired
show_keystringRequired
confirmbooleanOptional

add_citation Add Citation

Link a Ticket, Spec or Design file to a Show (Members only): kind is "ticket", "spec" or "design-file", with an https URL and an optional title. Citations are visible to Members only, never to Guests or share-link visitors. Re-adding one a Member removed shows it again; changed is false when it was already linked. Needs the admin permission.

Read-only
No
Destructive
No
Idempotent
Yes
Open world
No
ParameterTypeRequiredDescription
project_idstringRequired
show_keystringRequired
kind"ticket" | "spec" | "design-file"Required
urlstringRequired
titlestringOptional

remove_citation Remove Citation

Remove a Citation from a Show by kind and URL (Members only). Any URL for the same item matches. Each Citation records who added it (see show_status). A Citation that arrives with each capture stays hidden on later captures once removed. changed is false when it wasn't on the Show. Needs the admin permission.

Read-only
No
Destructive
Yes
Idempotent
No
Open world
No
ParameterTypeRequiredDescription
project_idstringRequired
show_keystringRequired
kind"ticket" | "spec" | "design-file"Required
urlstringRequired

pull_open_comments Pull Open Comments

List what is still open on a Show, a Parity or a Sketch. With show_key: the Show's open Comments. With parity_key: the Parity's open Findings and the replies on them, including any the team marked as disputed. With sketch_key: the Sketch's open Comments, each with the Direction it is about (or none, for the Sketch-level thread) and whether that Direction was re-pushed since. Pass exactly one of the three. A change made a moment ago can take a few seconds to show here.

Read-only
Yes
Destructive
No
Idempotent
Yes
Open world
No
ParameterTypeRequiredDescription
project_idstringRequired
show_keystringOptional
parity_keystringOptional
sketch_keystringOptional

mint_ingest_key Mint Ingest Key

Create an ingest key for a Project: the credential used to push captures to it. The key is returned once (only a hash is stored). A label naming who holds it, such as the capturing repository, is required. Needs the provision permission.

Read-only
No
Destructive
No
Idempotent
No
Open world
No
ParameterTypeRequiredDescription
project_idstringRequired
labelnon-empty stringRequired

list_ingest_keys List Ingest Keys

List a Project's active ingest keys: labels and metadata only, never the keys themselves. Needs the provision permission.

Read-only
Yes
Destructive
No
Idempotent
Yes
Open world
No
ParameterTypeRequiredDescription
project_idstringRequired

revoke_ingest_key Revoke Ingest Key

Revoke one of a Project's ingest keys by id, for example to rotate it or after a leak. Pushes with that key are refused from then on. Needs the provision permission.

Read-only
No
Destructive
Yes
Idempotent
No
Open world
No
ParameterTypeRequiredDescription
project_idstringRequired
key_idstringRequired

whoami Who Am I

Show which Account this connection acts as (id and email) and the permissions it holds. Fails once that Account no longer has a seat in the Workspace.

Read-only
Yes
Destructive
No
Idempotent
Yes
Open world
No

No parameters.

list_teams List Teams

List the Teams in the connected Workspace, with each team_id, its name and the Projects it can see.

Read-only
Yes
Destructive
No
Idempotent
Yes
Open world
No

No parameters.

create_team Create a Team

Create a Team in the connected Workspace and return its team_id, ready for invite_member. The Team sees exactly the Projects in project_ids (from list_projects), or none yet when you pass none; it never sees every Project. Calling it with the name of a Team that already exists makes nothing new: it returns that Team as it is, with created: false and its own Projects, because an existing Team is never changed. Workspace Owner only; needs the admin permission.

Read-only
No
Destructive
No
Idempotent
Yes
Open world
No
ParameterTypeRequiredDescription
namenon-empty stringRequired
project_idsarray of stringOptional

list_members List Members

List the connected Workspace's roster: every Member and Guest, including invites not yet accepted (status active or invited). Each row has the account email and how the person was invited (never a person's identity), their role, and their Teams (Members) or Projects (Guests). Optional filters: team_id, project_id, role, status.

Read-only
Yes
Destructive
No
Idempotent
Yes
Open world
No
ParameterTypeRequiredDescription
team_idstringOptional
project_idstringOptional
role"owner" | "member" | "guest"Optional
status"active" | "invited" | "all"Optional

get_member Get Member

Look up one email in the connected Workspace's roster: returns its row (an active seat or a pending invite), or { exists: false }.

Read-only
Yes
Destructive
No
Idempotent
Yes
Open world
No
ParameterTypeRequiredDescription
emailstringRequired

invite_member Invite Member or Guest

Invite someone by email to the connected Workspace: as a Member on one or more Teams (role "member" with team_ids) or as a Guest on one or more Projects (role "guest" with project_ids). They receive an email, and the invite applies when they next sign in. Inviting an email that already has a pending invite replaces that invite: its earlier link stops working and the new role and access apply. Needs the admin permission.

Read-only
No
Destructive
No
Idempotent
No
Open world
Yes
ParameterTypeRequiredDescription
emailstringRequired
role"member" | "guest"Required
team_idsarray of stringOptional
project_idsarray of stringOptional

update_member Update Member

Set which Teams an active Member belongs to, by account_id (from list_members). team_ids is the complete list: any Team left out loses that Member. Changes Teams only, not roles or a Guest's Projects. Workspace Owner only; needs the admin permission.

Read-only
No
Destructive
Yes
Idempotent
Yes
Open world
No
ParameterTypeRequiredDescription
account_idstringRequired
team_idsarray of stringRequired

remove_member Remove Member

Remove an active Member or Guest from the connected Workspace by account_id (from list_members). The Owner can't be removed; a pending invite is cancelled with revoke_invite instead. Workspace Owner only; needs the admin permission.

Read-only
No
Destructive
Yes
Idempotent
No
Open world
No
ParameterTypeRequiredDescription
account_idstringRequired

revoke_invite Revoke Invite

Cancel a pending invite by email. People who already joined are removed with remove_member instead. Needs the admin permission.

Read-only
No
Destructive
Yes
Idempotent
No
Open world
No
ParameterTypeRequiredDescription
emailstringRequired

resend_invite Resend Invite

Send a pending invite's email again with a fresh link; the earlier link stops working. The invite's role and access stay the same. Needs the admin permission.

Read-only
No
Destructive
No
Idempotent
No
Open world
Yes
ParameterTypeRequiredDescription
emailstringRequired

rename_project Rename Project

Rename a Project. Only the display name changes: the slug and project_id stay, so ingest keys and links keep working. Returns the updated Project. Workspace Owner only; needs the admin permission.

Read-only
No
Destructive
No
Idempotent
No
Open world
No
ParameterTypeRequiredDescription
project_idstringRequired
namenon-empty stringRequired

archive_project Archive Project

Archive a Project. It disappears for everyone, its viewer links stop working, and pushes with its ingest key are refused (the key itself is not revoked). It stays archived until restore_project brings it back. Workspace Owner only; needs the admin permission.

Read-only
No
Destructive
Yes
Idempotent
Yes
Open world
No
ParameterTypeRequiredDescription
project_idstringRequired

restore_project Restore Project

Restore an archived Project exactly as it was (Shows, Takes, Comments, what clients can see, Guest access) and accept pushes with its ingest key again. list_projects with include_archived finds archived ones. Workspace Owner only; needs the admin permission.

Read-only
No
Destructive
No
Idempotent
Yes
Open world
No
ParameterTypeRequiredDescription
project_idstringRequired

list_proposed_stories List Proposed Stories

List the connected Workspace's proposed Stories: client-facing updates not yet in a Newsreel, either drafted from a capture or written with create_story. Each includes its wording and, when drafted from a capture, the Show and deploy it describes (internal details, never shown to clients). A change made a moment ago can take a few seconds to show here.

Read-only
Yes
Destructive
No
Idempotent
Yes
Open world
No

No parameters.

list_newsreels List Newsreels

List the connected Workspace's Newsreels (client-facing feeds of product updates), with each one's id, title, public link, draft or published status, and Story ids. A change made a moment ago can take a few seconds to show here.

Read-only
Yes
Destructive
No
Idempotent
Yes
Open world
No

No parameters.

create_newsreel Create Newsreel

Create a client-facing Newsreel, optionally adding proposed Stories to it straight away. Returns its id and its unguessable public slug. Needs the admin permission.

Read-only
No
Destructive
No
Idempotent
No
Open world
No
ParameterTypeRequiredDescription
titlenon-empty stringRequired
story_idsarray of stringOptional

route_story Route Story into Newsreel

Add a proposed Story to a Newsreel; it leaves the proposed-Story list. Needs the admin permission.

Read-only
No
Destructive
No
Idempotent
No
Open world
No
ParameterTypeRequiredDescription
newsreel_idstringRequired
story_idstringRequired

publish_story Publish Story

Publish a Story on a Newsreel's public feed, where anyone with the Newsreel's link can read it (newest first). Publishes the Story's current client-facing wording, never its internal details. Needs the admin permission.

Read-only
No
Destructive
No
Idempotent
No
Open world
No
ParameterTypeRequiredDescription
newsreel_idstringRequired
story_idstringRequired

unpublish_story Unpublish Story

Take a Story off a Newsreel's public feed. Needs the admin permission.

Read-only
No
Destructive
Yes
Idempotent
No
Open world
No
ParameterTypeRequiredDescription
newsreel_idstringRequired
story_idstringRequired

create_story Author Story

Write a client-facing Story from scratch, not tied to a capture. It joins the proposed-Story list, ready to add to a Newsreel and publish. Needs the admin permission.

Read-only
No
Destructive
No
Idempotent
No
Open world
No
ParameterTypeRequiredDescription
headlinenon-empty stringRequired
bodystringOptional

edit_story Edit Story copy

Change a Story's client-facing headline and body. If the Story is published, its public feed shows the new wording. The Story's internal details never change. Needs the admin permission.

Read-only
No
Destructive
Yes
Idempotent
No
Open world
No
ParameterTypeRequiredDescription
story_idstringRequired
headlinenon-empty stringRequired
bodystringOptional

reorder_stories Reorder Newsreel Stories

Set the order of a Newsreel's Stories on its public feed. Pass every one of its Story ids exactly once, in the new order. Needs the admin permission.

Read-only
No
Destructive
No
Idempotent
No
Open world
No
ParameterTypeRequiredDescription
newsreel_idstringRequired
ordered_story_idsarray of stringRequired

Resources

showboat://capture-contract Capture contract

How to push to Showboat over HTTP (Takes, Sketches, Parities and proposed Stories) and how to read the tools' answers.

Format: text/markdown