Skip to main content
Glama

Server Details

Ask your AI assistant about your own website's SEO and get answers from your real data, not generic advice.

One connector, all your channels: Google Search Console (rankings, clicks, indexing), Google Analytics (traffic and sources), Google Ads (campaigns and search terms), Google Business Profile (local visibility and reviews), Google Trends, keyword research, backlinks and link prospects, competitor rankings, site crawls, and AI visibility (does ChatGPT mention your site?).

Ask things like: which keywords am I one push away from page 1 for? Why did traffic drop last month? Which competitor is outranking me, and where? Are my ads and SEO fighting over the same keywords?

Then let it act. On a paid plan, your assistant can prepare SEO fixes, content campaigns, and article drafts. Nothing touches your site until you approve it in SEOmatic, and every change shows before-and-after results.

Connect via OAuth: log in, pick your site, done. No API key needed.

Ownership verified
Status
Healthy
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP
URL

Available Tools

11 tools
campaign_manageAInspect

Read campaigns and stage page-scale, content-sweep, or bulk-edit campaigns and blog articles. All staging is proposal-based and approval-gated; nothing publishes without the user. Available on paid SEOmatic plans: this key is on the free insight tier, so calling any action returns the exact upgrade path to relay to the user instead of refusing. Every staged change still requires human approval in SEOmatic before anything goes live.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNopropose_page_scale only (required): page kind, e.g. "location pages".
rowsNopropose_page_scale, rowSourceKind=user: one object per page.
slugNosave_article only (required): the URL slug.
urlsNopropose_bulk_edit, selectorKind=urls: the pages.
briefNomanage+update_brief: replacement brief. Also propose_page_scale (template brief) and propose_content_sweep (shared direction).
titleNopropose_page_scale (required), propose_content_sweep (required), propose_bulk_edit (optional).
actionYesWhich operation to run. manage (pause/resume/abandon/update a campaign); propose_page_scale (programmatic landing pages at scale); propose_content_sweep (N distinct blog articles as a campaign); propose_bulk_edit (one instruction across many pages); write_articles (direct N-article staging); save_article (save a full article draft (pass title/content/slug) for one-click publish).
topicsNopropose_content_sweep (required, up to 50) and write_articles (required, 2-50). One distinct article per topic.
confirmNomanage + abandon only: must be true to confirm the irreversible action.
contentNosave_article only (required): full Markdown body.
excerptNosave_article only (required): the excerpt.
maxPagesNopropose_bulk_edit only: cap the sweep size.
segmentsNopropose_bulk_edit: advanced mixed-template selectors (overrides selectorKind/instruction).
taskTypeNopropose_bulk_edit only (required): the sweep type, e.g. ctr_fix, schema, content_refresh.
metaTitleNosave_article only: meta title.
rowPromptNopropose_page_scale, rowSourceKind=ai: dataset to generate.
rowTargetNopropose_page_scale only: target number of rows/pages.
campaignIdNomanage only: the campaign to act on.
pathPrefixNopropose_bulk_edit, selectorKind=path_prefix: the prefix.
autoPublishNowrite_articles only: default false (stage as drafts).
instructionNopropose_bulk_edit only: shared per-page brief.
user_intentNoOptional: one short sentence describing what the user is ultimately trying to achieve with this request. Used by SEOmatic to tailor answers and improve the product; never required.
allowGenTextNopropose_page_scale only: allow per-row AI text (costs credits).
manageActionNomanage only: what to do to the campaign.
pageTemplateNopropose_page_scale only: built-in template id.
selectorKindNopropose_bulk_edit only: how to select pages.
rowSourceKindNopropose_page_scale only (required): where page rows come from.
publishAsDraftNopropose_page_scale only: publish pages as drafts.
metaDescriptionNosave_article only: meta description.
libraryDatasetIdNopropose_page_scale, rowSourceKind=library: dataset id to attach.
featuredImagePromptNosave_article only (required): image prompt.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations carry only generic flags (readOnlyHint=false, destructiveHint=false, openWorldHint=true), so the description takes on the behavioral burden and delivers: the approval-gating guarantee ('All staging is proposal-based and approval-gated; nothing publishes without the user') and the free-tier upgrade-path behavior. Both are operational facts an agent cannot infer from the schema or annotations, and neither contradicts the annotation flags.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences around 90 words with the purpose front-loaded in the first sentence. However, the approval-gating point is redundantly stated twice — 'nothing publishes without the user' is restated as 'Every staged change still requires human approval in SEOmatic before anything goes live' — which wastes a sentence that could have held new information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex 31-parameter, 6-action tool, the schema (100% coverage) and output schema already document parameters and return shapes; the description supplies the missing operational context an agent cannot derive elsewhere: the approval gate and the free-tier upgrade-path behavior. That is the most important guidance for calling this tool correctly in the current environment. The only shortfall is the duplicated approval language, not missing substance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the action enum's description already enumerates all six operations with their purposes and required companion fields, so the schema carries the load. The description adds only a high-level grouping of the staging actions and no per-parameter detail beyond what the schema provides. The baseline 3 for high schema coverage applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with specific verbs ('Read', 'stage') tied to concrete resources (campaigns, blog articles) and enumerates the three staging modes (page-scale, content-sweep, bulk-edit). This cleanly differentiates campaign_manage from its research-oriented siblings (keyword_research, site_audit, serp_competitors), which are all read/analysis tools, making the agent's selection unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description delivers a decisive usage signal for this environment: the key is on the free insight tier, so calling any action returns 'the exact upgrade path to relay to the user instead of refusing.' This tells the agent exactly what to expect and how to respond to the user rather than treating the call as a normal execution. It does not explicitly name sibling alternatives or exclusion conditions, but no sibling is a campaign/content tool, so routing is already clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dataset_libraryA
Read-onlyIdempotent
Inspect

