Skip to content

MCP Tools Reference

WarmHub exposes a full MCP tool catalog for organizations, repositories, shapes, things, assertions, commits, workspaces, subscriptions, and actions. In repo-scoped mode, orgName/repoName are omitted from all tool schemas. In global mode, they’re required on repo-level tools.

These tools are only available in global mode.

ToolDescription
warmhub_org_listList organizations (archived hidden by default).
warmhub_org_getGet an organization by name.
warmhub_org_set_descriptionSet or clear an organization description.
warmhub_org_archiveArchive an organization.
warmhub_org_unarchiveUnarchive an organization.
ParamTypeRequiredDescription
includeArchivedbooleannoInclude archived organizations in results
ParamTypeRequiredDescription
orgNamestringyesOrganization name
ParamTypeRequiredDescription
orgNamestringyesOrganization name
descriptionstringnoNew org description. Trimmed; empty strings clear the value; max 2000 characters.
ParamTypeRequiredDescription
orgNamestringyesOrganization name

Archived organizations block new repo creation and member additions.

ParamTypeRequiredDescription
orgNamestringyesOrganization name
ToolDescription
warmhub_repo_createCreate a new repository in an organization. (global only)
warmhub_repo_listList repositories in an organization with per-repo totalItems count (archived hidden by default). (global only)
warmhub_repo_getGet repository metadata by org/repo.
warmhub_repo_describeDescribe repository schema, shape descriptions, field types, and summary stats for agent bootstrapping.
warmhub_repo_set_descriptionSet or clear a repository description.
warmhub_repo_archiveArchive a repository.
warmhub_repo_unarchiveUnarchive a repository.
ParamTypeRequiredDescription
orgNamestringyesOrganization name
repoNamestringyesRepository name
descriptionstringnoRepository description
visibilitystringno"public" or "private". Defaults to "private".

Returns the created repo object (same shape as warmhub_repo_get). Only available on the global MCP endpoint.

ParamTypeRequiredDescription
orgNamestringyesOrganization name
includeArchivedbooleannoInclude archived repositories in results
ParamTypeRequiredDescription
orgNamestringyesOrganization name
repoNamestringyesRepository name
descriptionstringnoNew repo description. Trimmed; empty strings clear the value; max 2000 characters.
ParamTypeRequiredDescription
orgNamestringyesOrganization name
repoNamestringyesRepository name

Archived repositories reject new commits.

ParamTypeRequiredDescription
orgNamestringyesOrganization name
repoNamestringyesRepository name

The most important tool for agent bootstrapping. Returns:

  • Repository metadata
  • Shape definitions with field types and optional shape-level description
  • Per-field descriptions inlined into each field entry. Fields without descriptions appear as bare type strings (e.g. "string"); fields with descriptions appear as { "type": "number", "description": "Horizontal position" }. Descriptions are extracted from typed field objects.
  • Summary counts (shapeCount, subscriptionCount, totalCount)
  • lastCommit — the most recent commit (author, message, operation count, timestamp), or null for empty repos
  • Counts by kind and by shape
  • Sample wrefs from the repo
  • Wref syntax reference
  • Commit contract (add/revise variants, inline collection syntax, rules, about semantics)
  • Write examples generated from actual repo shapes

Call this first when connecting to a repo.

ToolDescription
warmhub_thing_headGet active HEAD snapshot for broad repo orientation.
warmhub_thing_getGet a thing by wref and optional version.
warmhub_thing_get_manyFetch many things by wref in one call.
warmhub_thing_historyGet thing history by wref or by shape/about filters.
warmhub_thing_aboutGet assertions about a thing.
warmhub_thing_queryGeneral targeted query by shape/about/kind filters.
warmhub_thing_searchSearch for things by text, vector, or hybrid search.
warmhub_thing_refsGet backlinks (inbound) or cross-references (outbound) for a thing.
warmhub_wref_resolveResolve a wref to its canonical thing identity.
ParamTypeRequiredDescription
shapestringnoFilter by shape name
kindstringnoFilter by kind
matchstringnoGlob pattern to filter wrefs (* = one segment, ** = zero or more)
countbooleannoReturn count of matching items instead of the full result list
limitintegernoMax items (minimum 1)
cursorstringnoPagination cursor from previous response
workspaceNamestringnows — Scope query to a workspace overlay
ParamTypeRequiredDescription
wrefstringyesWarmHub reference
versionintegernoSpecific version number
workspaceNamestringnows — Scope query to a workspace overlay
ParamTypeRequiredDescription
wrefsstring[]yesArray of wrefs (non-empty)
versionintegernoPin all lookups to this version

