Composway Docs

Find the right tool

Describe what you want to do and get the Composway MCP tools that answer it - filtered by whether they read or write, and by what they cost.

Your MCP client picks tools on its own from the descriptions it discovers, so you rarely need this page to use Composway - describe the outcome you want and the client chooses. It is here for the other question: what is in the box, and which tool answers a particular question.

Type the outcome, not the tool name. The matcher reads the same descriptions your client reads, so "why did my traffic drop" finds diagnose_traffic_losses even though the word "traffic" does not appear in its title.

|

Diagnostics

get_server_statusRead

Start here.

get_server_infoRead

Return Composway MCP server freshness metadata: server version, tools schema version, git/deploy metadata, and Worker version metadata when available.

get_tool_manifestRead

Return the canonical tool manifest for this running MCP server, including the tools schema version and a SHA-256 hash of each tool input schema.

Workspaces & campaigns

search_referenceRead

Resolve a human-readable location or language name into the DataForSEO reference object ({ id, code, isoCode, name }) required by campaign/workspace writes.

whoamiRead

Return the authenticated user's Kinde claims (sub, email, name).

list_workspacesRead

List the current user's workspaces (id, title).

get_workspaceRead

Get a single workspace with its target audiences, products, default location and language, and its campaigns.

get_workspace_competitorsRead

The brands this workspace measures itself against in AI answers: the tracked competitors plus, for reference, the workspace's own brand (`selfBrand`, `isSelf: true`).

list_campaignsRead

List the AEO/AI campaigns in a workspace.

get_campaignRead

Get an AEO campaign's detail: SERP snapshot, analysis, brief, and search-intent-classification ids.

get_campaign_related_questionsRead

Get a campaign's related questions and the discovered pain points.

get_campaign_entitiesRead

Get the extracted entity list for a campaign.

get_latest_articleRead

Get the latest user-generated content (article draft + meta tags) for a campaign — the input for evaluate_article, optimize_article, and quick_save.

deep_researchRead

Perform deep research on how people ask on a related topic.

get_evaluation_resultRead

Poll an evaluate_article or optimize_article background job by its jobId.

get_task_statusRead

Poll the status of a long-running analysis task by the domain record it is linked to (e.g.

Search analytics

list_sitesRead

Live: lists every Google Search Console property and Bing Webmaster Tools site visible to the caller's connected accounts, tagged with searchEngine, and joined to the workspace each is already attach…

get_connection_statusRead

Live: connected Google + Bing accounts, the property/site attached to this site's workspace, and the last time its search data synced.

get_site_snapshotRead

Summarizes a site's overall Google + Bing search performance over a window and compares it with the immediately preceding window of the same length.

get_performance_trendRead

Daily, weekly, or monthly Google + Bing performance trend for a site.

find_new_and_lost_keywordsRead

Query-level `/breakdown` rows classified per engine as new, lost, improved, declined, or stable between the current window and the immediately preceding one of the same length.

find_cross_engine_gapsRead

Queries or pages where Google and Bing performance diverge materially in the current window.

find_low_hanging_keywordsRead

High-impression queries ranking just off page one, with an estimated click uplift if promoted to the site's own page-one (`pos1_3`) CTR — built from the site's own current-window rows, not an industr…

find_ctr_opportunitiesRead

Queries or pages whose actual CTR falls well below what the site's own position-based CTR curve predicts for their rank.

find_content_gapsRead, confirmed when paid · Paid (opt-in)

Two halves under one name, labelled per row.

get_page_queriesRead

The queries a specific page drew impressions and clicks for, per engine, over the window.

get_query_pagesRead

The pages of the site that surfaced for a specific query, per engine, over the window.

detect_keyword_cannibalizationRead

Queries more than one of the site's own pages competes for, read from two sources.

find_content_decayRead

Pages or queries in *sustained* decline across several whole periods — not a window-over-window drop, which cannot tell a decline from a bad month.

find_emerging_keywordsRead

Queries with sustained or accelerating growth over several whole periods — find_content_decay's classifier with the sign flipped.

diagnose_traffic_lossesRead

For the queries that lost the most clicks, says *why* — and each cause implies a different action, so the class matters more than the number.

analyze_site_sectionsRead

Aggregates Google + Bing page performance into URL directories (the leading `sectionDepth` path segments) and compares each section's current total against the immediately preceding period.

analyze_branded_vs_nonbrandedRead

Splits the window's Google + Bing queries into branded and non-branded demand and reports each side's clicks, impressions, CTR, average position and share of the engine's total.

get_workspace_brand_termsRead

The brand terms a workspace matches queries and AI answers against: `brandTerms` is the effective list (title plus confirmed aliases) and is what analyze_branded_vs_nonbranded and find_low_hanging_ke…

score_seo_opportunitiesRead

One prioritized queue over four tools that each answer a different question: find_low_hanging_keywords, find_ctr_opportunities, find_content_decay and find_content_gaps.

generate_search_performance_reportRead

A Google + Bing performance report for one site or several, assembled by calling the other tools and embedding their responses whole — so a section here is the same answer the tool gives on its own,…

get_advanced_search_analyticsRead

The composable read: you choose the grouping, filters, sort and limit instead of asking one of the named questions above.

Writes

create_workspaceWrite, confirmed · Quota

Create a new workspace.

create_ai_campaignWrite, confirmed · Quota

Create an AEO (AI) campaign in a workspace from one or more target prompts.

confirm_search_intentWrite, confirmed

Confirm the chosen search-intent classification for a campaign.

confirm_pain_pointsWrite, confirmed

Confirm the campaign background: the selected pain points, target audiences, and search-intent ids.

attach_target_ai_promptWrite, confirmed

Attach a new target AI prompt (topic + location + language + LLM providers) to a campaign.

evaluate_articleWrite, confirmed

Start an asynchronous evaluation job for an article in a campaign.

optimize_articleWrite, confirmed

Start an asynchronous optimization job for an article in a campaign.

quick_saveWrite, confirmed

Save an article draft (and meta tags) to a specific user-generated-content version of a campaign.

set_workspace_brand_termsWrite, confirmed

Add, remove, or replace a workspace's confirmed brand aliases.

set_workspace_competitorsWrite, confirmed

Add, edit, or stop tracking the competitors a workspace is measured against in AI answers.

explain_query_serpWrite, confirmed · Paid

Fetch this query's Google SERP **live** and diff it against the newest SERP stored for this workspace.

48 of 48 tools match the filters.

If that did not find it

  • The tool reference lists all 48 grouped by what they operate on, with the same read/write and cost columns.
  • The cookbook goes the other way round: it starts from a job ("diagnose a drop", "decide what to write") and names the tools each one uses, in order.
  • Ask your own assistant. Every page here is served as plain Markdown at /llms.txt and /llms-full.txt, so you can point Claude, ChatGPT or anything else at the whole reference and ask it there.