The dataset library and page templates that power programmatic pages: list datasets, sample rows, list templates, and read one template. Already scoped to the connected workspace and its site; call directly, no domain or site parameter is needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNodataset_rows only: how many rows to sample.
actionYesWhich operation to run. list_datasets (available datasets); dataset_rows (sample rows from one dataset); list_templates (built-in page templates); get_template (one template in full).
datasetIdNodataset_rows only: the dataset to sample.
templateIdNoget_template only: the template to read.
user_intentNoOptional: one short sentence describing what the user is ultimately trying to achieve with this request. Used by SEOmatic to tailor answers and improve the product; never required.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry readOnly, idempotent, and non-destructive hints. The description adds valuable behavioral context beyond those annotations by confirming the tool is pre-scoped to the connected workspace and site, and that no domain/site parameter is required.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences front-load the tool's scope and enumerate all actions with zero filler. Every clause earns its place, and the critical 'no domain/site parameter needed' note is clearly stated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the full input schema, output schema, and comprehensive annotations, the description supplies the only additional context needed for correct invocation: pre-scoping and the absence of a domain/site parameter. Nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents action, limit, datasetId, templateId, and user_intent. The description only adds a meta-point about scoping and doesn't deepen individual parameter semantics beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names four concrete operations with verb+resource pairs: list datasets, sample rows, list templates, and read one template. This makes the tool's purpose unmistakable and distinguishes it from mutation-focused siblings like import_attachment_as_dataset.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly tells the agent the tool is already scoped to the connected workspace and site, and that it should be called directly without a domain or site parameter. It doesn't explicitly name alternatives or when-not conditions, but this is sufficient guidance for a read-only library tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_ai_visibilityAInspect

Read the workspace's latest completed AI-search visibility scan: per-engine brand visibility (ChatGPT, Claude, Gemini, Perplexity, Grok, Google AI Overviews), the prompts where the brand was MISSED and who won them instead, top competitors across engines, and the sources engines cite (link-target ideas). FREE: reads stored scan results only; it never runs a new scan. If no scan exists it returns the dashboard link to run one.

