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
| Parameter | Type | Required | Description |
|---|---|---|---|
include_archived | boolean | Optional |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
name | non-empty string | Required | |
slug | non-empty string | Optional |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Required |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Required | |
show_key | string | Required |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Required |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Required | |
sketch_key | string | Required |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Required | |
show_key | string | Required | |
confirm | boolean | Optional |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Required | |
show_key | string | Required | |
kind | "ticket" | "spec" | "design-file" | Required | |
url | string | Required | |
title | string | Optional |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Required | |
show_key | string | Required | |
kind | "ticket" | "spec" | "design-file" | Required | |
url | string | Required |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Required | |
show_key | string | Optional | |
parity_key | string | Optional | |
sketch_key | string | Optional |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Required | |
label | non-empty string | Required |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Required |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Required | |
key_id | string | Required |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
name | non-empty string | Required | |
project_ids | array of string | Optional |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
team_id | string | Optional | |
project_id | string | Optional | |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
email | string | Required |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
email | string | Required | |
role | "member" | "guest" | Required | |
team_ids | array of string | Optional | |
project_ids | array of string | Optional |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
account_id | string | Required | |
team_ids | array of string | Required |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
account_id | string | Required |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
email | string | Required |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
email | string | Required |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Required | |
name | non-empty string | Required |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Required |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
project_id | string | Required |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
title | non-empty string | Required | |
story_ids | array of string | Optional |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
newsreel_id | string | Required | |
story_id | string | Required |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
newsreel_id | string | Required | |
story_id | string | Required |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
newsreel_id | string | Required | |
story_id | string | Required |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
headline | non-empty string | Required | |
body | string | Optional |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
story_id | string | Required | |
headline | non-empty string | Required | |
body | string | Optional |
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
| Parameter | Type | Required | Description |
|---|---|---|---|
newsreel_id | string | Required | |
ordered_story_ids | array of string | Required |
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