Developer Docs

MCP Tool Catalog

Generated catalogue of willaOS MCP tools.

Generated from app/api/mcp/route.ts by scripts/generate-public-api-docs.mjs.

ToolDescription
apply_figma_asana_syncApply a Figma-to-Asana sync plan through server-side Asana credentials. Requires write permission and explicit apply mode.
approve_email_approval_requestApprove a pending email approval request. Resend-backed requests are sent immediately after approval.
calendar.list_eventsList aggregated admin calendar events using the same filters as GET /api/calendar.
calendar.list_resourcing_weekList weekly resourcing calendar lanes and per-day allocations with the same date, client, project, team member, and timezone filters as GET /api/calendar.
calendar.update_event_timeMove or resize an editable admin calendar event. Supports project milestones, shoot days, and selected meeting proposal slots. Uses expected_version like X-Version.
commit_scheduling_changeCommit a Google Calendar event reschedule and refresh willaOS scheduling projection metadata.
create_meeting_proposalCreate a Willa meeting availability proposal and suggest slots from connected internal Google Calendars
discover_skillsDiscover Willa automation workflow skills by intent without exposing local paths, secrets, private prompts, or install content
get_asana_statusGet Asana task summary for a project
get_clientGet a full client record by ID plus its list of projects
get_email_approval_requestGet one email approval request, including recipients, body, classification, status, and SLA timestamps.
get_figma_asana_sync_statusGet Figma-to-Asana sync readiness for a project, including linked Figma files and cached Asana graph status
get_figma_comment_mirrorGet the latest paired client/internal Figma comment mirror state for a project, including newest comments and mirror operation keys
get_figma_section_ledgerGet one Figma section-ledger bundle, including check-in/check-out events and per-user seen state
get_meeting_proposalGet one meeting availability proposal with proposed slots and internal attendees
get_milestonesGet upcoming milestones across all projects, sorted by date
get_projectGet a full project record by ID
get_project_content_schemaGet a Light CMS content schema detail with pages, sections, slots, current entry values, and validation state
get_project_economicsGet the Harvest-backed project economics roll-up, including budget lines, actuals, profitability, and time-entry cache status
get_project_fieldGet a specific field from a project record
get_project_readiness_rollupGet the cross-system project readiness rollup and pre-launch audit checklist for a project
get_project_readiness_sopRead the Mila readiness SOP runtime state for a project, including checklist summary, missing inputs, adapter capabilities, and pending staged writes
get_project_shotGet one studio shot-list item for a project, including references, props, and version metadata
get_project_sitemapGet the current or SOW baseline sitemap for a project, including pages and external page mappings
get_project_sitemap_reconciliationShow matched, unmatched, conflicting, and orphaned external mappings for the current project sitemap
get_project_taste_profileGet the compact client taste profile for a project, including quiz answers and competitor/reference signals
get_project_timelineGet normalized project timeline batches and sprints for a project
get_project_workstreamsGet first-class per-workstream status, blocked reason, and rollup summary for a project
get_qa_extension_configGet the versioned QA extension page contract by project ID or storefront/domain URL
get_resource_calendarGet the internal scheduling resource calendar for a date range. Returns Willa resources, Google-backed calendar events, shoots, conflicts, and the FullCalendar Premium fallback status.
get_shoot_floor_planGet a shoot-day 2D floor plan, sidebar inventory, and clone source metadata
get_skill_bundleGet one active installable Willa Skill Library bundle, including content files/fragments and deterministic checksum metadata
get_skill_discoveryGet safe discovery metadata for one Willa automation workflow skill
list_clientsList all non-archived Willa Creative clients. Returns summaries with these fields only: id, name, brand_name, phase, team_pm, archived_at, project_count. team_pm is a best-effort runtime lookup and may be null; it is not a persisted field on the client record. For the full client record (contacts, platform_links, brand_tokens, portal config, etc.) call get_client.
list_email_approval_requestsList client-facing email approval requests, optionally filtered by client, project, status, source, and limit.
list_figma_section_ledgersList Figma section-ledger records for a project, optionally filtered by file key or section node ID
list_meeting_proposalsList Willa meeting availability proposals, optionally filtered by client, project, status, and limit
list_project_content_schemasList Light CMS content schemas for a project, newest first, with schema metadata and missing source messages
list_project_document_vendor_lifecycleList project documents with Google Signatures and QuickBooks lifecycle refs, status snapshots, external links, last sync time, and sync errors
list_project_media_assetsList the project media asset library, including lifecycle counts, source links, current versions, replacement history, and readiness blockers
list_project_pagesList canonical sitemap pages for a project with page status, scope status, mapping coverage, and owner references
list_project_qa_itemsList canonical QA items captured for a project from manual entry, video QA, QA extension, Asana, Figma, or GitHub
list_project_shotsList studio shot-list scenes for a project, including references, prop readiness, and linked shoot-day schedule usage
list_projectsList non-archived projects, optionally filtered by client_id. Returns summaries with these fields only: id, client_id, name, engagement_type, phase, team_pm, next_milestone, archived_at. team_pm and next_milestone are best-effort runtime values and may be null. For the full project record (deal, team, dates, platform_links, readiness_gate, content_production, etc.) call get_project.
list_shoot_day_planGet a shoot-day schedule plan with blocks and linked studio shot-list details
list_skillsList active installable Willa Skill Library bundles with stable slug, kind, version, checksum, scope, and update metadata
meeting_transcript.ingestIngest a plaintext meeting transcript into willaOS documents and structured meeting transcript records.
plan_figma_asana_syncBuild a dry-run Figma-to-Asana sync plan for page mappings, section subtasks, dependencies, and board placement
preview_scheduling_changePreview conflicts for a proposed Google Calendar event move before committing it.
reject_email_approval_requestReject a pending email approval request with a required reason.
save_shoot_floor_planSave a shoot-day 2D floor plan. Uses expected_version like X-Version.
search_project_scopeSearch project scope includes/excludes, legacy scope notes, first-class scope decisions, and current sitemap pages
search_project_sitemapSearch the canonical current project sitemap, scope decisions, and QA items for a page or feature
search_scopeCheck if something is in scope for a project
search_sopsSearch Standard Operating Procedures by content
send_meeting_proposalSend a meeting availability proposal with a constrained set of proposed slot IDs and return the client link
shopify_app_bootstrapGet the Willa Shopify app's per-store bootstrap payload: linked client/project, branded contacts, platform links, readiness/QA counts, and installation status. Used by the Willa Shopify app's App Home and by external agents asking 'what does Willa know about this store?'.
shopify_installation_syncUpsert a Shopify app installation record in willaOS. Called by the Willa Shopify app backend after OAuth, periodic refresh, or theme/scope changes. Shop must be allowlisted (matches a client/project platform link or an existing installation).
shopify_staged_action_createDraft a Shopify write action that will execute on a willa-managed store once approved. Action is created in 'submitted' state; an authorized Willa operator must approve before execution. Use idempotency_key to safely retry. Action types: shopify_page_create, shopify_page_update, shopify_menu_update, shopify_metaobject_upsert, shopify_metafield_set, shopify_file_upload, shopify_file_link, shopify_readiness_finalize.
shopify_staged_action_listList Shopify staged actions for a shop, filtered by status. Useful for agents to see what's pending approval, executing, or recently completed.
shopify_store_snapshot_getGet the most recent cached Shopify store snapshot for a willa-managed store: shop info, product/collection/page/blog/file counts, recent order rollup, theme inventory, installed-app inventory, and online-store performance metrics. Sourced from the Redis snapshot pushed by the Willa Shopify app on every embedded load. Returns null if no snapshot is cached.
stage_image_swap_manifestAccept a Chrome image-swap placement manifest and optionally draft a Shopify media placement staged action for operator review. This never writes directly to a live theme.
update_project_content_entryUpdate one Light CMS content entry value using optimistic concurrency via expected_version
update_project_workstream_stateUpdate one project workstream status. Blocked workstreams require blocked_reason.