ParametersJSON Schema
NameRequiredDescriptionDefault
scanIdNoA specific scan to read (from recentScans). Omit for the latest completed scan.
user_intentNoOptional: one short sentence describing what the user is ultimately trying to achieve with this request. Used by SEOmatic to tailor answers and improve the product; never required.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description states 'reads stored scan results only; it never runs a new scan,' which implies a read-only, side-effect-free operation. However, the annotations declare readOnlyHint=false, directly contradicting the description's safety profile. This mixed signal can mislead an agent about whether invoking the tool may have side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but efficient: two sentences convey scope, output contents, the read-only guarantee, and the fallback behavior when no scan exists. Every clause adds useful information with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema is present, so the description correctly avoids explaining return values. It covers all non-obvious operational details an agent needs: read-only behavior, no new scan, and the dashboard-link fallback. This is complete for a tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds no parameter-level detail beyond what the schema already documents for scanId and user_intent, and it does not mention either parameter explicitly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Read the workspace's latest completed AI-search visibility scan' and then enumerates exactly what is returned (per-engine visibility, missed prompts, winners, competitors, sources). This clearly differentiates the tool from its siblings, none of which promise AI-search visibility scanning.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit context for when to call the tool: it reads stored scan results only and 'never runs a new scan,' with a clear fallback behavior (returns dashboard link when no scan exists). It doesn't name an alternative tool, but no sibling tool covers this domain, and the 'FREE' note plus fallback adequately routes the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

import_attachment_as_datasetAInspect

Promote a spreadsheet the user uploaded IN THIS CONVERSATION (CSV/Excel — its preview carries an attachmentId) into a private dataset in their library. Call it when the user wants the file used as campaign data (pages-at-scale rows, bulk targets) or asks to save it as a dataset — the returned id then goes to propose_page_scale_campaign as libraryDatasetId with rowSourceKind 'library'. Only works on files uploaded here (stash lives ~2h); nothing else is creatable this way.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoDataset name (defaults to the file name)
user_intentNoOptional: one short sentence describing what the user is ultimately trying to achieve with this request. Used by SEOmatic to tailor answers and improve the product; never required.
attachmentIdYesThe attachmentId shown in the uploaded file preview

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false. The description adds meaningful behavioral context beyond these: the 2-hour stash lifetime, the private-library destination, and the hard constraint that only conversation-uploaded files are eligible. This is strong but not exhaustive, as it doesn't describe duplicate behavior on repeated calls.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with purpose and then delivers trigger conditions and constraints in a dense paragraph. Every clause adds value, though the single long sentence is slightly run-on; splitting it into separate sentences would improve readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a simple 3-parameter schema, an output schema available, and rich context covering source precondition, trigger, downstream destination, and storage lifetime, the description fully equips an agent to invoke this tool correctly. Nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters. The description adds context around attachmentId ('preview carries an attachmentId') but this is largely redundant with the schema's 'attachmentId shown in the uploaded file preview.' Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Promote a spreadsheet... into a private dataset'), a specific resource (uploaded CSV/Excel with attachmentId), and clearly differentiates from siblings with 'Only works on files uploaded here... nothing else is creatable this way.' This is a clear verb+resource+scope definition.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly tells the agent when to call this tool ('Call it when the user wants the file used as campaign data... or asks to save it as a dataset'), and when not to call it ('Only works on files uploaded here... nothing else is creatable this way'). It also explains the downstream flow with propose_page_scale_campaign, making selection unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

keyword_researchA
Read-onlyIdempotent
Inspect

Research keyword demand: search volume, difficulty, CPC, and intent, plus keyword ideas, Google Trends interest and related queries, and Google Ads keyword performance. Use for what to target and how much demand exists; for who ranks today use serp_competitors. Already scoped to the connected workspace and its site; call directly, no domain or site parameter is needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNosuggestions/ads_performance: max results.
actionYesWhich operation to run. metrics (volume/difficulty/CPC/intent); suggestions (keyword ideas from seeds); compare_trends (Trends interest, keywords side by side); trend (Trends interest over time for one keyword); related (Trends related queries).
keywordNotrend/related: the single keyword to analyze.
keywordsNometrics/suggestions/compare_trends: the seed or target keywords.
user_intentNoOptional: one short sentence describing what the user is ultimately trying to achieve with this request. Used by SEOmatic to tailor answers and improve the product; never required.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, open-world, and non-destructive behavior. The description adds useful behavioral context beyond that: the tool is scoped to the connected workspace and its site, and it can be called directly without a domain parameter. This is meaningful, though more operational details like rate limits or result ordering are not disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two dense sentences with zero filler. It front-loads the primary purpose and output categories, then gives a routing rule and a scoping note that directly affect how the agent should invoke the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a multi-action keyword research tool, the description covers the purpose, output types, key alternative tool, and important scoping behavior. An output schema is present, so return values do not need to be described. An agent has enough context to decide when to call this tool and how to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% coverage and fully explains each parameter and the action enum. The description adds one valuable parameter-related clarification: no domain or site parameter is needed because the tool is already scoped, which helps prevent an agent from inventing a non-existent parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource ('Research keyword demand') and enumerates the concrete outputs: search volume, difficulty, CPC, intent, keyword ideas, Google Trends interest, related queries, and Google Ads performance. It also explicitly distinguishes itself from serp_competitors, so an agent can tell exactly which tool answers which question.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit guidance: use this tool for what to target and demand existence, and use serp_competitors for who ranks today. It also states that the tool is already scoped to the connected workspace and site, so no extra domain or site parameter is needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