Missing wrefs are returned in a missing array.

ParamTypeRequiredDescription
wrefstringnoThing wref
shapestringnoFilter by shape
aboutstringnoFilter by about target
resolveCollectionsbooleannoWhen about is set, also include assertions about collections containing the target
includeInactivebooleannoAllow resolving deactivated shape or about targets (does not filter results)
limitintegernoMax versions to return
cursorstringnoPagination cursor from previous response
workspaceNamestringnows — Scope query to a workspace overlay

At least one of wref, shape, or about is required.

ParamTypeRequiredDescription
wrefstringyesTarget thing wref
shapestringnoFilter assertions by shape
matchstringnoGlob pattern to filter assertion wrefs
resolveCollectionsbooleannoInclude assertions about collections containing the target thing
includeInactivebooleannoInclude deactivated assertions
depthintegernoRecursive assertion depth
limitintegernoMax assertions to return
cursorstringnoPagination cursor from previous response
workspaceNamestringnows — Scope query to a workspace overlay
ParamTypeRequiredDescription
shapestringnoFilter by shape
aboutstringnoFilter by about target
kindstringnoFilter by kind
matchstringnoGlob pattern to filter wrefs
countbooleannoReturn count of matching items instead of the full result list
resolveCollectionsbooleannoWhen about is set, also include assertions about collections containing the target
includeInactivebooleannoInclude deactivated entities
limitintegernoMax results
cursorstringnoPagination cursor from previous response
workspaceNamestringnows — Scope query to a workspace overlay
ParamTypeRequiredDescription
querystringyesSearch query text
shapestringnoFilter by shape name
kindstringnoFilter by kind
aboutstringnoFilter by about target (not supported with vector mode)
resolveCollectionsbooleannoWhen about is set, also include assertions about collections containing the target (text mode only)
modestringno"text" (default), "vector", or "hybrid"
includeInactivebooleannoInclude deactivated entities
limitintegernoMax results
cursorstringnoPagination cursor from previous response (text mode only — vector and hybrid reject cursor). When about or resolveCollections is set, pages may be sparse — paginate until nextCursor is absent.
workspaceNamestringnows — Scope query to a workspace overlay
ParamTypeRequiredDescription
wrefstringyesWarmHub reference
directionstringno"inbound" (default) or "outbound"
fieldPathstringnoFilter by field path (inbound only)
limitintegernoMax results
cursorstringnoPagination cursor from previous response
workspaceNamestringnows — Scope query to a workspace overlay

Direction "inbound" returns things that reference the target wref. Direction "outbound" returns things the target wref references.

ParamTypeRequiredDescription
wrefstringyesWarmHub reference to resolve
ToolDescription
warmhub_commit_applyExecute a write commit with operations.
warmhub_commit_logGet commit log for a repository.
ParamTypeRequiredDescription
authorstringyesCommit author tag
messagestringnoCommit message
operationsarrayyesOperations array (non-empty)
workspaceNamestringnows — Target workspace. When set, the commit is written to the workspace instead of baseline.

Operation variants:

  • ADD shape: { operation: "add", kind: "shape", name, data }
  • ADD thing: { operation: "add", kind: "thing", name, data }
  • ADD assertion: { operation: "add", kind: "assertion", name, about, data }
  • ADD collection: { operation: "add", kind: "collection", type, members, name? }
  • REVISE shape/thing/assertion: { operation: "revise", kind, name, data, active? }
  • REVISE collection: { operation: "revise", kind: "collection", name, active? }

Token rules: $N allocates in the last segment of add-operation names. #N references prior allocations in the same commit. Write path rejects @ALL.

