WavefrontDevelopers

MCP

MCP tool reference

Every tool the Wavefront MCP server offers, generated from the server's own tool list when this page was built. Connect first: Connect an agent.

83 tools. Read tools need the mcp:read scope; write tools need mcp:write. Every tool declares the standard MCP hints: read-only (changes nothing), destructive (may delete, replace or undo something), idempotent (repeating the same call has no further effect) and open world (reaches past the workspace: publishes, puts files on the public media host, or researches the web).

wavefront_list_workspaces

List workspacesmcp:readread-onlyidempotent

List the workspaces you can use, with your role in each. Start here.

Input

NameTypeDescription
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_get_kinds

Get generation kindsmcp:readread-onlyidempotent

The generation kinds and the input each takes (field names; detailed gives the full JSON Schema). Read this before wavefront_generate.

Input

NameTypeDescription
kindstringOne kind; omit for all
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_get_context

Read workspace documentsmcp:readread-onlyidempotent

Read a workspace's documents. Without `path`, lists the documents (with their summaries) and the content types from workspace.yaml. With `path`, returns that document a page at a time (offset, max_chars). `version` reads an earlier documents version (wavefront_list_context_versions).

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
pathstringDocument path, e.g. rules/adwave-voice.mdc
versionintegerAn earlier documents version; omit for the latest
offsetintegerCharacter offset to start reading at (next_offset from the previous page) Default 0.
max_charsintegerHow many characters to return (default 6000) Default 6000.
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_generate

Start a draftmcp:writechanges dataopen world