local_presenceA
Read-onlyIdempotent
Inspect

Read the local search presence of the connected business: Business Profile locations, local ranking for money keywords, and review ratings. Available actions depend on what is connected for this workspace. Use for local and map-pack questions; for national rankings use serp_competitors. Already scoped to the connected workspace and its site; call directly, no domain or site parameter is needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesWhich operation to run. visibility (local organic position for keywords).
keywordsNovisibility only: the money keywords to measure.
user_intentNoOptional: one short sentence describing what the user is ultimately trying to achieve with this request. Used by SEOmatic to tailor answers and improve the product; never required.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnly, idempotent, and non-destructive behavior, so the description does not need to restate safety. It adds meaningful behavioral context by disclosing that available actions depend on workspace connections and that results are already scoped to the connected workspace and site. This goes beyond the structured annotations and helps the agent understand variability and invocation expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with no filler. The first sentence states purpose, the second flags a dependency caveat, and the third gives usage guidance plus an explicit alternative. Every sentence earns its place, and the most decision-relevant information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's modest complexity, full parameter schema coverage, output schema presence, and safety annotations, the description covers everything an agent needs: what the tool reads, when to use it, which sibling to prefer otherwise, the dependency on workspace connections, and the fact that no domain/site parameter is required. There are no material gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds useful semantic context: it refers to 'money keywords' for the keywords parameter and clarifies that no domain or site parameter is needed, reducing the chance of the agent inventing parameters. The action enum is already well documented in the schema, and the description reinforces that actions depend on workspace connectivity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear verb-resource pairing: 'Read the local search presence of the connected business,' and enumerates what that includes: Business Profile locations, local ranking for money keywords, and review ratings. It also explicitly distinguishes itself from the sibling tool serp_competitors by scoping this tool to local and map-pack questions, making it easy for an agent to select correctly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives direct usage guidance: 'Use for local and map-pack questions; for national rankings use serp_competitors.' It also tells the agent not to pass domain or site parameters because the tool is already scoped to the connected workspace, and notes that available actions depend on what is connected. This is explicit, actionable, and prevents misuse.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

serp_competitorsA
Read-onlyIdempotent
Inspect

Inspect the live search landscape: which SERP features (AI Overview, snippet, PAA, local pack, video) appear for a keyword, plus domain-level top rankings, visibility distribution, and competitor domains. Use for who ranks and why; for keyword demand use keyword_research. Already scoped to the connected workspace and its site; call directly, no domain or site parameter is needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNomax results where applicable.
actionYesWhich operation to run. features (which SERP features appear for a keyword); domain_rankings (top keywords a domain ranks for); domain_overview (organic visibility distribution); domain_competitors (domains ranking for similar keywords).
domainNodomain_rankings/domain_overview/domain_competitors: the domain. Omit for the connected workspace's own site (the server fills it in); pass only for a competitor.
keywordsNofeatures only: the keyword(s) to inspect.
user_intentNoOptional: one short sentence describing what the user is ultimately trying to achieve with this request. Used by SEOmatic to tailor answers and improve the product; never required.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already supply readOnly, idempotent, and non-destructive hints, so the bar is lower; the description adds meaningful behavior by noting the tool inspects live data and is already scoped to the connected workspace. It explicitly says to call directly and omit the domain for the workspace's own site, passing a domain only for competitors. No contradiction with the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with no filler: the first packs the tool's scope, the second gives the use-case, and the third clarifies scoping and call convention. The most important information is front-loaded. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the multi-action nature, the description plus the fully documented schema and output schema cover the key requirements: what it inspects, which sibling covers demand, how domain/scoping works, and what each action returns. No critical calling information is missing for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the action enum entries already document each operation thoroughly, so the description does not need to repeat parameter syntax. It contributes a small contextual note about not needing a domain/site parameter for the workspace's own site, but the schema's domain field already says this. This is the baseline schema-driven score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description opens with a specific verb ('Inspect') and resource ('live search landscape'), then enumerates concrete outputs: SERP features, domain-level top rankings, visibility distribution, and competitor domains. It also distinguishes itself from the sibling keyword_research by assigning that tool to 'keyword demand.' This is enough for an agent to know what the tool does and when to pick it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit usage framing: 'Use for who ranks and why' versus 'for keyword demand use keyword_research,' naming the relevant alternative. It also tells the agent the tool is pre-scoped to the connected workspace, so no domain/site parameter is required for the own-site case. This is clear guidance without ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