ParamTypeRequiredDescription
limitintegernoMax commits to return
cursorstringnoPagination cursor from previous response
authorstringnoFilter by author
sincestring/numbernoISO datetime or unix timestamp
untilstring/numbernoISO datetime or unix timestamp
ToolDescription
warmhub_shape_listList shapes in a repository.
warmhub_shape_getGet a shape by name.
ParamTypeRequiredDescription
shapeNamestringyesShape name

These tools manage the workspace lifecycle — create isolated workspaces, make changes, then publish as changesets for review and acceptance.

ToolDescription
warmhub_workspace_createCreate a new workspace in a repository.
warmhub_workspace_listList workspaces in a repository.
warmhub_workspace_getGet workspace details by name.
warmhub_workspace_deleteDelete (abandon) a workspace.
warmhub_workspace_statusGet workspace status including diff summary and conflict detection.
warmhub_workspace_validateValidate a workspace — check for conflicts with the baseline.
warmhub_workspace_rebaseRebase a workspace onto the latest baseline.
warmhub_workspace_revertRevert workspace changes to a baseline thing.
warmhub_workspace_discardDiscard a workspace-added thing.
warmhub_workspace_publishPublish a workspace as a changeset for review.
warmhub_workspace_acceptAccept a workspace changeset, merging into baseline.
warmhub_workspace_rejectReject a workspace changeset.
warmhub_workspace_withdrawWithdraw a workspace changeset, reopening the workspace.
warmhub_workspace_reviewGet operation-by-operation review of a workspace changeset.
ParamTypeRequiredDescription
namestringyesWorkspace name (lowercase alphanumeric with hyphens, max 64 chars)
descriptionstringnoWorkspace description
ParamTypeRequiredDescription
statusstringnoFilter: "open", "published", "abandoned", or "permanent"
includeDefaultbooleannoInclude the default workspace in results
ParamTypeRequiredDescription
workspaceNamestringyesWorkspace name
ParamTypeRequiredDescription
workspaceNamestringyesWorkspace name
ParamTypeRequiredDescription
workspaceNamestringyesWorkspace name

Returns workspace metadata, change summary (added/revised/deactivated things), conflict status, and changeset number if published.

ParamTypeRequiredDescription
workspaceNamestringyesWorkspace name

For open workspaces, validates against the baseline. For published workspaces, validates the changeset against current HEAD.

ParamTypeRequiredDescription
workspaceNamestringyesWorkspace name

Advances the workspace’s baseline to current repo HEAD and re-runs conflict detection.

ParamTypeRequiredDescription
workspaceNamestringyesWorkspace name
wrefstringyesThe wref to revert (restores baseline state)
ParamTypeRequiredDescription
workspaceNamestringyesWorkspace name
wrefstringyesThe wref to discard (removes workspace-added thing)
ParamTypeRequiredDescription
workspaceNamestringyesWorkspace name
messagestringyesChangeset message describing the proposed changes
rationalestringnoRationale for the changeset

Publishing validates the workspace, computes the diff, creates a numbered changeset, and locks the workspace.

ParamTypeRequiredDescription
workspaceNamestringyesWorkspace name

Resolves the workspace to its open changeset, re-validates, then replays operations into baseline.

ParamTypeRequiredDescription
workspaceNamestringyesWorkspace name
reasonstringnoReason for rejecting

Rejects the changeset and reopens the workspace for further iteration.

ParamTypeRequiredDescription
workspaceNamestringyesWorkspace name

Author-only. Withdraws the changeset and reopens the workspace.

ParamTypeRequiredDescription
workspaceNamestringyesWorkspace name

Returns the changeset details with operation-by-operation breakdown: verb (ADD/REVISE/DELETE), name, shape, kind, data, and deactivation status.

See Subscriptions for concepts and Creating Subscriptions for setup guides with filter and credential examples.