Start a generation. Returns an id immediately; the work runs in the background (minutes). Always pass idempotency_key. Then poll with wavefront_get_generation. A person approves the result in the Wavefront web app; there is no approve tool. Kinds (field? is optional; wavefront_get_kinds has each kind's full input schema): - article: A sourced long-form article for the workspace's website, with an optional hero image and images in the body. input {content_type, title, primary_keyword, audience?, angle?, slug?, target_words?, required_facts?, sources?, include_hero_image?, images?, notes?, assignment?, links?, subjects?} - copy: Short-form copy such as a LinkedIn post, meta description or newsletter. input {content_type, brief, audience?, max_chars?, canonical_url?, links?, assignment?} - image: A single editorial image, checked for relevance, stray text and visible defects. input {content_type?, prompt, alt, text?, aspect_ratio?, assignment?} - strategy: A content strategy for any subject (business, product, film, blog, publication) from a URL and/or description: audience, voice, pillars, keyword and question themes, and first ideas. input {url?, description?, name?, goals?, audience?, avoid?}

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
kind requiredstringOne of: article, copy, image, strategy
input requiredobjectKind-specific input; see wavefront_get_kinds
idempotency_keystringReuse the same key to retry safely without creating a duplicate
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_provide_input

Answer a draft's questionsmcp:writechanges dataopen world

Answer the questions of a generation whose status is needs_input. The same run resumes.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
generation_id requiredstring
answers requiredobjectQuestion id → answer (at most 20, 4,000 characters each), from wavefront_get_generation
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_get_generation

Get a generationmcp:readread-onlyidempotent

Get a generation's status. Shows questions when it needs input, versions when ready for review, and the content's history across revisions.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
generation_id requiredstring
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_list_generations

List generationsmcp:readread-onlyidempotent

List generations in a workspace, newest first. Filter by status, review_status, kind, view (a review queue), q (search titles and briefs), latest (one row per piece of content), strategy, assignment or publishing (scheduled: soonest first; published: newest first; not_scheduled). Each row has publishing: state (scheduled, publishing, published, draft_created, missed, or null; null with calendar_date means planned but not scheduled), at, destination, url (the live page) and calendar_date; times are UTC and time_zone is the workspace's.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
statusstringWorkflow status, or several comma-separated (queued,running,needs_input)
review_status"pending" | "changes_requested" | "approved" | "superseded"
kindstring
view"awaiting_review" | "mine" | "assigned"A review queue for you
qstring
latestbooleanDefault false.
strategystringStrategy id or slug
assignmentstringCalendar item id (assignment)
publishing"scheduled" | "published" | "not_scheduled"Where the content stands at its destinations
limitintegerDefault 25.
cursorstringnext_cursor from the previous page
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_cancel_generation

Cancel a generationmcp:writechanges datadestructiveidempotent

Cancel a queued, running or waiting generation.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
generation_id requiredstring
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_get_version

Get a versionmcp:readread-onlyidempotent

Get a version: approval and publication status first, then review notes, and an app link for people to review it. Set include_text for the article or copy text, a page at a time (text_offset, max_chars). detailed adds every file with a 15-minute signed download link and the cleanup edits.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
version_id requiredstring
include_textbooleanDefault false.
text_offsetintegerCharacter offset to start reading at (next_offset from the previous page) Default 0.
max_charsintegerHow many characters to return (default 6000) Default 6000.
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_get_version_file

Read a version filemcp:readread-onlyidempotent

Read one file of a version's package by path (from wavefront_get_version detailed, e.g. schema.json, metadata.json, review.json, article.md). Text comes a page at a time (offset, max_chars); an image comes back as an image.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
version_id requiredstring
path requiredstring
offsetintegerCharacter offset to start reading at (next_offset from the previous page) Default 0.
max_charsintegerHow many characters to return (default 6000) Default 6000.
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_export_version

Export a versionmcp:readchanges dataidempotentopen world

Export an article version for manual publishing (Squarespace, Substack, Medium, LinkedIn articles): html (the article as the preview shows it, sanitized, absolute image URLs), md (Markdown with YAML front matter) or json (the portable document: title, h1, slug, SEO title, meta description, canonical, excerpt, body HTML and Markdown, hero and images with alt text, categories, tags, author, JSON-LD). Approved versions only, unless you can edit. Side effect: exporting an approved version copies its images to Wavefront's public media host (the same permanent URLs publishing uses); a draft's images are 15-minute signed links. Text comes a page at a time (offset, max_chars). The.zip download is on the REST API and in the web app.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
version_id requiredstring
format"html" | "md" | "json"Default html.
jsonldbooleanhtml: append the JSON-LD script Default false.
body_onlybooleanhtml, md: leave out the H1 and hero Default false.
front_matterstringmd: `none`, or comma-separated `field` or `field:key` (fields: title, h1, slug, seo_title, meta_description, canonical_url, excerpt, date, author, author_url, categories, tags, hero_image, hero_alt, version_id, subtitle, keywords, sources, content_type)
offsetintegerCharacter offset to start reading at (next_offset from the previous page) Default 0.
max_charsintegerHow many characters to return (default 6000) Default 6000.

wavefront_diff_versions

Compare two versionsmcp:readread-onlyidempotent

Compare two versions of the same content (for example a revision and its parent): a unified diff of the article or copy text, and which metadata.json keys changed.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
from_version_id requiredstringThe earlier version
to_version_id requiredstringThe later version
offsetintegerCharacter offset to start reading at (next_offset from the previous page) Default 0.
max_charsintegerHow many characters to return (default 6000) Default 6000.
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_request_revision

Request a revisionmcp:writechanges dataopen world

Ask for changes to a version. Starts a new generation that produces the next version; the original is kept. Pass idempotency_key to retry safely.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
version_id requiredstring
feedback requiredstring
idempotency_keystring
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_list_destinations

List destinationsmcp:readread-onlyidempotent

List the workspace's publishing destinations (ids to pass to wavefront_publish), the content kinds each accepts, the copy formats it takes (formats; newsletter tools take newsletter copy), and drafts_only for destinations that only create drafts.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_publish

Publish an approved versionmcp:writechanges datadestructiveopen world

Publish an APPROVED version to a destination. Each destination accepts certain kinds (see capabilities.kinds in wavefront_list_destinations; the Adwave site takes articles; Mailchimp, Kit and beehiiv take newsletter copy and only create a draft, never sending it; a GitHub destination commits the article as Markdown or opens a pull request, which reads draft_created until merged; Ghost takes articles; social networks (Ayrshare) are refused here, since a public post can't be taken back: a person posts them from the web app; publishing through MCP never emails a newsletter). Returns a publication id; the Adwave staging site takes about 10-20 minutes. Approval must already have been given by a person in the web app. If an earlier version of the same content is already at that destination, this updates that post in place (same remote id, URL and slug) and operation is update; otherwise it creates a new post.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
version_id requiredstring
destination_id requiredstring
mode"publish" | "draft" | "schedule"publish, draft or schedule; only where the destination's capabilities allow it. Omitted: the destination's default_mode (see wavefront_list_destinations)
publish_atstring (date-time)ISO date and time, required with mode schedule
send_newsletterbooleanNot available to agents. Emailing a post to a newsletter can't be undone, so only a person in the web app can ask for it; true is refused. Publishing here never emails.
image_version_idstringAn approved image version made for this copy (social destinations; those are posted by people in the web app, so agents are refused)
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_list_publications

List publicationsmcp:readread-onlyidempotent

List publications newest first, optionally by state (queued, sending, building, verifying, published, draft_created, scheduled, failed, withdrawn), by exact stored status, by destination, or by content_id (every version of one piece of content sent anywhere: its publishing history).

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
statestring
statusstring
destination_idstring
content_idstring
limitintegerDefault 10.
cursorstring
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_get_publication

Get a publicationmcp:readread-onlyidempotent

Get a publication's progress. state is generic: queued, sending, building, verifying, then published, draft_created or scheduled (with the URL), failed or withdrawn. status is the stored name (the Adwave site keeps checking, awaiting_deploy, staged, staged_with_repairs). operation is create or update (replaced the post an earlier version made); withdrawal shows a withdraw a person started in the web app.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
publication_id requiredstring
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_schedule_publish

Schedule publishingmcp:writechanges dataopen world

Schedule an APPROVED version to publish to a destination at a time, or on its saved calendar date (on_calendar_date, in the workspace's time zone). Works for every destination: where the destination schedules posts itself the post is sent now with the time, otherwise Wavefront starts publishing within 5 minutes of the time. The approval is checked again at the time. One schedule per content item and destination; reschedule or cancel it with wavefront_reschedule and wavefront_cancel_schedule.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
version_id requiredstring
destination_id requiredstring
publish_atstring (date-time)ISO date and time to publish at; or on_calendar_date
on_calendar_datebooleanPublish on the version's saved calendar date instead of publish_at
timestringWith on_calendar_date: HH:MM, 24-hour, in the workspace's time zone (default 09:00)
mode"publish" | "draft"What happens at the time: publish (default) or create a draft
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_list_schedules

List schedulesmcp:readread-onlyidempotent

List scheduled publications by time: what publishes where and when, and whether the destination or Wavefront starts it. state all includes started, published, failed and cancelled ones. from and to (ISO date or date and time, UTC; to is exclusive) narrow it to a window of publish times. wavefront_get_schedule has one schedule's history.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
state"active" | "all"Default active.
content_idstring
fromstringPublish times at or after this ISO date or date-time
tostringPublish times before this ISO date or date-time
limitintegerDefault 25.
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_get_schedule

Get a schedulemcp:readread-onlyidempotent

One schedule: what publishes where and when, its state, the publication carrying it out (once started) and its history (created, rescheduled, started, cancelled…).

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
schedule_id requiredstring
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_reschedule

Reschedule publishingmcp:writechanges dataidempotentopen world

Move a schedule to a new time (publish_at, or on_calendar_date), or, for one waiting in Wavefront, to a newer approved version of the same content (version_id). A post the destination is holding gets the new time there too: the schedule reads rescheduling until the destination confirms, and keeps its old time if it doesn't.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
schedule_id requiredstring
version_idstring
publish_atstring (date-time)ISO date and time to publish at; or on_calendar_date
on_calendar_datebooleanPublish on the version's saved calendar date instead of publish_at
timestringWith on_calendar_date: HH:MM, 24-hour, in the workspace's time zone (default 09:00)
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_cancel_schedule

Cancel scheduled publishingmcp:writechanges datadestructiveidempotent

Cancel a schedule before its time. A post the destination is holding for that time is deleted there, or turned back into a draft where the destination can't delete. After the time, the post is live: withdraw it in the web app instead.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
schedule_id requiredstring
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_get_backlog

Get the idea backlogmcp:readread-onlyidempotent

A strategy's idea backlog: counts (open, used, skipped), the next ideas autopilot will put on the calendar, and a page of ideas. With a cadence in autopilot settings (wavefront_set_autopilot), autopilot fills each open calendar slot with the open idea valid on that date that the strategy's editorial mix scores best (priority, target shares, spacing, deadlines; see wavefront_preview_backlog), never a slug that is already on the calendar or published. `next` lists open ideas valid today by priority.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
strategystringStrategy id or slug from wavefront_list_strategies; omit for the primary strategy
status"open" | "used" | "skipped"
limitintegerDefault 50.
offsetintegerDefault 0.
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_add_backlog_ideas

Add backlog ideasmcp:writechanges data

Append ideas to a strategy's backlog (created on first use). Each idea: title (required), id, slug, format, primary_keyword, keywords, angle, pillar, priority (high, normal, low), valid_from and valid_until (YYYY-MM-DD, or --MM-DD for every year), notes, input (extra generation input), and for the editorial mix: subjects (catalog keys like person:paul-thomas-anderson, or names), tags (custom dimensions: {funnel: bofu, location: austin}), series ({id, part}), publish_by (deadline, YYYY-MM-DD or --MM-DD) and lead_days (days before publish_by it should be out). A bad idea, or an id already in the backlog, is left out and listed in warnings.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
strategystringStrategy id or slug from wavefront_list_strategies; omit for the primary strategy
ideas requiredarray of object
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_import_backlog

Import backlog ideasmcp:writechanges datadestructive

Load a whole backlog from JSON ({defaults?: {format, input}, ideas: [...]}, the shape of backlog.json). mode merge (default) updates ideas with the same id and appends new ones; replace makes the backlog exactly the import. Bad ideas are left out and listed in warnings.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
strategystringStrategy id or slug from wavefront_list_strategies; omit for the primary strategy
mode"merge" | "replace"Default merge.
defaultsobject
ideas requiredarray of object
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_fill_from_backlog

Fill the calendar from the backlogmcp:writechanges data

Fill open calendar slots from every active strategy's backlog now, as autopilot does every 30 minutes, at the cadence in autopilot settings. Returns the items added and any replaced (a backlog item whose draft failed, was cancelled or expired is replaced by the next idea, at most 3 times per slot). Drafting still happens through autopilot or wavefront_draft_calendar.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_preview_backlog

Preview backlog placementmcp:readread-onlyidempotent

What autopilot would put on a strategy's calendar over the next `days` (default 30, up to 90) from its backlog, and the mix that gives, without changing anything. Returns items (plan, autopilot and projected posts, each with `why`: the editorial mix's reasons), mix (shares per dimension against targets), spacing_conflicts, unfilled slots and the policy as applied. plan: draft previews the unsaved plan's mix (set it with wavefront_edit_plan `mix`); rebalance: true previews wavefront_rebalance_backlog.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
strategystringStrategy id or slug from wavefront_list_strategies; omit for the primary strategy
daysintegerDefault 30.
plan"saved" | "draft"Default saved.
rebalancebooleanDefault false.
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_rebalance_backlog

Rebalance the backlogmcp:writechanges datadestructive

Re-plan a strategy's autopilot calendar items in the fill window that have no draft yet with its editorial mix: they leave the calendar, their ideas reopen, and the slots are filled again. Items with any draft stay; nothing is cancelled. Returns released and added (with `why`) like wavefront_fill_from_backlog. Preview first with wavefront_preview_backlog rebalance: true.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
strategystringStrategy id or slug from wavefront_list_strategies; omit for the primary strategy
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_list_strategies

List strategiesmcp:readread-onlyidempotent

List the workspace's strategies (an evergreen plan, a launch, local pages…) with their status and plan size. Each has its own conversation, keywords and calendar; posts record which strategy they serve.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
include_archivedbooleanDefault false.
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_get_strategy

Get a strategy and its planmcp:readread-onlyidempotent

Read one strategy: its plan, whether it has unsaved changes or a strategist turn running, and the latest conversation. The plan is never shortened; ask for only the sections you need (overview, voice, pillars, keywords, calendar, sources). overview is the strategy, state, brief, formats, counts and messages. Pass plan_version as base_plan_version to wavefront_edit_plan.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
strategystringStrategy id or slug from wavefront_list_strategies; omit for the primary strategy
sectionsarray of "overview" | "voice" | "pillars" | "keywords" | "calendar" | "sources"Sections to return; omit for all
messagesintegerHow many recent messages to include (overview) Default 8.
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_create_strategy

Create a strategymcp:writechanges dataopen world

Start a new strategy next to the existing ones. It begins with the primary strategy's brief and voice; its pillars, keywords and calendar are its own. Pass message (as in the REST API; first_message is its deprecated alias) to have the strategist research and propose a plan right away (then poll wavefront_get_strategist_reply). If the strategist can't start, the strategy still exists and studio_error says why; don't create it again. A name already in use is refused (slug_exists).

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
name requiredstring
descriptionstringThe strategy's goal
messagestringA first message: the strategist starts researching at once
first_messagestringDeprecated: the same as message
idempotency_keystringReuse the same key to retry safely without doing it twice
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_update_strategy

Rename, pause or archive a strategymcp:writechanges dataidempotent

Rename a strategy, change its goal, or set its status: active, paused (autopilot skips it) or archived (leaves the calendar). The primary strategy can't be archived.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
strategy requiredstringStrategy id or slug
namestring
descriptionstring
status"active" | "paused" | "archived"
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_message_strategist

Message the strategistmcp:writechanges dataopen world

Talk to the strategist about one strategy: ask for research, keyword ideas, a new calendar, or any change to the plan. It researches the web and the workspace documents, then replies and updates the plan (strategist turns are free to the customer). Turns take 20 seconds to a few minutes; set wait_seconds to wait for the reply, otherwise poll wavefront_get_strategist_reply. If it is busy, the error's details.message_id is the reply to poll. For precise changes you already know, wavefront_edit_plan is instant.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
strategystringStrategy id or slug from wavefront_list_strategies; omit for the primary strategy
message requiredstring
wait_secondsintegerDefault 0.
idempotency_keystringReuse the same key to retry safely without doing it twice
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_get_strategist_reply

Get the strategist's replymcp:readread-onlyidempotent

Check a strategist reply started with wavefront_message_strategist or wavefront_create_strategy: its progress while working, then the reply, which plan sections changed, and suggested follow-ups.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
strategystringStrategy id or slug from wavefront_list_strategies; omit for the primary strategy
message_id requiredstring
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_retry_strategist_reply

Retry the strategist's replymcp:writechanges dataopen world

Run a failed strategist reply again with the same request (can_retry in wavefront_get_strategy). Returns the new reply's message_id to poll.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
strategystringStrategy id or slug from wavefront_list_strategies; omit for the primary strategy
message_id requiredstringThe failed reply's id
wait_secondsintegerDefault 0.
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_edit_plan

Edit a planmcp:writechanges datadestructive

Change a strategy's plan directly, without a strategist turn (instant and free). Prefer the item operations, which never touch items you don't name: - keywords_add [{phrase, intent (informational|commercial|navigational|transactional), pillar, priority (high|medium|low), note}] (same phrase replaces), keywords_remove [phrase]; - calendar_upsert [{id?, date YYYY-MM-DD, title, format (a workspace content type), primary_keyword, pillar, angle}]: with an existing id only the fields you send change; without one, date, title and format are required. calendar_remove [id]; - pillars_add [{name, summary}] / pillars_remove [name]; sources_add [{url, title, note}] / sources_remove [url]. brief, voice and calendar.cadence merge field by field. The whole-list fields (pillars, keywords, formats, sources, calendar.items) replace the list: send them only with the complete list from wavefront_get_strategy. A post that already has a draft is only dropped through calendar_remove; the result lists orphaned_drafts. Pass base_plan_version (plan_version from wavefront_get_strategy) to refuse the edit if the plan changed since you read it. Never invent search volumes. Undo with wavefront_undo_plan_change; then wavefront_save_plan so drafts use it.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
strategystringStrategy id or slug from wavefront_list_strategies; omit for the primary strategy
patch requiredobject
base_plan_versionintegerplan_version you read; a newer plan is a conflict error
notestringA short note for the conversation
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_undo_plan_change

Undo a plan changemcp:writechanges datadestructive

Undo the latest plan change (a strategist reply or a direct edit), by its message id. Only the latest change can be undone.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
strategystringStrategy id or slug from wavefront_list_strategies; omit for the primary strategy
message_id requiredstring
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_reset_conversation

Reset the strategist conversationmcp:writechanges datadestructive

Start a fresh strategist conversation for a strategy. The plan stays as it is.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
strategystringStrategy id or slug from wavefront_list_strategies; omit for the primary strategy
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_save_plan

Save a plan to the documentsmcp:writechanges datadestructiveidempotent

Save a strategy's plan as workspace documents (strategy, voice, keywords, calendar) as a new, restorable context version. Drafts and the calendar use the saved plan, not the draft plan.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
strategystringStrategy id or slug from wavefront_list_strategies; omit for the primary strategy
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_get_calendar

Get the content calendarmcp:readread-onlyidempotent

The saved content calendar across strategies (or one): each post's id, date, title, format, keyword, pillar, strategy {id, slug, name}, and its draft's status and review_status. Use an item's id with wavefront_draft_calendar. Page with cursor.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
strategystringStrategy id or slug from wavefront_list_strategies; omit for the primary strategy
fromstring
throughstring
limitintegerDefault 30.
cursorstringnext_cursor from the previous page
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_draft_calendar

Draft calendar postsmcp:writechanges dataopen world

Draft saved calendar posts now (billed like any generation): the given item ids, or everything due through a date. Items already drafted are skipped; a failed draft can be drafted again. Wallet, spend and concurrency limits stop the run early.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
strategystringStrategy id or slug from wavefront_list_strategies; omit for the primary strategy
item_idsarray of string
throughstring
limitintegerDefault 5.
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_set_autopilot

Set autopilotmcp:writechanges dataidempotentopen world

Owners only: switch autopilot on or off. It drafts saved calendar posts from active strategies as they come due (lead_days ahead, per_run at a time). Drafts still wait for a person to approve. With cadence, it first fills open calendar slots from each active strategy's idea backlog (wavefront_get_backlog). Separately, publish_on_date (off by default) schedules each approved calendar post to destination_id for its date at publish_time in the workspace's time zone; only approved versions are published. auto_approve and auto_revise are shown in wavefront_get_calendar but only an owner can change them, in the web app.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
enabledboolean
lead_daysinteger
per_runinteger
publish_on_dateboolean
destination_idstring | null
publish_timestringHH:MM, 24-hour, in the workspace's time zone (default 09:00)
cadenceobject | nullFill open calendar slots from each active strategy's backlog: per_day posts on days (mon..sun, default every day). null stops filling
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_write_document

Write a documentmcp:writechanges datadestructiveidempotent

Create or replace one workspace document (Markdown, YAML or JSON) as a new context version: brand rules, product facts, a style guide, a strategy file. Every draft reads the documents listed in workspace.yaml. Restore with wavefront_restore_context.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
path requiredstringe.g. rules/brand-terms.md
body requiredstringAt most 2 MB
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_delete_document

Delete a documentmcp:writechanges datadestructiveidempotent

Remove one workspace document as a new context version (workspace.yaml can't be deleted). Restore an earlier version to undo.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
path requiredstring
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_restore_context

Restore documents to a versionmcp:writechanges datadestructive

Restore an earlier context version of the workspace documents (see wavefront_list_context_versions); the restore is itself a new version, so nothing is lost. Pass base_version (the latest version you saw) to refuse the restore if the documents changed since.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
version requiredinteger
base_versionintegerThe latest documents version you saw; a newer one is a conflict error
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_list_comments

List commentsmcp:readread-onlyidempotent

Read the review discussion on a generation (it follows the post through revisions), oldest first, with each author's name. Page with cursor.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
generation_id requiredstring
limitintegerDefault 30.
cursorstring
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_add_comment

Add a commentmcp:writechanges data

Add a comment to a generation's review discussion, for example a summary of what you changed or a question for the reviewer.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
generation_id requiredstring
body requiredstring
version_idstring
idempotency_keystringReuse the same key to retry safely without doing it twice
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_delete_comment

Delete a commentmcp:writechanges datadestructiveidempotent

Delete a comment from a generation's review discussion. Only its author (a comment you added) or a workspace owner can delete it.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
generation_id requiredstring
comment_id requiredstring
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_apply_strategy_version

Apply a strategy version to the documentsmcp:writechanges datadestructiveidempotent

Write an APPROVED strategy version (from a strategy generation, kind strategy) into the workspace documents drafts read, as a new, restorable context version. A person approves it in the web app first.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
version_id requiredstring
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_assign_reviewer

Assign a reviewermcp:writechanges dataidempotent

Ask a teammate (an owner or editor, by user_id from wavefront_list_people) to review a generation, or pass null to clear the request. They get an email, at most one per generation every 10 minutes.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
generation_id requiredstring
user_id requiredstring | null
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_list_people

List peoplemcp:readread-onlyidempotent

The workspace's active members with their user ids and roles. Owners and editors can be asked to review (wavefront_assign_reviewer); viewers can comment.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_get_activity

Get workspace activitymcp:readread-onlyidempotent

The workspace's activity feed, newest first: drafts, reviews, approvals, comments, publications and strategy changes. Page with cursor.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
limitintegerDefault 20.
cursorstringnext_cursor from the previous page
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_list_context_versions

List document versionsmcp:readread-onlyidempotent

Recent versions of the workspace documents, newest first, for wavefront_restore_context. Every write, save and restore makes one.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
limitintegerDefault 20.
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_get_balance

Get credit balancemcp:readread-onlyidempotent

The workspace's balance (read-only): credits on a plan, or a wallet balance. Drafts are charged from it; plans, packs and top-ups are bought in the web app. Internal workspaces aren't billed.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_get_search_performance

Get search performancemcp:readread-onlyidempotent

The site's Google Search Console, Analytics and Bing Webmaster Tools data from the last daily sync: 28 days compared with the 28 before (Bing: the latest 4 weeks against the 4 before, since Bing reports weekly). Gives top queries (clicks, impressions, position, ranking page), top pages, landing pages with sessions and key events, Bing queries and pages, and opportunities from both engines (queries at positions 4-20, top results few people click, pages losing clicks), each marked with its source. Pass url for one page, such as a published article. Impressions count how often the site was shown, not search volume.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
urlstring (uri)One page's numbers instead of the whole site
limitintegerRows per list Default 25.
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_list_event_subscriptions

List event subscriptionsmcp:readread-onlyidempotent

Owners: the workspace's event subscriptions (webhooks that tell outside systems when drafts are ready, versions are approved, articles publish and so on), with their status and events. Pass subscription_id for its recent deliveries (or use wavefront_get_event_subscription). Never shows signing secrets.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
subscription_idstringA subscription id, to list its recent deliveries
limitintegerDeliveries to list Default 20.
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_get_event_subscription

Get an event subscriptionmcp:readread-onlyidempotent

Owners: one event subscription (its URL, events, status, failures) with its most recent deliveries, newest first (status, attempts, response code). Never shows the signing secret.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
subscription_id requiredstringSubscription id (sub_…)
limitintegerDeliveries to list Default 25.
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_create_event_subscription

Create an event subscriptionmcp:writechanges dataopen world

Owners: send workspace events to an https URL (Zapier, Make, n8n, your own endpoint). Events: generation.ready_for_review, generation.review_requested, generation.needs_input, generation.failed, version.approved, version.changes_requested, publication.published, publication.failed, publication.withdrawn, schedule.cancel_required, comment.created, plan.ready, plan.saved, autopilot.needs_review, autopilot.slot_missed, suggestions.ready. Returns the subscription and its signing secret, which is shown only this once; tell the person to store it. Deliveries carry workspace content to that URL.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
url requiredstring
events requiredarray of "generation.ready_for_review" | "generation.review_requested" | "generation.needs_input" | "generation.failed" | "version.approved" | "version.changes_requested" | "publication.published" | "publication.failed" | …
descriptionstring | null
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_update_event_subscription

Change an event subscriptionmcp:writechanges dataidempotentopen world

Owners: change an event subscription's URL, events or description, or turn it off (enabled false) and back on (which also clears a failure-disabled state). Give at least one field.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
subscription_id requiredstringSubscription id (sub_…)
urlstring
eventsarray of "generation.ready_for_review" | "generation.review_requested" | "generation.needs_input" | "generation.failed" | "version.approved" | "version.changes_requested" | "publication.published" | "publication.failed" | …
descriptionstring | null
enabledboolean
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_delete_event_subscription

Delete an event subscriptionmcp:writechanges datadestructiveidempotent

Owners: delete an event subscription. Nothing more is sent to its URL; this can't be undone (create a new one, with a new secret, instead).

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
subscription_id requiredstringSubscription id (sub_…)
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_test_event_subscription

Send a test eventmcp:writechanges dataopen world

Owners: send a webhook.test event to the subscription's URL now (rate limited like the app). Returns the queued delivery; check its result with wavefront_get_event_subscription.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
subscription_id requiredstringSubscription id (sub_…)
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_rotate_event_subscription_secret

Rotate a signing secretmcp:writechanges datadestructive

Owners: make a new signing secret for a subscription. The new secret is returned only this once; the old one also signs for 24 hours so the receiver can switch over.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
subscription_id requiredstringSubscription id (sub_…)
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_redeliver_event

Redeliver an eventmcp:writechanges dataopen world

Owners: send a finished delivery again, with the same webhook-id and body (receivers deduplicate on webhook-id). Rate limited like the app.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
subscription_id requiredstringSubscription id (sub_…)
delivery_id requiredstringDelivery id from the subscription's list
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_get_event_sample

Get sample event bodiesmcp:readread-onlyidempotent

Owners: example bodies for one event type, as a receiver gets them: the workspace's latest real events of that type, or a made-up example when there are none. Use it to map fields in Zapier, Make or n8n.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
event required"generation.ready_for_review" | "generation.review_requested" | "generation.needs_input" | "generation.failed" | "version.approved" | "version.changes_requested" | "publication.published" | "publication.failed" | …
limitintegerDefault 3.
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_refresh_catalog

Refresh the site catalogmcp:writechanges dataidempotentopen world

Refetch the workspace's site catalog feed now instead of waiting for catalog.refresh_hours (default 24), after the site added or changed entities. Returns the new copy's fetch time, the copy it replaced, entities per type, and how many were added and removed. A feed that can't be read leaves the cached copy unchanged and is an error.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_get_site_metrics

Get site metricsmcp:readread-onlyidempotent

Read the workspace site's authority and visibility metrics with history: Tranco and Cloudflare Radar rank, Wavefront's crawl (sitemap URLs, robots.txt, HTTPS, homepage title and description, published articles), Search Console, Analytics and Bing totals when connected, PageSpeed scores, and DataForSEO and Moz when Adwave has set their keys. Each metric has its provider's definition, latest, previous and baseline values and the change since each; providers that are off say why. Values are the providers' own, never a combined score. Set include_points for the dated series (metrics= and from/to narrow it).

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
metricsarray of stringMetric ids such as tranco.rank or gsc.clicks; all when omitted
fromstring
tostring
include_pointsbooleanDefault false.
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_list_suggestions

List suggestionsmcp:readread-onlyidempotent

Strategy suggestions Wavefront found in the site's own Search Console and Bing data (after each daily sync): refresh a page on the edge of page one, rewrite a title that few searchers click, refresh a page losing clicks, add backlog ideas for searches no article targets, separate two articles that compete for one search, or a task for whoever runs the site (sitemap and indexing problems). Each has a title, why (the evidence numbers and their window), impact, the actions approval would run, its status (proposed, approved, done, failed, dismissed, expired) and, once done, the result. Open ones come first, best first. People approve or dismiss them in the web app; you can explain them and point people there.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
statusarray of "proposed" | "approved" | "dismissed" | "done" | "failed" | "expired"Only these statuses; omit for all
limitintegerDefault 20.
offsetintegerDefault 0.
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_get_suggestion

Get a suggestionmcp:readread-onlyidempotent

One strategy suggestion with its full evidence (queries, pages, clicks, impressions, positions and the window), its actions (the revision feedback, the ideas, the links) and what happened when it ran.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
id requiredstring
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_refresh_site_metrics

Refresh site metricsmcp:writechanges dataidempotentopen world

Check the site's authority and visibility metrics now instead of waiting for the weekly check (wavefront_get_site_metrics). Queues the check and returns at once with checking true; it can take minutes. At most once every 10 minutes per workspace, and not while a check runs.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_sync_search_data

Sync search datamcp:writechanges dataidempotentopen world

Fetch fresh Google Search Console and Analytics data and/or Bing Webmaster Tools data now, instead of waiting for the daily sync (source google, bing or both). Google data synced in the last 10 minutes is returned as is (fresh); Bing is tried at most once every 10 minutes (fresh, or too_soon when the last try failed). With both, a source that isn't connected reads not_connected. Then read wavefront_get_search_performance.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
source"google" | "bing" | "both"Default both.
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_sync_tasks

Sync the project toolmcp:writechanges dataidempotentopen world

Reconcile the connected project tool (Asana or Trello) with Wavefront now: review and approval tasks are created, updated and closed. Queued at once; too_soon when a sync was tried in the last 30 seconds. An owner connects the tool and picks the project in the web app.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
provider required"asana" | "trello"
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_detect_suggestions

Detect suggestionsmcp:writechanges dataidempotent

Look for strategy suggestions in the stored Search Console and Bing data now, instead of after the next daily sync (at most once every 10 minutes; fresh returns the open ones). Returns what was found, created, refreshed and expired. People approve or dismiss suggestions in the web app.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_list_imports

List document importsmcp:readread-onlyidempotent

Document imports: which providers (Google Drive, Notion, Confluence) this server offers and whether each is connected, and every import with its documents, resync setting (off or daily) and last sync. Connecting and picking pages happen in the web app.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_update_import

Change an import's resyncmcp:writechanges dataidempotent

Turn an import's daily resync on or off (resync daily or off).

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
import_id requiredstringImport id from wavefront_list_imports
resync required"off" | "daily"
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_sync_import

Sync an importmcp:writechanges datadestructiveopen world

Read an import's pages again now. A change makes one new, restorable context version (state updated); otherwise state unchanged.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
import_id requiredstringImport id from wavefront_list_imports
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_remove_import

Stop an importmcp:writechanges datadestructiveidempotent

Stop tracking an import: it no longer resyncs. Its documents stay in the workspace; delete them with wavefront_delete_document if they should go.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
import_id requiredstringImport id from wavefront_list_imports
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_get_workspace

Get the workspacemcp:readread-onlyidempotent

The workspace's name, slug, billing mode, your role, and its limits (the daily spend limit, in credits on credits workspaces, and how many drafts may run at once).

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_get_billing

Get billing and credit historymcp:readread-onlyidempotent

The workspace's billing (read-only), as the billing page shows it to you: on a plan, the plan, credit balance (plan and pack credits, the next to expire), 30-day usage by kind, and recent credit entries and charges per draft, all in credits; on an older wallet workspace, its balance and history. Plans, packs and top-ups are bought by a person in the web app.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_get_estimates

Get credit estimatesmcp:readread-onlyidempotent

Credit estimates before you start drafts: for each generation kind, the trailing 30-day average credits (estimate_credits; null when there is no history yet) and the most one run can use (max_credits), with the current balance. Credits workspaces only; others return their billing_mode.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_get_integrations

Get integration statusmcp:readread-onlyidempotent

Read-only status of the workspace's integrations: Google Search Console and Analytics, Bing Webmaster Tools, project tool sync (Asana, Trello), and, for owners, Slack and Microsoft Teams (their events and recent deliveries). Never tokens or webhook URLs. Connecting and changing them happen in the web app (Settings → Integrations).

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_get_suggestion_settings

Get suggestion settingsmcp:readread-onlyidempotent

The workspace's strategy suggestion settings: the weekly digest (weekly or off), urgent messages for a large decay, email to owners and editors, and which suggestion types Wavefront carries out without asking (auto_apply, auto_apply_published). Read-only: an owner changes them in the web app.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_get_writing_rules

Get writing rulesmcp:readread-onlyidempotent

The workspace's writing rules (Settings → Writing rules): phrases drafts must never use, phrases to avoid, phrases allowed despite the built-in checks, and (owners only) advanced regex rules; editors see how many advanced rules there are. Also the built-in rules and context_version, to pass as base_version to wavefront_set_writing_rules.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.

wavefront_set_writing_rules

Set writing rulesmcp:writechanges datadestructiveidempotent

Replace the workspace's writing rules: never, avoid and allow are whole lists, so read them first with wavefront_get_writing_rules and send them back complete with your changes. advanced (raw regex rules) is owners only and replaces them only when given. Saved as a new, restorable context version; nothing changed makes no version. Pass base_version (context_version you read) to refuse the save if the documents changed since.

Input

NameTypeDescription
workspace requiredstringWorkspace slug from wavefront_list_workspaces
never requiredarray of object
avoid requiredarray of object
allow requiredarray of string
advancedarray of object
base_versioninteger
response_format"concise" | "detailed"concise (default) or detailed with ids and full metadata Default concise.