site_auditAInspect

Site-WIDE technical SEO audit: crawls up to 30 of the workspace's pages (from the synced page inventory, or pass specific urls) and aggregates cross-page issues a single-page check cannot see - duplicate titles and meta descriptions, missing metas, thin content, noindex leaks, canonical mismatches, slow pages, dead pages, and broken internal links (link targets are HEAD-checked). FREE: fetches with SEOmatic's own crawler, no vendor spend. Bounded by a time budget; a partial crawl says so explicitly.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlsNoSpecific pages to audit (max 30). Omit to audit the newest pages from the synced inventory.
limitNoHow many inventory pages to crawl when urls is omitted (default 20).
user_intentNoOptional: one short sentence describing what the user is ultimately trying to achieve with this request. Used by SEOmatic to tailor answers and improve the product; never required.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are sparse (only readOnlyHint, openWorldHint, idempotentHint, destructiveHint), so the description carries the burden and does so well. It discloses the crawler used, the 30-page bound, the free/no-vendor-spend trait, the time budget, the explicit partial-crawl notification, and the HEAD-check behavior for link targets.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every sentence earns its place: scope, crawl source, issue examples, cost, and behavioral caveats. The most important decision-relevant phrase, 'Site-WIDE technical SEO audit,' is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists and parameters are fully documented, the description covers everything else an agent needs: what pages are crawled, default versus explicit urls, cost implications, time limits, and how partial results are reported.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters. The description adds useful context about the inventory source and url override but does not need to compensate for missing schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Site-WIDE technical SEO audit' and names a concrete verb-resource pair that separates it from single-page checks. It enumerates the exact cross-page issue categories it aggregates, so an agent can immediately identify when this tool and not another one is needed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly states the tool is for cross-page issues that 'a single-page check cannot see,' giving the agent a useful selection criterion versus the sibling site_pages tool. It does not explicitly name an alternative or provide when-not-to-use exclusions, but the contrast with single-page checks is strong enough context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

site_pagesA
Read-onlyIdempotent
Inspect

Analyze pages: on-page SEO score and critical issues for a URL, raw crawl metadata (title, meta, headings, links), and the page inventory of the site. Use for page-level diagnosis; for search performance of those pages use gsc_performance. Already scoped to the connected workspace and its site; call directly, no domain or site parameter is needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoanalyze/crawl: the URL to inspect.
actionYesWhich operation to run. analyze (SEO score + critical issues); crawl (title/meta/headings/links).
user_intentNoOptional: one short sentence describing what the user is ultimately trying to achieve with this request. Used by SEOmatic to tailor answers and improve the product; never required.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation already declares read-only, idempotent, non-destructive behavior. The description goes beyond by clarifying the scoping behavior (already bound to workspace/site) and summarizing the returned data types. It does not mention edge cases or error conditions, but that is not essential given the safe annotation profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: it states the action, lists outputs, gives usage guidance, and notes scoping in three sentences. No redundant or filler content is present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the moderate complexity, the description fully covers the tool's purpose, usage context, and scoping. The existence of an output schema (as per context signals) means the description does not need to explain return structures, so it is complete as is.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with detailed descriptions for each parameter (action, url, user_intent). The tool description adds no extra meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Analyze pages') and enumerates concrete outputs: on-page SEO score, critical issues, raw crawl metadata, and page inventory. It also explicitly differentiates from the sibling tool gsc_performance, making its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides direct guidance: 'Use for page-level diagnosis; for search performance of those pages use gsc_performance.' It also tells the agent that the tool is pre-scoped, so no domain or site parameter is required, eliminating confusion about invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

task_manageAInspect