ToolDescription
warmhub_subscription_listList subscriptions in a repository.
warmhub_subscription_getGet subscription metadata by name. Includes actionContainer, actionContainerConfig, and tokenScopes for subscriptions executed by sprite when present.
warmhub_subscription_createCreate a subscription that triggers actions on matching commits.
warmhub_subscription_updateUpdate an existing subscription’s trigger or executor config.
warmhub_subscription_pausePause an active subscription.
warmhub_subscription_resumeResume a paused subscription.
warmhub_subscription_deleteDelete a subscription.
ParamTypeRequiredDescription
namestringyesSubscription name

For subscriptions executed by sprite, the response includes:

Response FieldTypeDescription
actionContainerstring?Derived action container name
actionContainerConfigobject?Action container configuration (command, githubRepo, ref, inputMode)
tokenScopesobject[]?Configured token scopes for sprite-minted WarmHub tokens, when present
ParamTypeRequiredDescription
namestringyesSubscription name
kindstringyes"webhook", "sprite", or "cron"
shapeNamestringnoShape to subscribe to (required for webhook/sprite, not needed for cron)
filterJsonobjectnoFilter object for matching commit operations (required for webhook/sprite, not needed for cron)
webhookUrlstringnoWebhook endpoint URL (required when kind is "webhook")
spriteConfigobjectnoSprite executor configuration (required when kind is "sprite"). Supports tokenTtlMinutes (number, 5-60) to configure WarmHub token TTL; defaults to 10 minutes.
cronConfigobjectnoCron configuration with cronspec and optional timezone (required when kind is "cron")
executorKindstringnoExecutor type for cron subscriptions: "webhook" or "sprite"
tokenScopesobject[]noOptional token scopes for WarmHub tokens minted by sprite executors. Must be a non-empty array when provided. Each entry includes permissions: string[] and optional allowedMatches: string[], and a permission may appear in only one entry across the full array. Ignored for webhook subscriptions; honored for cron subscriptions when executorKind is "sprite".
ParamTypeRequiredDescription
namestringyesExisting subscription name
shapeNamestringnoReplacement shape for webhook/sprite subscriptions
filterJsonobjectnoReplacement filter object
webhookUrlstringnoReplacement webhook URL
spriteConfigobjectnoSprite config patch; provided keys merge into the existing config
cronConfigobjectnoCron config patch; provided keys merge into the existing config
executorKindstringnoReplacement cron executor kind ("webhook" or "sprite")
allowTraceReentrybooleannoReplacement reentry policy for commit-triggered subscriptions
workspacePolicystringnoReplacement workspace commit policy ("ignore" or "include")

warmhub_subscription_pause / warmhub_subscription_resume / warmhub_subscription_delete

Section titled “warmhub_subscription_pause / warmhub_subscription_resume / warmhub_subscription_delete”
ParamTypeRequiredDescription
namestringyesSubscription name
ToolDescription
warmhub_action_livefeedGet delivery feed for a subscription. Includes run status, attempt count, error details, and action container name.
warmhub_action_runsList action runs in a repository.
warmhub_action_attemptsGet attempt history for a specific action run.
warmhub_action_notificationsList action failure notifications (terminal delivery-failure records).
ParamTypeRequiredDescription
subscriptionNamestringyesSubscription name
cursorstringnoPagination cursor from previous response
limitintegernoMax items

Each item in the response includes delivery fields plus optional run diagnostics:

Response FieldTypeDescription
runStatusstring?Run outcome: succeeded, failed_terminal, dead_letter, etc.
attemptCountnumber?Current attempt number
maxAttemptsnumber?Maximum attempts allowed (5)
lastErrorCodestring?Error classification code (e.g. SPRITE_EXIT_NONZERO)
lastErrorMessagestring?Human-readable error description
actionContainerstring?Derived action container name (for sprite subscriptions)
ParamTypeRequiredDescription
statusstringnoFilter by status: pending, running, retry_wait, succeeded, failed_terminal, dead_letter
sincestringnoISO datetime or unix timestamp
limitintegernoMax results
ParamTypeRequiredDescription
subscriptionNamestringyesSubscription name
commitIdstringyesCommit identifier (16-char hex string)
ParamTypeRequiredDescription
sincestringnoISO datetime or unix timestamp
limitintegernoMax results

Returns repo-scoped terminal failure notification records for action deliveries. This is distinct from the web app’s cross-repo user notification feed.