Read the agent's plan board and stage new SEO task proposals. Proposals NEVER execute: each is an approval-gated card the user reviews. Available on paid SEOmatic plans: this key is on the free insight tier, so calling any action returns the exact upgrade path to relay to the user instead of refusing. Every staged change still requires human approval in SEOmatic before anything goes live.

ParametersJSON Schema
NameRequiredDescriptionDefault
tasksNocreate only: up to 5 task objects to stage as proposals (see the SEOmatic docs for the task shape).
actionYesWhich operation to run. create (stage up to 5 task proposals); decide (approve or dismiss a staged proposal (the approval loop)).
taskIdNoget/decide: the task to read or decide.
decisionNodecide only: approve releases the task to the gated pipeline; dismiss archives it. Indexation-destructive types are refused over the API.
user_intentNoOptional: one short sentence describing what the user is ultimately trying to achieve with this request. Used by SEOmatic to tailor answers and improve the product; never required.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond annotations by disclosing that proposals NEVER execute, every change requires human approval, and this key returns an upgrade path instead of refusing. These are critical behavioral traits that annotations alone don't convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences, each earning its place: purpose, non-execution guarantee, approval gating, and the free-tier upgrade-path behavior are all front-loaded with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the core workflow and the free-tier behavior well, and an output schema exists so return values need not be repeated. However, the opening promise to 'Read the agent's plan board' is not cleanly supported by the action enum (only create and decide), and the description doesn't resolve that mismatch or give explicit routing guidance compared to siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds useful framing about approval gating and upgrade behavior, but doesn't add per-parameter meaning beyond what the schema already provides for action, tasks, taskId, decision, and user_intent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific purpose: read the agent's plan board and stage new SEO task proposals. It clarifies these are approval-gated and never execute, which distinguishes this from execution-oriented SEO tools. It doesn't explicitly name a sibling, but the task-proposal framing makes the tool's role reasonably clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives useful context: the tool is paid-plan only, this key is on the free tier, and any action returns an upgrade path to relay. It also explains the approval-gated workflow. However, it doesn't explicitly say when to use this tool versus alternatives or when not to use it, leaving some usage inference to the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 11 tool updates
    • Changedbacklink_profile1 field changed
      • addedInput schema / properties / user_intent
        Added value: +{
        +  "description": "Optional: one short sentence describing what the user is ultimately trying to achieve with this request. Used by SEOmatic to tailor answers and improve the product; never required.",
        +  "maxLength": 300,
        +  "type": "string"
        +}
    • Changedcampaign_manage1 field changed
      • addedInput schema / properties / user_intent
        Added value: +{
        +  "description": "Optional: one short sentence describing what the user is ultimately trying to achieve with this request. Used by SEOmatic to tailor answers and improve the product; never required.",
        +  "maxLength": 300,
        +  "type": "string"
        +}
    • Changeddataset_library1 field changed
      • addedInput schema / properties / user_intent
        Added value: +{
        +  "description": "Optional: one short sentence describing what the user is ultimately trying to achieve with this request. Used by SEOmatic to tailor answers and improve the product; never required.",
        +  "maxLength": 300,
        +  "type": "string"
        +}
    • Addedget_ai_visibility
    • Changedimport_attachment_as_dataset1 field changed
      • addedInput schema / properties / user_intent
        Added value: +{
        +  "description": "Optional: one short sentence describing what the user is ultimately trying to achieve with this request. Used by SEOmatic to tailor answers and improve the product; never required.",
        +  "maxLength": 300,
        +  "type": "string"
        +}
    • Changedkeyword_research1 field changed
      • addedInput schema / properties / user_intent
        Added value: +{
        +  "description": "Optional: one short sentence describing what the user is ultimately trying to achieve with this request. Used by SEOmatic to tailor answers and improve the product; never required.",
        +  "maxLength": 300,
        +  "type": "string"
        +}
    • Changedlocal_presence1 field changed
      • addedInput schema / properties / user_intent
        Added value: +{
        +  "description": "Optional: one short sentence describing what the user is ultimately trying to achieve with this request. Used by SEOmatic to tailor answers and improve the product; never required.",
        +  "maxLength": 300,
        +  "type": "string"
        +}
    • Changedserp_competitors1 field changed
      • addedInput schema / properties / user_intent
        Added value: +{
        +  "description": "Optional: one short sentence describing what the user is ultimately trying to achieve with this request. Used by SEOmatic to tailor answers and improve the product; never required.",
        +  "maxLength": 300,
        +  "type": "string"
        +}
    • Addedsite_audit
    • Changedsite_pages1 field changed
      • addedInput schema / properties / user_intent
        Added value: +{
        +  "description": "Optional: one short sentence describing what the user is ultimately trying to achieve with this request. Used by SEOmatic to tailor answers and improve the product; never required.",
        +  "maxLength": 300,
        +  "type": "string"
        +}
    • Changedtask_manage1 field changed
      • addedInput schema / properties / user_intent
        Added value: +{
        +  "description": "Optional: one short sentence describing what the user is ultimately trying to achieve with this request. Used by SEOmatic to tailor answers and improve the product; never required.",
        +  "maxLength": 300,
        +  "type": "string"
        +}
  2. 1 tool update
    • Addedimport_attachment_as_dataset
  3. 2 tool updates
    • Addedcampaign_manage
    • Addedtask_manage
  4. 6 tool updates
    • Changedbacklink_profile2 fields changed
      • changedInput schema / required
        Previous value: -[
        -  "action",
        -  "domain"
        -]New value: +[
        +  "action"
        +]
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "description": "A JSON object whose fields depend on the chosen action. Non-JSON results arrive as { result: string }. The text content block always carries the same data serialized.",
        +  "type": "object"
        +}
    • Changeddataset_library1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "description": "A JSON object whose fields depend on the chosen action. Non-JSON results arrive as { result: string }. The text content block always carries the same data serialized.",
        +  "type": "object"
        +}
    • Changedkeyword_research2 fields changed
      • removedInput schema / properties / days
        Removed value: -{
        -  "description": "ads_performance: look-back window in days.",
        -  "type": "number"
        -}
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "description": "A JSON object whose fields depend on the chosen action. Non-JSON results arrive as { result: string }. The text content block always carries the same data serialized.",
        +  "type": "object"
        +}
    • Changedlocal_presence2 fields changed
      • removedInput schema / properties / location
        Removed value: -{
        -  "description": "reviews only: the Business Profile location id.",
        -  "type": "string"
        -}
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "description": "A JSON object whose fields depend on the chosen action. Non-JSON results arrive as { result: string }. The text content block always carries the same data serialized.",
        +  "type": "object"
        +}
    • Changedserp_competitors1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "description": "A JSON object whose fields depend on the chosen action. Non-JSON results arrive as { result: string }. The text content block always carries the same data serialized.",
        +  "type": "object"
        +}
    • Changedsite_pages2 fields changed
      • removedInput schema / properties / limit
        Removed value: -{
        -  "description": "inventory only: max pages to return.",
        -  "type": "integer"
        -}
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "description": "A JSON object whose fields depend on the chosen action. Non-JSON results arrive as { result: string }. The text content block always carries the same data serialized.",
        +  "type": "object"
        +}
  5. 6 tool updates
    • First observedbacklink_profile
    • First observeddataset_library
    • First observedkeyword_research
    • First observedlocal_presence
    • First observedserp_competitors
    • First observedsite_pages

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.2/5.0
Disambiguation5/5

Each tool targets a distinct SEO domain: backlinks, campaigns, datasets, AI visibility, keyword research, local presence, SERP, site audit, page analysis, and tasks. The two 'manage' tools are clearly separated by campaign vs task, and descriptions actively cross-reference each other to disambiguate. No two tools appear to do the same thing.

Naming Consistency3/5

Tool names mix conventions: bare noun phrases (backlink_profile, site_pages), object-verb forms (campaign_manage, task_manage), and verb-first forms (get_ai_visibility, import_attachment_as_dataset). The 'site_' prefix is used for only two tools, and 'manage' is reused inconsistently. While readable, the naming lacks a predictable pattern.

Tool Count5/5

11 tools is well-scoped for a broad SEO platform, covering technical, keyword, SERP, backlink, local, AI visibility, dataset, and workflow management. Each tool earns its place, and the count feels neither bloated nor thin.

Completeness4/5

The set covers major SEO analysis workflows and adds campaign/task management plus dataset support. However, site_pages references a 'gsc_performance' tool that is not included, and dataset management is read-only plus import-only, lacking update/delete. These are minor gaps that agents can work around.

Resources