Skip to main content
Glama
AntonioBlago

VisiblyAI MCP Server

by AntonioBlago

VisiblyAI MCP Server

What the NSS (Neuro-SEO Score) measures (Deutsch): assessment areas, reproducible feedback and limits. The score is an editing aid, not a ranking or AI-citation guarantee.

Its methodological foundation is Antonio Blago's Neuro-SEO-System® (German overview), which combines search engine optimization with buying psychology.

SEO tools for Claude Code, OpenAI Codex, GitHub Copilot and other MCP clients. Free local tools + paid API-powered analysis.

Plugins: Install from the public Visibly marketplace or download a ZIP for Claude Code, Codex or Copilot CLI. Each includes the article-writing and NSS optimization skill; see the client-specific MCP setup instructions.

From the assistant to your website: these plugins connect the assistant to Visibly for briefings, NSS scoring and drafts. The Visibly AI CMS Connector is the separate Python SDK on the CMS side: receive signed webhooks, fetch articles and confirm published URLs. anyCMS provides the concrete WordPress, Astro, Next.js and Flask use cases. See the complete integration explained in German.

Production routing: MCP clients connect to https://mcp.visibly-ai.com/mcp. The installed package sends API-backed tool calls to https://app.visibly-ai.com/api/v1/mcp. The marketing domain visibly-ai.com is not an API host.

Free tools (no API key needed): keyword classifier, SEO checklists, best practices, URL analysis, Google guidelines, workflow skills.

Paid tools (require API key + credits): traffic analysis, keyword research, backlinks, competitors, OnPage SEO audit, PageSpeed/Core Web Vitals, SERP analysis, sitemap audit, structured data validation, hreflang checks, link checking, SEO agents, SEO workflows, advanced keyword classification.

Quick Start

No Python or pip needed. Just add a URL to your Claude Code config:

# With API key (all 84 tools):
claude mcp add --transport http \
  --header "Authorization: Bearer lc_your_key" \
  visiblyai https://mcp.visibly-ai.com/mcp

# Without API key (public tools only):
claude mcp add --transport http visiblyai https://mcp.visibly-ai.com/mcp

Option 2: uvx (local, no install needed)

claude mcp add --transport stdio \
  --env VISIBLYAI_API_KEY=lc_your_key \
  visiblyai -- uvx visiblyai-mcp-server

Option 3: pip install (local)

pip install visiblyai-mcp-server
claude mcp add --transport stdio \
  --env VISIBLYAI_API_KEY=lc_your_key \
  visiblyai -- visiblyai-mcp-server

Then restart Claude Code.

No API key? Free tools work without one. Get an API key at app.visibly-ai.com/register to unlock paid tools.

Related MCP server: Rampify MCP Server

Tools

Free (local, no credits) — 8 tools

Tool

Description

classify_keywords_simple

Classify keywords by intent, funnel stage, brand type, topic (local regex, DE+EN)

seo_checklist

5 checklists: general, blog, ecommerce, discover, backlink

seo_guidance

Best practices: title tags, EEAT, Core Web Vitals, schema, and more

get_google_guidelines

Official Google Search guidelines by category (scraped weekly)

get_skill

Fetch SEO workflow guides: audit, keyword research, competitor analysis

analyze_url_structure

Check URL SEO-friendliness

get_account_info

Check your credit balance and tier

list_locations

Available countries for paid tools

Paid (API-powered, uses credits) — 20 tools

Tool

Credits

Description

classify_keywords_advanced

varies

Keyword classification with DataForSEO Search Intent API + regex (more accurate intent)

get_traffic_snapshot

varies

Current organic/paid traffic for a domain

get_historical_traffic

varies

Traffic trends (up to 5 years)

get_keywords

varies

Top ranking keywords with volume and position

get_competitors

varies

Competitor domains by keyword overlap

get_backlinks

varies

Backlink profile with Domain Rating

get_referring_domains

varies

Referring domains with authority scores

validate_keywords

varies

Search volume, competition, CPC for keyword list

crawl_website

15-60

Live crawl + optional 24-point OnPage analysis

onpage_analysis

15

Full 24-point OnPage SEO audit

check_serp

15

Live Google SERP results for a keyword: top organic results with position, URL, domain

check_pagespeed

5

Google PageSpeed Insights + Core Web Vitals: LCP, CLS, TBT, performance score

audit_sitemap

20

XML sitemap audit: total URLs, duplicates, broken links, lastmod coverage

check_structured_data

5

JSON-LD and microdata validation: schema types, required fields, errors

check_hreflang

10

Hreflang validation: x-default, language codes, bidirectional linking

check_links

20

Broken link detection on a page

seo_agent

varies

Run specialized SEO agents: analyst, strategist, copywriter, consultant

seo_workflow

150-200

Multi-step SEO workflows: seo_performance_audit, indexing_diagnosis

query_knowledge_base

2

Semantic RAG search over SEO knowledge base, blog articles, Google guidelines

query_fanout

10-60

AI query fan-out and content coverage analysis

Google & Project (API key required, 0 credits) — 5 tools

These tools use your own Google OAuth tokens connected via the VisiblyAI platform.

Tool

Description

list_projects

List your EEAT projects with scores and status

get_project

Get project details, competitors, and Google connections

get_google_connections

Show connected GSC/GA4 properties and pairings

query_search_console

Query GSC: clicks, impressions, CTR, position by query/page/country/device

query_analytics

Query GA4: traffic overview, top pages, traffic sources, revenue

Project data & content (API key required, 0 credits, read-only) — 15 tools

Nothing here writes back to visibly or spends credits. Team members read on the project owner's data; area roles apply (analytics / seo_tools / content).

Tool

What it returns

get_gsc_clusters

Topic clusters (top_n), quick wins, alerts, computing/stale flags

get_cluster_keywords

Keywords of one cluster, paginated (cluster_key from the overview)

get_analytics_insights

GA4 flow, funnel, channels, AI-referrer signals

get_revenue_insights

Revenue totals, top keywords/pages, Pareto, cluster revenue

get_scorecard

KPI scorecard, 28 or 90 days

get_eeat_summary

E-E-A-T scores, trend, open todos, competitors

list_pages

Page inventory with GSC metrics and index state

get_internal_links

Link-graph summary + orphans, or inbound links of one URL

recall

Facts remembered in the visibly chat (tier Pro)

list_articles / get_article

Articles; text only on request, chunked

list_content_queries / get_content_briefing / get_content_status

Content analyses, briefing, status

score_text

Brand + AI-slop check, NSS with a finished analysis

Agent self-optimization skill

Load get_skill(name="content-nss-optimize"), then ask: "Write this article using the project briefing, improve it yourself with Visibly scoring until NSS 80, save the best draft and show its editor link." The portable SKILL.md works as instructions for Claude, Codex or another MCP-capable agent. It also supports a requested target of 70, checks headings/text/links, stops at a plateau, and re-scores the saved text. Visibly generation is never used for this loop. External agent tokens and separately requested data analysis retain their usual costs.

Claude Code and API-key-capable MCP clients use the existing HTTP connection. An OpenAI Responses API agent can use the same server_url and pass the Visibly key as authorization (official MCP guide). Direct ChatGPT plugin sign-in additionally needs an OAuth-compatible login; the current API-key connection alone is not a completed ChatGPT plugin integration (authentication requirements).

Content workflow (API key with scoped rights) — 36 tools

Read the editor context, research keywords, create and analyze a query, write and optimize drafts, approve articles, configure CMS connections, publish, and review optimizer suggestions. The Visibly server operator must enable the relevant write stage. Grant only the required rights in Visibly Settings → API key & MCP; existing keys do not receive new rights automatically.

Writing in Claude: read an existing analyzed query and briefing, let Claude write the text, then call submit_article_draft with that query_id and its current expected_query_revision. Show the returned editor_url as a clickable link. Saving uses 0 Visibly credits and never starts Visibly text generation. The editor automatically scores the text for 0 credits against the analyzed query; score_text also provides free feedback within Claude. New SERP/content analyses via create_content_query are separately paid. Without a ready analysis, full NSS scoring is unavailable. Do not call generation, regeneration, queueing or paid optimization simply to save or score Claude's text. Automatic browser opening depends on the Claude client; the MCP response provides the link.

Tool

Description

get_content_query / list_content_queries / get_content_briefing / get_content_status

Read query, draft, briefing, analysis and generation state; draft bodies are paginated

create_content_query

Analyze a keyword and create a content query (paid; content:write + spending:execute)

save_content_query_draft

Save HTML/Markdown with revision protection and sanitization (content:write)

generate_article_from_query

Queue AI generation from a ready query (paid; content:write + spending:execute)

optimize_content_draft

Return a measured editor optimization proposal; does not save (paid; spending:execute)

submit_article_draft

Hand your own text over as an article draft (query, draft and article in one transaction; HTML is sanitized)

update_article

Edit a draft or rejected article with expected_revision (409 on conflict)

edit_content_article

Full editor save for editable lifecycle states; snapshots the old version and checks expected_revision

regenerate_content_article

Requeue an eligible article for paid generation (content:write + spending:execute)

change_article_status

Approve, reject, archive or queue; approval requires content:approve and sends the normal approval webhook. Queueing additionally requires spending:execute, plan access, member budget and owner credits

list_cms_connections / create_cms_connection / test_cms_connection / delete_cms_connection

Manage and test project CMS connections (cms:manage)

create_contentpilot_key / get_contentpilot_key_status / revoke_contentpilot_key

Manage the project-scoped Pull API key; plaintext only on creation (cms:manage)

publish_article / update_cms_article

Publish an approved article or update its existing CMS entry (content:publish)

get_article_workflow

Read editor links, published-article conflicts and CMS transfer status; optionally compare saved content with the website (0 credits, no writes)

pull_live_article / set_article_live_url

Read the live page into a proposal or connect/disconnect its public URL

list_article_backups / get_article_backup / restore_article_backup

Read and restore editor/CMS versions; restore requires the current article revision

get_optimizer_settings / update_optimizer_settings

Read and change optimizer and autolink settings (content:write)

run_content_optimizer

Start a paid optimizer run (content:write + spending:execute)

list_optimizer_suggestions / approve_optimizer_suggestion / reject_optimizer_suggestion / undo_optimizer_suggestion

Review and apply measured suggestions; applying/undoing requires content:approve. Snippet/link changes also require content:publish for automatic CMS writeback; topic suggestions do not

get_mcp_operation

Status and result of one of your write operations

remember

Store a fact in your own visibly brain (key right memory:write; account or project scope; read back by recall and the chat)

import_meeting_preview

Turn a meeting transcript into a reviewable proposal: brain facts with categories and entities, brand rules, personas, profile fields (15 credits, nothing written)

import_meeting_apply

Write the reviewed selection: facts into your brain (memory:write), rules, personas and profile into the project (content:write); 0 credits, idempotent

Webhook secrets and cp_ keys created through MCP are returned once. Store them in the hosting provider's secret manager; never paste them into source code or logs. The Visibly MCP creates and tests the CMS connection but does not write Vercel, Railway, Hetzner, or other host environment variables. Use that provider's authorized MCP or secret manager for deployment configuration.

The paid optimizer run and article generation require the spending:execute key scope; the caller must still pass the project budget, tier and credit checks. The server reports their actual errors rather than silently degrading into free actions.

Limits: 60 requests/minute per key, responses up to 256 KiB (lists continue via page.next_offset), requests up to 512 KiB. Errors come as {"error": "<code>", "message": ...} (not_found, role_no_access, rate_limited, result_too_large, ...).

Examples

In Claude Code, just ask naturally:

> Classify these keywords: "seo tool kaufen", "was ist seo", "seo agentur berlin"

> Give me the blog SEO checklist in German

> What are the best practices for title tags?

> What does Google say about EEAT?

> Get the top keywords for example.com

> Run an OnPage SEO analysis on https://example.com/page for the keyword "seo tool"

> Run a full SEO performance audit for example.com (project_id: 12)

> Search the knowledge base for structured data best practices

Configuration

Environment Variable

Variable

Required

Description

VISIBLYAI_API_KEY

For API-backed tools

API key from app.visibly-ai.com

VISIBLYAI_API_URL

No

Override the API base URL for local development or staging

Getting an API Key

  1. Sign up at app.visibly-ai.com/register

  2. Go to Settings > API Keys

  3. Create a new key (starts with lc_)

  4. Add it to your Claude Code MCP config

Subscription Tiers

Tier

Credits/month

Price

Free

0

Free

Standard

9,000

€49/mo

Pro

30,000

€149/mo

Agency

90,000

€499/mo

Requirements

  • Python 3.10+

  • Claude Code CLI

Development

Run the test suite with PYTHONPATH=src, not a plain python -m pytest:

PYTHONPATH=src python -m pytest tests -q --ignore=tests/integration

Without PYTHONPATH=src, python -m pytest can resolve visiblyai_mcp against an installed package version instead of the local src/ checkout, so tests run against the wrong code. --ignore=tests/integration skips the tests that need a live API key.

License

MIT

Available Tools

84 tools
analyze_url_structureB

Analyze a URL for SEO-friendliness. Checks length, structure, and common issues.

Free tool - no API key or credits required.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, and the description lacks behavioral disclosure. It does not mention read-only nature, rate limits, authentication needs, or what the output entails. The existence of an output schema is not leveraged.

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?

Extremely concise: two sentences that are front-loaded with the main purpose, followed by a valuable note about being free. No superfluous words.

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?

Given the tool's simplicity (1 param, no annotations, output schema exists), the description is minimally adequate. It covers the core action but omits details about what 'common issues' are or expected output format.

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

Parameters2/5

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

Single parameter 'url' with 0% schema description coverage. The description adds no semantic meaning beyond the parameter name—no format, examples, or constraints. The description should compensate but does not.

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 clearly states the verb (Analyze), resource (URL), and purpose (SEO-friendliness). It specifies what it checks (length, structure, common issues), distinguishing it from sibling tools like onpage_analysis which is more comprehensive.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus siblings. The only hint is 'Free tool - no API key or credits required,' which is not a usage guideline but a pricing note. No context for when to choose this over other SEO analysis tools.

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

approve_optimizer_suggestionA

Apply an optimizer suggestion; requires content:approve.

Snippet and link changes additionally require content:publish for automatic CMS writeback. Topic suggestions only create a query and do not require publishing rights.

ParametersJSON Schema
NameRequiredDescriptionDefault
suggestion_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses required scopes (content:approve, content:publish), a side effect (automatic CMS writeback), and differing behavior per suggestion type (topic suggestions only create a query). It omits reversibility/undo behavior and failure modes, but the permission and side-effect disclosure is strong.

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?

Three compact sentences, front-loaded with the primary action and permission gate. Each sentence adds distinct information (base requirement, conditional CMS requirement, topic-suggestion exception) with no redundancy.

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?

An output schema exists, so return values need not be explained. The description covers the permission model and per-type behavior, which is the key context for this mutation tool. It could still mention reversibility given the sibling undo/reject tools, but overall it is sufficiently complete.

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

Parameters2/5

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

Schema description coverage is 0% and there is one required parameter (suggestion_id), yet the description says nothing about it — not its format, nor that it should come from list_optimizer_suggestions. The description fails to compensate for the coverage gap.

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?

States a specific verb+resource ('Apply an optimizer suggestion') and elaborates on the different outcomes depending on suggestion type. It does not explicitly name which siblings it is not (reject_optimizer_suggestion, undo_optimizer_suggestion), but the action is unambiguous.

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?

Provides useful conditional guidance on when different permission requirements apply (snippet/link vs topic suggestions), which implicitly frames when the tool acts directly on CMS versus just creating a query. However, it never says when to use this over reject_optimizer_suggestion or undo_optimizer_suggestion, so alternative selection is left to inference.

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

audit_sitemapB

Audit a site's XML sitemap: total URLs, duplicates, broken links, lastmod coverage. Credits: 20.

Requires VISIBLYAI_API_KEY. Use get_account_info to check your balance.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

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

The description discloses the cost (20 credits) and required API key, but with no annotations, it lacks other behavioral traits like rate limits, side effects, or safety. It does not explicitly state if it's read-only.

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 concise sentences covering purpose and prerequisites, with no wasted words. The essential information is front-loaded.

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?

Given the single parameter and presence of an output schema, the description covers core functionality and credit cost. However, it omits prerequisites like sitemap accessibility or handling of missing sitemaps.

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

Parameters2/5

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

The only parameter 'domain' has no description in the schema (0% coverage), and the tool description does not clarify the expected format (e.g., with/without protocol, path to sitemap). This leaves ambiguity for the agent.

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 clearly states the tool audits an XML sitemap, listing specific checks (total URLs, duplicates, broken links, lastmod coverage). However, it does not differentiate from sibling tools like crawl_website or check_links that might overlap.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives. It only mentions an API key requirement and checking balance via get_account_info, but does not specify when the sitemap audit is appropriate or exclusions.

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

change_article_statusB

Review an article. Approval requires content:approve and triggers the normal CMS webhook.

Queueing additionally requires spending:execute, content plan access, member budget and owner credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
article_idYes
new_statusYes
project_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does so well: it discloses that approval triggers the normal CMS webhook and enumerates the permission and budget prerequisites for queueing. This is exactly the kind of side-effect and authorization context an agent needs before calling a write tool.

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?

Only two sentences and both are dense with operational detail. The opening 'Review an article' is the one soft spot, being somewhat imprecise, but nothing is padded.

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?

An output schema exists so return values need not be described, and the permission/webhook behavior is covered. Gaps remain: no sibling differentiation for a tool sitting among many article-mutation tools, and no coverage of two of three parameters.

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 0%, so the description must compensate. It adds meaning for the new_status parameter (approved and queued semantics and their requirements) but ignores rejected and archived enum values entirely and says nothing about article_id or project_id.

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

Purpose3/5

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

The name and enum make the intent clear (changing an article's status to approved/rejected/archived/queued), but the opening sentence 'Review an article' is vague and arguably misleading for a mutation tool. It never states the full verb+resource scope or distinguishes itself from siblings like publish_article or update_cms_article.

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?

It gives useful when-context for two of the four statuses: approval needs content:approve and queueing needs spending:execute plus several account-level conditions. However, it says nothing about when to choose this tool over publish_article, update_article, or submit_article_draft, and rejected/archived paths are unexplained.

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

check_hreflangA

Validate hreflang annotations: x-default, language codes, broken targets, bidirectional linking. Credits: 10.

Requires VISIBLYAI_API_KEY. Use get_account_info to check your balance.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses credit cost (10 credits) and the requirement for VISIBLYAI_API_KEY, plus hints to check balance via get_account_info. However, it does not describe error handling, response format, or side effects beyond validation.

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 extremely concise with two sentences, front-loading the main purpose and then adding essential behavioral info (credits, API key). Every sentence earns its place with no redundancy.

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?

Given the simple tool (one parameter, output schema exists), the description covers the core functionality, cost, and prerequisites. It could be slightly improved by adding context about what constitutes a 'valid' hreflang, but overall it is sufficient for the agent to understand the tool's role.

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

Parameters2/5

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

Schema coverage for the single parameter 'url' is 0%, and the description does not add any meaning about the parameter (e.g., expected format, whether it must be absolute, etc.). The tool's name implies it's a URL but nothing beyond the schema's minimal 'type: string' and 'required'.

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 tool validates hreflang annotations and lists specific aspects (x-default, language codes, broken targets, bidirectional linking). It distinguishes from sibling tools like check_links and analyze_url_structure which focus on different aspects.

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 implicitly suggests usage when validating hreflang tags but does not provide explicit when-to-use or when-not-to-use guidance, nor does it compare with alternatives. The name alone implies context but lacks explicit direction.

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

check_pagespeedB

Check PageSpeed and Core Web Vitals for a URL. Returns performance, accessibility, SEO scores, LCP, CLS, TBT, and optimization opportunities. Credits: 5.

Requires VISIBLYAI_API_KEY. Use get_account_info to check your balance.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
strategyNomobile

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description bears full responsibility. It discloses credit consumption and API key requirement, and lists return metrics. However, it doesn't mention if the tool is read-only, rate limits, error handling, or destructive behavior. Basic transparency is present but gaps remain.

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 brief (two sentences) and front-loaded with the core functionality. It is concise without unnecessary detail. However, it could be improved by structuring the parameter information and listing the return values more systematically.

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?

Given no annotations but an output schema exists, the description covers main return values and credit cost. However, it lacks detail on parameter usage, error scenarios, and integration context. For a tool with only two parameters and a clear purpose, this is barely adequate.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must compensate. It does not mention either parameter ('url' or 'strategy') and provides no guidance on their values or defaults. The default for 'strategy' (mobile) is not indicated. This fails to add meaning beyond the schema structure.

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 tool checks PageSpeed and Core Web Vitals, listing specific metrics (performance, accessibility, SEO scores, LCP, CLS, TBT, optimization opportunities). The verb 'Check' and resource 'PageSpeed' are specific, and the purpose is well-differentiated from sibling tools by its focus on page speed metrics.

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 provides context like credit cost and required API key, and suggests using 'get_account_info' to check balance. However, it gives no explicit guidance on when to use this tool versus alternatives, nor does it mention when not to use it.

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

check_serpA

Check live Google SERP for a keyword. See who ranks, what content types dominate, and SERP features present.

Use for: competitive analysis, content gap detection, SERP intent analysis. Credits: 15.

ParametersJSON Schema
NameRequiredDescriptionDefault
depthNo
keywordYes
languageNoGerman
locationNoGermany

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. Mentions credits (15) and implies read-only operation via 'live Google SERP check', but lacks details on side effects, auth requirements, or rate limits.

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?

Two clear paragraphs: first states purpose, second lists use cases and credits. Efficient but could be more structured with parameter descriptions.

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?

Output schema exists, so return values not needed. Description covers key output aspects (ranks, content types, features). Lacks handling of edge cases like empty results.

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

Parameters1/5

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

Schema coverage is 0% and description does not explain any parameters (keyword, location, language, depth). No value added beyond the schema structure.

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 tool checks live Google SERP for a keyword and specifies what information is provided (who ranks, content types, SERP features). It is specific and distinct from sibling tools like get_keywords or classify_keywords.

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?

Explicitly lists use cases: competitive analysis, content gap detection, SERP intent analysis. However, no guidance on when not to use or alternatives among siblings.

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

check_structured_dataB

Validate JSON-LD and microdata on a URL: schema types, required fields, errors. Credits: 5.

Requires VISIBLYAI_API_KEY. Use get_account_info to check your balance.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only mentions credit cost and API key requirement, but fails to disclose behavioral traits like whether it is read-only, destructive, or has rate limits.

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 concise with two sentences, effectively front-loading the purpose and credit cost. However, it could be better structured with clear sections.

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?

Given the tool's simplicity (one parameter, output schema exists), the description provides a basic understanding of what is validated. It does not explain output format, but the existence of an output schema mitigates this gap.

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

Parameters2/5

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

With 0% schema description coverage, the description adds no meaning to the single 'url' parameter beyond what the input schema already provides. Even though the parameter is self-explanatory, the description should compensate for the low coverage.

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 tool validates JSON-LD and microdata on a URL, specifying schema types, required fields, and errors. This specific verb+resource combination distinguishes it from siblings like analyze_url_structure.

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 mentions a prerequisite (requires VISIBLYAI_API_KEY) and suggests checking balance via get_account_info, but does not specify when to use this tool versus alternatives or provide exclusions.

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

classify_keywords_advancedA

Classify keywords using DataForSEO Search Intent API + regex classifier (paid).

Combines DataForSEO search intent (main_intent, secondary_intents) with local regex classification (brand type, funnel stage, topic, conversion score). More accurate than classify_keywords_simple for intent detection. Credits: dynamic (based on keyword count).

Requires VISIBLYAI_API_KEY. Use get_account_info to check your balance.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordsYes
languageNoGerman
locationNoGermany
brand_nameNo
competitorsNo
brand_variationsNo
product_keywordsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description bears the full burden. It discloses that the tool is paid, uses an external API, requires an API key, and that credits are dynamic based on keyword count. This gives adequate insight into the tool's behavior and costs, though it could mention rate limits or error handling.

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 two paragraphs with clear structure: purpose, method, credits, requirements. Every sentence adds information without redundancy. It is concise and front-loaded with the primary action.

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

Completeness2/5

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

Given 7 parameters (1 required), 0% schema coverage, and an output schema that is not elaborated, the description is incomplete. It fails to explain parameter usage, output format, or provide examples. For a complex tool making external API calls, this is insufficient for reliable invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. However, it only lists parameter names without explaining their meaning, format, or examples. 'brand_variations' and 'competitors' are particularly ambiguous. The description adds minimal value beyond the schema itself.

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 tool classifies keywords using two methods: DataForSEO API and regex. It explicitly distinguishes itself from the sibling 'classify_keywords_simple' by claiming higher accuracy for intent detection, fulfilling the specific verb+resource and sibling differentiation criteria.

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 indicates when to use (for more accurate intent detection), mentions the required API key and credit dynamic, and suggests checking balance via 'get_account_info'. While it does not explicitly state when not to use or list all alternatives, it provides sufficient context for appropriate use.

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

classify_keywords_simpleA

Classify keywords using local regex patterns (fast, free, offline).

Returns intent (transactional/commercial/informational/navigational/local), funnel stage (TOFU/MOFU/BOFU), brand type, conversion score (0-100), topic. Supports German and English.

For DataForSEO-enhanced intent detection use classify_keywords_advanced (paid).

Free tool - no API key or credits required.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordsYes
brand_nameNo
competitorsNo
brand_variationsNo
product_keywordsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries full transparency burden. It discloses offline/local regex processing, free usage, and returns multiple analytical attributes. However, it does not mention edge cases (e.g., empty input) or performance limitations, but the core behavior is well-covered.

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 concise (5 short sentences), front-loads the purpose, and avoids redundancy. Every sentence adds value: purpose, outputs, language support, sibling contrast, free status. No wasted words.

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?

Given output schema exists and sibling tools are provided, the description is mostly complete. It covers purpose, usage, key behavioral traits, and language support. The only shortfall is parameter explanation, but for a relatively simple tool, it's adequate.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. While 'keywords' and 'brand_name' are self-explanatory, the description does not explain how 'brand_variations', 'product_keywords', or 'competitors' affect classification. This leaves a gap in understanding their role.

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 tool classifies keywords using local regex patterns, lists specific outputs (intent, funnel stage, brand type, conversion score, topic), and differentiates from the advanced sibling by noting the free/offline nature. The verb 'classify' and resource 'keywords' are precise.

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?

Explicitly provides context for when to use this tool: 'fast, free, offline.' It contrasts with 'classify_keywords_advanced (paid)' for enhanced detection, and emphasizes 'Free tool - no API key or credits required,' guiding the agent toward appropriate selection.

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

crawl_websiteC

Crawl a website + optional 24-point OnPage SEO analysis. Credits: 15-60.

Requires VISIBLYAI_API_KEY. Use get_account_info to check your balance.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
keywordNo
max_pagesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries full burden for behavioral disclosure. It mentions credit cost (15-60) but fails to state if the tool is read-only, if it respects robots.txt, or any rate limits. The agent gains insufficient insight into side effects or safety considerations beyond cost.

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?

The description is short and front-loaded with the main action, but it wastes space by repeating 'VISIBLYAI_API_KEY' requirement and credit range, which could be inferred. It is not verbose, but could be more efficient while adding essential parameter information.

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

Completeness2/5

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

Given no annotations, 0% schema coverage, and an output schema not described here, the description is insufficiently complete. It does not explain the optional OnPage analysis, the output structure, or how the keyword parameter affects results. The tool is complex enough to warrant more detail.

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

Parameters1/5

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

The input schema has 0% description coverage, and the description does not explain any of the three parameters (url, keyword, max_pages). The agent must infer that url is the target, keyword is for SEO context, and max_pages limits crawl depth. This is a critical gap for correct tool use.

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 clearly states the tool crawls a website and optionally performs a 24-point OnPage SEO analysis. This distinguishes it from sibling tools like onpage_analysis or audit_sitemap, which focus on specific aspects rather than crawling. However, it could better differentiate when to use this tool versus those siblings.

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 mentions the required API key and suggests checking account balance via get_account_info. This gives basic usage context, but it does not provide guidance on when to use this tool versus alternatives (e.g., analyze_url_structure). It also doesn't describe any prerequisites or typical workflow.

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

create_cms_connectionB

Create a CMS connection (cms:manage). A generated webhook secret is returned once and must be placed in the host secret store.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNo
configNo
cms_typeYes
project_idYes
webhook_urlNo
webhook_eventsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, but it does disclose two meaningful traits: the required permission scope (cms:manage) and the critical one-time webhook secret return that must be stored externally. It still omits idempotency, whether creation triggers validation, and what happens on duplicate connections.

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 with the core action front-loaded and the operational caveat second. Zero filler, every clause earns its place.

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

Completeness2/5

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

The one-time secret and permission scope are good additions, and an output schema exists so return values need not be detailed. However, for a six-parameter creation tool with no annotations and no schema descriptions, the absence of any parameter or prerequisite guidance leaves the definition materially incomplete.

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

Parameters2/5

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

Schema description coverage is 0% across six parameters, so the description is the only place parameter meaning could be added — and it says nothing about cms_type, project_id, config, webhook_url, or webhook_events. The opaque anyOf `config` object and the webhook_* fields in particular go entirely unexplained.

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?

States a specific verb and resource ("Create a CMS connection") so it is clearly distinct from siblings like list_cms_connections, test_cms_connection, and delete_cms_connection. It does not explicitly contrast itself with those siblings, but the operation is unambiguous.

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

Usage Guidelines2/5

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

No statement of when to use this tool, what prerequisites exist (e.g., a project must exist first), or which alternative applies for related needs such as testing an existing connection. Usage must be inferred entirely from the tool name.

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

create_contentpilot_keyA

Create/rotate a project-scoped Pull API key. Plaintext is returned once; requires cms:manage.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does well: it discloses that plaintext is returned only once and that cms:manage scope is required. It omits whether rotation invalidates the previous key, which is the main behavioral gap for a key-rotation tool.

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 compact sentences, front-loaded with the core action and followed by the two operational facts that matter most. No filler.

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?

An output schema exists so return values need not be described, and the description covers the security-relevant facts (one-time plaintext, permission scope) for a simple one-parameter tool. Only the effect of rotation on existing keys is left unaddressed.

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 0% for the single project_id parameter, but the description's 'project-scoped' wording clarifies its meaning. The parameter name is largely self-explanatory, so the description adds modest value beyond the schema.

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?

States a specific verb and resource ('Create/rotate a project-scoped Pull API key') with clear scope. The action naturally separates it from its siblings get_contentpilot_key_status and revoke_contentpilot_key without needing to name them.

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 'create/rotate' phrasing implies the situations in which it is used, so usage is implied rather than stated. It never explicitly contrasts with revoke_contentpilot_key or get_contentpilot_key_status, nor states when rotation is warranted over initial creation.

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

create_content_queryC

Run paid SERP/content analysis and create a query. Requires content:write and spending:execute.

ParametersJSON Schema
NameRequiredDescriptionDefault
countryNode
keywordYes
languageNode
persona_idNo
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations, the description carries the full disclosure burden. It does add two genuinely useful traits: the operation is paid (spending side effect) and it requires content:write plus spending:execute scopes. It omits cost magnitude, whether an existing query is overwritten, and whether the spend is recoverable, so the mutation/expense profile is only partially covered.

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?

Two tight sentences with the action front-loaded and no filler or redundancy. It is arguably under-sized for the operation's complexity, but nothing is wasted and it reads cleanly.

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

Completeness2/5

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

For a 5-parameter, cost-incurring creation tool with no annotations and 0% schema coverage, the description covers only purpose, cost, and scope. An output schema exists so return values need not be explained, but the input contract is entirely undocumented by either structured fields or prose.

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

Parameters2/5

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

Schema description coverage is 0% across 5 parameters, so the description must compensate and it does not. It says nothing about keyword, project_id, or the country/language/persona_id defaults, leaving the agent to infer all input meaning from bare property names.

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?

States a specific verb and resource: 'Run paid SERP/content analysis and create a query.' An agent can tell this produces a content query from a keyword-based SERP analysis. It does not differentiate from siblings like save_content_query_draft, get_content_query, or check_serp, which overlap in the keyword/SERP/query space.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance, and no alternative is named despite several plausible siblings (check_serp, list_content_queries, save_content_query_draft). The 'paid' qualifier and required scopes hint at caution, but the agent is left to infer the condition that selects this tool.

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

delete_cms_connectionC

Delete a CMS connection. Requires cms:manage.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes
connection_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the required permission scope but fails to state irreversibility, side effects (e.g., whether associated articles or settings are deleted), or any confirmation behavior—critical gaps for a destructive delete operation.

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 short sentences, front-loads the action, and contains no redundant or filler text. Every word serves a purpose.

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

Completeness2/5

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

For a destructive delete tool with no annotations, no parameter descriptions, and an output schema that only covers return values, the description is severely under-informative. It omits parameter explanations, irreversibility warnings, and any behavioral context needed to invoke the tool safely.

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

Parameters1/5

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

The schema has 0% description coverage for both required parameters (project_id and connection_id), and the description does not mention or explain either parameter. It adds no meaning beyond the bare integer names, leaving an agent to infer their roles entirely.

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 verb ('Delete') and resource ('CMS connection'), clearly distinguishing it from sibling tools like list_cms_connections, create_cms_connection, and test_cms_connection. An agent can immediately tell what this tool does.

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

Usage Guidelines2/5

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

The description only states a permission requirement ('Requires cms:manage') and offers no guidance on when to use this tool versus alternatives, no prerequisites beyond the scope, and no exclusions. A user must infer that this permanently removes a connection with no additional context.

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

edit_content_articleC

Full editor update for editable statuses. Creates a backup and checks the revision.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNo
formatNo
contentNo
keywordsNo
article_idYes
project_idNo
search_intentNo
idempotency_keyNo
meta_descriptionNo
expected_revisionYes
recommended_page_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior3/5

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

With no annotations, the description carries full burden but does disclose two useful behaviors: it creates a backup and checks the revision. However it omits permission requirements, what happens on a revision mismatch, and other side effects of an 11-parameter mutation.

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?

Two short sentences, no filler, and the core action is front-loaded. It is efficient, though the terseness leaves key terms undefined.

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

Completeness2/5

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

An output schema exists so return values need not be described, but for a mutation with 11 params, zero schema coverage, and no annotations, the definition leaves too much unspecified for an agent to call it confidently.

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

Parameters2/5

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

Schema description coverage is 0% across 11 parameters, so the description must compensate. It only implies a revision check (mapping loosely to expected_revision) and says nothing about title, content, format, keywords, idempotency_key, or the other fields.

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

Purpose3/5

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

It states the resource (content article) and a mutation verb, but 'Full editor update for editable statuses' is vague about what an 'editable status' is. It also fails to distinguish itself from close siblings like update_article and update_cms_article, which an agent would need to tell apart.

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

Usage Guidelines2/5

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

The only hint of a precondition is the phrase 'editable statuses', with no explanation of which statuses qualify. No when-to-use guidance and no named alternative among the several update-related siblings.

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

generate_article_from_queryB

Queue AI article generation from a ready query; requires spending:execute.

ParametersJSON Schema
NameRequiredDescriptionDefault
improveNo
query_idYes
project_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It usefully discloses that generation is queued and requires spending:execute, but omits side effects, reversibility, rate limits, and what happens to the query after queueing.

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?

A single front-loaded sentence with no wasted words. It states purpose first and the key prerequisite second.

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

Completeness2/5

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

For a three-parameter mutation tool with no annotations and 0% schema description coverage, the description is too sparse. It covers the core purpose and permission requirement, but leaves parameter meanings, usage routing, and expected behavior largely undocumented. The output schema covers return values, so that gap is acceptable.

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

Parameters2/5

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

Schema description coverage is 0% across three parameters. The phrase 'from a ready query' weakly implies that query_id must reference a ready content query, but the description says nothing about improve or project_id and adds little usable meaning beyond the schema.

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?

States a specific verb and resource: queuing AI article generation from a ready query. This clearly separates it from query-creation and retrieval siblings, though it does not explicitly name alternatives such as regenerate_content_article or optimize_content_draft.

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

Usage Guidelines2/5

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

The only usage guidance is the prerequisite 'requires spending:execute.' It does not say when to use this tool versus alternatives, what a 'ready query' means, or any exclusion conditions.

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

get_account_infoA

Check VisiblyAI account status, credit balance, and subscription tier.

Shows available free tools if no API key is set.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description bears full responsibility. It discloses a behavioral nuance (shows free tools if no API key), but does not mention authentication requirements, rate limits, or potential side effects. More detail would be beneficial.

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?

Description is very concise with two sentences. The first sentence covers the main purpose, and the second adds an important conditional behavior. No unnecessary words.

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?

Given no parameters and an existing output schema, the description covers the core functionality and a special case. It does not explicitly mention authentication, but that is likely implicit. Overall fairly complete for a simple tool.

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?

Tool has no parameters, so schema coverage is effectively 100%. The description adds meaning about returned information (account status, credit balance, subscription tier) but does not add to parameter semantics since none exist. 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?

Description clearly states the tool checks account status, credit balance, and subscription tier, with a specific verb ('Check') and resource (VisiblyAI account info). It is distinct from sibling tools which focus on SEO analysis, keywords, crawling, etc.

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?

Description does not provide explicit guidance on when to use this tool versus alternatives. It only states what it does, lacking context about when it is appropriate or when other tools should be preferred.

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

get_analytics_insightsC

GA4 flow (channels → page types → outcomes), funnel, channels, AI-referrer signals. Credits: 0, read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It usefully discloses read-only status and zero credit cost, but it does not mention authentication, data limits, or any other operational constraints beyond those two facts.

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?

The description is short, front-loads the data scope, and avoids bloat. However, its telegraphic fragment style leaves key meaning unexplained, making it concise but under-specified.

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

Completeness2/5

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

For an analytics insight tool with two parameters, zero parameter descriptions, no annotations, and an output schema, the description should at least explain project_id/days and how it differs from sibling query_analytics. It only lists output domains and cost/read-only, leaving major calling context missing.

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

Parameters1/5

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

Schema description coverage is 0%, and the description mentions neither project_id nor days. The required project_id and the default days parameter are therefore undocumented in both schema and description.

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

Purpose3/5

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

The description names GA4 data domains (flow, funnel, channels, AI-referrer signals), giving a specific data scope, but it never states the action clearly or what 'insights' are returned. It also does not distinguish itself from sibling query_analytics, so the purpose is only partially clear.

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

Usage Guidelines2/5

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

The 'Credits: 0, read-only' note tells the agent this is free and safe, but there is no when-to-use condition, prerequisite, or guidance relative to query_analytics or other analytics siblings. Usage context is therefore minimal.

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

get_articleB

One article. Text only with include_content=true, delivered in chunks of up to 20000 characters. Credits: 0, read-only.

Use next_content_offset to continue; content_hash changes when the article was edited.

ParametersJSON Schema
NameRequiredDescriptionDefault
article_idYes
project_idNo
content_limitNo
content_offsetNo
include_contentNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden well: it discloses that the operation is read-only, costs 0 credits, returns text only when include_content=true, chunks content up to 20000 characters, and exposes content_hash changes after edits. It does not cover auth requirements or rate limits, but the core behavioral traits are clearly stated.

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 very short and front-loads the core output behavior and pagination note. The opening fragment "One article." is terse and structurally weak, but there is little wasted text.

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?

For a simple read tool with an output schema available, the description covers key behaviors such as chunking, credits, read-only status, and edit detection. However, with 0% schema description coverage and five input parameters, it leaves important parameter semantics and the project_id argument unaddressed.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It explains include_content and implies the 20000-character chunk size for content_limit, but article_id and project_id remain unexplained, and it refers to "next_content_offset" while the schema parameter is content_offset, which can confuse pagination calls.

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

Purpose3/5

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

The description says "One article," which identifies the resource but does not itself state a retrieval verb; the tool name get_article supplies that context. It distinguishes a single-article fetch from list-oriented siblings like list_articles, but gives no further differentiation from other article-related tools.

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

Usage Guidelines2/5

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

The description gives a pagination instruction ("Use next_content_offset to continue") but never explains when to use get_article instead of alternatives such as list_articles, get_content_query, or get_content_briefing. There is no when-to-use or when-not-to-use guidance.

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

get_article_backupB

Read one saved version in bounded content chunks.

ParametersJSON Schema
NameRequiredDescriptionDefault
backup_idYes
project_idYes
content_limitNo
content_offsetNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It does disclose a genuinely useful trait, that content comes back in bounded chunks, implying paging via the offset/limit parameters, and 'Read' implies a non-mutating operation. However, it says nothing about permissions/auth needs, whether project_id must match the backup's project, or rate/volume limits.

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?

A single front-loaded sentence with no filler or redundancy; every word carries information about scope and retrieval behavior.

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?

An output schema exists, so return values need not be explained, and the chunking hint covers the main retrieval behavior. Still, for a 4-parameter read tool with zero annotation and zero schema description coverage, the absence of any identifier semantics or prerequisite/paging guidance leaves the definition only minimally complete.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for all four undocumented parameters. 'Bounded content chunks' hints at the meaning of content_limit/content_offset, but backup_id, project_id, their relationship, and the 12000/0 defaults are left entirely unexplained.

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 names a specific verb (Read) and a specific resource (one saved version, i.e. a backup), plus the delivery mechanism (bounded content chunks). It is clearly a single-item read, but it never distinguishes itself from close siblings like list_article_backups or restore_article_backup, which an agent must infer from the id-based schema.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no mention of alternatives such as list_article_backups (to find a backup id) or restore_article_backup (to apply one). The agent gets no routing signal between these three closely related tools.

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

get_article_workflowA

Read editor links, published article conflicts and the last CMS transfer status (0 credits).

With compare_live, compare the saved revision's text, links, images, structure and metadata against the website. Missing metadata is unknown. Writes nothing; accepted is not completed.

ParametersJSON Schema
NameRequiredDescriptionDefault
article_idYes
project_idYes
compare_liveNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does a solid job: it states 'Writes nothing', discloses the credit cost (0 credits), and adds a subtle state caveat that 'accepted is not completed'. It stops short of describing any permission requirements or pagination behavior, but the safety profile and cost are clearly disclosed.

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 short and front-loaded, leading with the returned resources before the optional comparison mode. The phrase 'Missing metadata is unknown' is terse to the point of being cryptic, but overall very little is wasted.

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?

An output schema exists, so return values need not be explained, and the description appropriately focuses on scope, comparison behavior, cost, and the read-only guarantee. The main remaining gap is routing guidance relative to the many sibling read tools, but for a low-risk read operation with a documented output shape this is close to complete.

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 0% across 3 parameters, so the description must compensate. It meaningfully explains what compare_live does—a comparison of saved revision text, links, images, structure and metadata against the live site—but article_id and project_id are left entirely undocumented beyond being self-evident names, and no formats or constraints are given.

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 names concrete resources the tool returns: editor links, published article conflicts, and last CMS transfer status. That is more specific than the name 'get_article_workflow' alone would allow, and it implicitly separates itself from a plain content read, though it never names a sibling like get_article or get_content_status.

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?

It gives conditional guidance for one mode ('With compare_live, compare the saved revision's text, links, images, structure and metadata against the website'), which tells the agent when to set that flag. However, there is no guidance on when to reach for this tool instead of get_article, get_content_status, or recall, so the alternative-selection problem is left to inference.

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

get_cluster_keywordsA

Keywords of one cluster (clicks, impressions, CTR, position), paginated. Credits: 0, read-only.

Use cluster_key from get_gsc_clusters. Response carries page.has_more/next_offset.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
limitNo
offsetNo
countryNo
project_idYes
cluster_keyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

With no annotations, it discloses read-only status, zero credit cost, and pagination behavior including page.has_more/next_offset. This adds useful operational context, though it omits auth or error behavior.

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?

Very concise and front-loaded: purpose first, then cost/safety, then prerequisite and pagination. No wasted words.

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?

Output schema exists, so return values needn't be explained, but the description leaves most parameters undocumented for a 6-param tool with no annotations. It is minimally sufficient to invoke with defaults but incomplete for full correct usage.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must explain six parameters. It only identifies cluster_key's source and implies pagination via limit/offset, leaving days, country, project_id, and explicit pagination parameters undocumented.

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?

States the resource precisely: keywords of one cluster, with metrics and pagination. The mention of cluster_key from get_gsc_clusters distinguishes it from cluster-listing tools and general keyword tools.

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?

Tells the agent where to get the required cluster_key (get_gsc_clusters), which establishes usage flow. It does not state when to prefer this over get_keywords or when not to use it.

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

get_competitorsC

Get competitor domains based on keyword overlap. Credits: varies.

Requires VISIBLYAI_API_KEY. Use get_account_info to check your balance.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
domainYes
languageNoGerman
locationNoGermany

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose all behavioral traits. It states that credits vary and requires an API key, but fails to mention if the tool is read-only, whether it has side effects, rate limits, or any destructive behavior. The disclosure is insufficient for an AI agent to assess safety.

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?

The description is short (2 sentences plus a line about requirements) and avoids verbosity. However, it sacrifices valuable information for brevity, leading to under-specification. It is adequately concise but could be more informative without becoming bloated.

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

Completeness2/5

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

Although an output schema exists (which can document return values), the description does not reference it or any return structure. It lacks information about what the tool returns (e.g., list of domains with metrics). For a tool with 4 parameters and no parameter docs, the description is incomplete.

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

Parameters1/5

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

The input schema has 4 parameters with 0% description coverage. The description does not explain the meaning or usage of any parameter (e.g., 'domain' is not clarified as the source domain, 'location' defaults to Germany but no context is given). The agent must rely solely on parameter names, which may be ambiguous.

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 clearly states the tool's purpose: 'Get competitor domains based on keyword overlap.' It specifies the action ('get'), the resource ('competitor domains'), and the criterion ('keyword overlap'). While it doesn't explicitly distinguish from sibling tools, the purpose is specific enough for an AI agent to understand its core function.

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

Usage Guidelines2/5

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

The description mentions a prerequisite ('Requires VISIBLYAI_API_KEY') and suggests checking balance via 'get_account_info', but it provides no guidance on when to use this tool over alternatives like 'get_keywords' or 'get_backlinks'. There is no context about typical use cases or when to avoid it.

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

get_content_briefingA

Editorial briefing of a finished content analysis: terms, entities, questions, outline. Credits: 0, read-only.

409 query_not_ready while the analysis is still pending.

ParametersJSON Schema
NameRequiredDescriptionDefault
query_idYes
project_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does meaningfully fill it: it discloses that the operation is read-only, costs 0 credits, and raises a 409 while the analysis is still pending. It does not cover rate limits or pagination, but the cost, safety profile, and failure modes are covered.

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?

Two tightly written sentences: the first front-loads what the briefing contains, the second adds cost/safety and the failure condition. No filler, though the structure is slightly terse for the guidance it is trying to convey.

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?

The tool has an output schema, so return values need not be explained, and the description covers the safety profile, cost, and the key error state. The main gap is parameter meaning, which is largely a separate dimension, so the description is close to complete for a simple read getter.

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

Parameters2/5

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

Schema description coverage is 0% for two parameters (query_id required, project_id optional) and the description says nothing about either. With such low coverage the description should compensate, but it provides no explanation of what query_id or project_id refer to, leaving the agent to infer from names alone.

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?

States a specific resource and enumerates its contents (terms, entities, questions, outline) for a 'finished content analysis', so an agent knows what it will get. It does not explicitly differentiate itself from siblings like get_content_query or get_content_status, which share the 'retrieve content-analysis state' space.

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 phrase 'of a finished content analysis' plus the '409 query_not_ready while the analysis is still pending' note gives an implied precondition for use. However, no alternative tool is named and no explicit when-not guidance is given beyond the pending-state caveat.

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

get_contentpilot_key_statusA

Read masked project Pull API key status. Requires cms:manage.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose meaningful traits: the operation is read-only, the returned key is masked (so no full secret is exposed), and it requires the cms:manage permission. The output schema covers return structure, so this is reasonably complete for a small read tool.

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 short sentences, front-loaded with the action and resource, followed immediately by the permission requirement. No wasted words.

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 presence of an output schema removes the need to explain return values, and the description covers read-only, masking, and auth. It still leaves project_id semantics and the relationship to the sibling create/revoke key tools unaddressed, which is a gap for a tool whose result may guide key management decisions.

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

Parameters2/5

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

Schema description coverage is 0% for the single project_id parameter, so the description is expected to compensate. It only implies project scoping through the phrase 'project Pull API key' and gives no format, source, or lookup guidance for project_id.

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 verb (Read) and resource (masked project Pull API key status), which is clear on its own. It does not explicitly contrast itself with the nearby create_contentpilot_key or revoke_contentpilot_key siblings, but 'status' vs 'create'/'revoke' is distinguishable by inference.

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?

'Requires cms:manage' is a useful prerequisite, which edges it above pure silence. However, it never says when to call this versus create_contentpilot_key or revoke_contentpilot_key, so usage is only implied.

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

get_content_queryC

Read query context and optionally a bounded, paginated saved draft.

ParametersJSON Schema
NameRequiredDescriptionDefault
query_idYes
project_idNo
draft_limitNo
draft_offsetNo
include_draftNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose useful traits: the read is bounded and paginated and the draft is optional, implying a read-only fetch. However, it says nothing about auth, permissions, or what 'context' contains, leaving real gaps.

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?

A single front-loaded sentence with no wasted words. It is efficient, though arguably so terse that it omits information the agent needs.

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

Completeness2/5

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

An output schema exists so return values need not be described, but with 5 parameters at 0% coverage and no annotations, the description is too thin to fully specify correct invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate, but it only loosely alludes to include_draft ('optionally') and the pagination params ('bounded, paginated'). query_id and project_id get no explanation at all.

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 names a specific verb (Read) and resource (query context, plus an optional saved draft), which distinguishes it from create_content_query, save_content_query_draft and list_content_queries. It is clear enough to select, though 'query context' remains somewhat abstract.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance and no mention of alternatives such as get_content_briefing or list_content_queries. The agent must infer the use case from the resource name alone.

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

get_content_statusB

Analysis status of a content query plus article generation state, no texts. Credits: 0, read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
query_idYes
project_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It does disclose two useful traits: 'Credits: 0' (no cost) and 'read-only' (safe, non-mutating), which is meaningful for a status call. However, it says nothing about polling cadence, terminal states, or what happens when the query_id is unknown/invalid.

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?

A single compact sentence that front-loads the resource and ends with the two most decision-relevant facts (no texts, free, read-only). No filler, though 'no texts' is slightly telegraphic.

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?

An output schema exists, so return-value detail is not required, and the read-only/free framing covers behavior adequately for a status tool. The remaining gap is parameter documentation, particularly the optional project_id, which is undocumented everywhere.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate and does not. The required query_id is only loosely implied by 'a content query', and the optional project_id is entirely unexplained, leaving the agent to guess whether it scopes the lookup.

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?

States a specific resource (analysis status of a content query) plus article generation state, which distinguishes it from get_content_query and list_content_queries. The 'no texts' qualifier usefully signals it is a metadata-only view. It stops short of naming a verb but the name supplies 'get'.

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

Usage Guidelines2/5

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

No guidance on when to call this versus get_content_query or the article-status siblings. An agent must infer that this is a polling endpoint to use after create_content_query or generate_article_from_query. There are no exclusions or prerequisites stated.

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

get_eeat_summaryB

Latest E-E-A-T scores, trend, open todos and competitor comparison. Credits: 0, read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description must carry the disclosure burden, and it does add real signal: zero credit cost and read-only behavior. It omits scope details such as the analysis window, whether 'trend' needs historical data, and any auth requirements.

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 dense sentences, contents listed first and cost/safety last. Nothing is padded and the key information is front-loaded.

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 output schema covers the return shape, so results needn't be explained, and credit/read-only facts are present. However, for a tool whose sole required argument is undocumented, the definition leaves a real gap for correct invocation.

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

Parameters2/5

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

The required project_id has 0% schema description coverage and is never mentioned in the description, so the agent gets no hint about what a project_id is or where to obtain one. The description does not compensate for the coverage gap.

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?

Names a specific resource (E-E-A-T summary) and enumerates its contents: scores, trend, open todos, competitor comparison. An agent can tell what it returns, though it does not distinguish itself from the nearby get_scorecard sibling.

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

Usage Guidelines2/5

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

No indication of when to reach for this summary versus get_scorecard, get_analytics_insights, or the other reporting tools. The only usage-adjacent text is the cost note 'Credits: 0, read-only', which is not selection guidance.

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

get_google_connectionsA

Show connected Google Search Console and Analytics 4 properties. Credits: 0.

Requires VISIBLYAI_API_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

No annotations are provided, so the description fully bears the burden. It discloses key behavioral traits: it is a read-only operation (shows connections), requires a VISIBLYAI_API_KEY, and costs 0 credits. This is sufficient for a simple informational tool.

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 extremely concise: two sentences with no wasted words. The first sentence states the purpose immediately, and the second adds essential behavioral info (credits and auth). This is ideal for a simple 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?

Given the tool's simplicity (no parameters, no nested objects, and an output schema exists), the description sufficiently covers all essential context: what the tool does, authentication, and credit cost. No further information is needed for correct invocation.

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?

There are 0 parameters, so the baseline is 4. The description adds no parameter-level detail, but none is needed. It correctly conveys the tool's action without relying on parameter 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 clearly states the tool's function: 'Show connected Google Search Console and Analytics 4 properties.' It uses a specific verb and resource, and it is distinct from sibling tools like 'get_keywords' or 'get_traffic_snapshot' that serve different purposes.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, typical use cases, or conditions under which another tool would be more appropriate.

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

get_google_guidelinesA

Get official Google Search developer guidelines (scraped weekly from developers.google.com).

Use category='list' to see all available categories. Available categories: fundamentals, content, crawling, sitemaps, structured_data, performance, ranking, updates, monitoring, snippets, guidelines.

Free tool - no API key or credits required.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNolist

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

With no annotations, the description provides some behavioral context: the tool is free, requires no API key, and the data is scraped weekly. However, it lacks details on rate limits, output format, or any potential limitations.

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 concise, with three short sentences that front-load the core purpose, then provide usage guidance and additional context (free, no auth). No wasted words.

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?

Given that an output schema exists (though not shown), the description adequately covers what the tool does and how to use it. It could mention the expected output format, but the purpose is clear enough for an agent to select and invoke.

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

Parameters5/5

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

The single parameter 'category' is fully explained. The description states its default is 'list', it can be used to list categories, and enumerates all available categories. This goes beyond the input schema, which only provides a default and no enum descriptions.

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 it retrieves Google Search developer guidelines, specifies the source (scraped weekly from developers.google.com), and lists available categories. It distinguishes itself from sibling tools like analyze_url_structure or crawl_website, which focus on specific analyses.

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 explains to use category='list' to see all categories and provides a list of available categories. It does not explicitly state when not to use this tool, but the context of sibling tools implies this is for guidelines retrieval, not for other tasks.

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

get_gsc_clustersA

Topic clusters from Search Console with quick wins and alerts. Credits: 0, read-only.

Returns the top_n clusters by impressions (each with a stable cluster_key for get_cluster_keywords), quick wins, alerts, totals and computing/stale flags. country: ISO alpha-3 (e.g. deu). Runs on the project owner's Google quota.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
top_nNo
countryNo
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the burden and delivers: it declares cost ('Credits: 0'), safety ('read-only'), quota behavior ('Runs on the project owner's Google quota'), and the async state model via 'computing'/'stale' flags. It omits whether results are cached or how long computation takes, but covers the key behavioral traits well.

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?

Front-loaded with the purpose, then structured into a return-value sentence and a parameter/constraint tail. Dense but largely waste-free; the parameter note at the end is slightly abrupt rather than clearly sectioned.

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?

An output schema exists, so the description needn't explain return shape exhaustively, yet it still summarizes returns usefully. For a 4-parameter read-only tool with no annotations it covers safety, cost, quota, and the drill-down path; the main gap is the undocumented 'days' window.

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 0%, so the description must compensate, and it only partially does. It adds real meaning for country (ISO alpha-3, e.g. deu) and top_n (clusters by impressions, default counts implied), but 'days' and 'project_id' are never explained in either schema or description.

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?

States a specific verb and resource ('Topic clusters from Search Console') and names the exact sibling it pairs with ('stable cluster_key for get_cluster_keywords'), so an agent can distinguish it from the many other content/SEO tools. It also enumerates what is returned (quick wins, alerts, totals, flags).

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 mention of cluster_key 'for get_cluster_keywords' implies a follow-up workflow, and top_n framing implies ranking usage, but there is no explicit when-to-use vs alternatives or exclusion guidance. Usage is only implied.

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

get_historical_trafficC

Get historical traffic trends (up to 5 years). Credits: varies.

Requires VISIBLYAI_API_KEY. Use get_account_info to check your balance.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes
date_toNo
locationNoGermany
date_fromNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior3/5

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

With no annotations, the description partially compensates by noting that credits vary and data is limited to 5 years. However, it lacks details on rate limits, pagination, or side effects. The cost variability is useful, but overall transparency is moderate.

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 concise, with the purpose stated in the first sentence and prerequisites in the second. It is front-loaded and contains no unnecessary information. However, it could be slightly more informative without losing conciseness.

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

Completeness2/5

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

Given 4 parameters (1 required) and an existing output schema, the description omits important context such as required parameter (domain), default values for location and date_from/to, and expected output format. The tool is moderately complex, but the description leaves significant gaps.

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

Parameters1/5

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

The description adds no parameter details beyond what the input schema provides. It does not explain the meaning of 'location', 'date_from', 'date_to', or the required 'domain'. With 0% schema coverage, the description fails to compensate, leaving the agent without guidance on how to use parameters.

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 clearly states the tool retrieves historical traffic trends with a 5-year limit. The verb 'get' and resource 'historical traffic trends' are specific enough, and it implicitly distinguishes from sibling 'get_traffic_snapshot' by specifying historical data. However, it could more explicitly differentiate from other traffic-related tools.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'get_traffic_snapshot' or 'get_competitors'. The only usage advice is to check account balance via 'get_account_info', which is more about prerequisites than comparative use.

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

get_keywordsA

Get top ranking keywords for a domain with volume, position, URL. Credits: varies.

Requires VISIBLYAI_API_KEY. Use get_account_info to check your balance.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
domainYes
locationNoGermany

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description bears full burden for behavioral disclosure. It notes credit consumption and API key necessity, but lacks details on mutation, rate limits, or output behavior. The description is adequate but not comprehensive.

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 concise with two sentences: first stating purpose, second adding usage notes. It is appropriate in length for a tool with 3 parameters, though more parameter details could be included without being verbose.

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?

Given the tool has 3 parameters, no annotations, and an output schema, the description provides essential purpose and usage context but omits behavioral details like pagination, error handling, or credit cost specifics. It is moderately complete for a simple tool.

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

Parameters2/5

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

Schema description coverage is 0%, yet the description adds minimal parameter context beyond the schema (e.g., domain, location, limit). It does not explain default values, allowed input formats, or how parameters affect results. The description should compensate for the schema's lack of descriptions.

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 tool retrieves top ranking keywords for a domain, specifying fields like volume, position, and URL. It distinguishes itself from sibling tools (e.g., classify_keywords_* or get_backlinks) by focusing on ranking data.

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 mentions API key requirement and variable credits, advising to check balance via get_account_info. While it doesn't explicitly state when to use this tool over alternatives, the context implies it's for obtaining keyword rankings, not classification or analysis.

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

get_mcp_operationB

Status and result of one of your write operations. Credits: 0, read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
operation_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It usefully discloses 'read-only' and 'Credits: 0', which is genuine behavioral value, but it omits operation-status semantics (pending vs complete/terminal states) and any auth expectations that matter for a polling tool.

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?

Two compact clauses with the purpose front-loaded and the cost/read-only fact appended. No waste, though extremely terse for an operation-status tool.

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?

An output schema exists, so return values needn't be spelled out. However, with no annotations and 0% param coverage, the description is thin: it does not clarify the polling/async nature of the operation or what a status result implies.

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 0% and the single operation_id parameter is undocumented in the schema. The description's 'one of your write operations' only implicitly signals that operation_id references a prior write call; it adds no format or sourcing detail to compensate for the coverage gap.

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?

States a specific verb (retrieve status/result) and resource (a write operation), scoped to 'one of your write operations'. It clearly reads as an operation-status lookup, which none of the siblings duplicate. It stops short of naming a sibling or distinguishing itself explicitly.

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 phrase 'one of your write operations' implies this is used to poll an operation you previously triggered, but there is no explicit when-to-use, no when-not-to, and no named alternative. Usage must be inferred.

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

get_optimizer_settingsC

Read optimizer/autolink settings, limits, and latest run.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. The verb "Read" implies a non-destructive operation, but there is no disclosure of permissions required, whether settings are project-scoped, or how the "latest run" data relates to run_content_optimizer. The output schema covers return values, but the mutation/safety profile is left unstated.

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?

A single front-loaded sentence with no filler, which is appropriately sized for a simple read tool. It could not be trimmed without losing content.

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 existence of an output schema means return values need not be explained, and the terse description adequately conveys the read scope. But with no annotations, no parameter documentation, and no routing guidance among the many optimizer siblings, the definition is only minimally sufficient.

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

Parameters2/5

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

Schema coverage is 0% and the single required parameter project_id is documented nowhere in the schema; the description also says nothing about it. While project_id is self-evidently a project identifier, the description adds no meaning beyond the parameter name.

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 names a specific verb ("Read") and a concrete resource ("optimizer/autolink settings, limits, and latest run"), which is enough to tell it apart from the mutation sibling update_optimizer_settings. However, it never explicitly names that sibling or the other optimizer tools, so the differentiation is implied rather than stated.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance, no prerequisites, and no mention of alternatives such as update_optimizer_settings or run_content_optimizer. An agent must infer that this is the inspection step before modifying optimizer configuration.

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

get_projectB

Get project details including competitors and Google connections. Credits: 0.

Requires VISIBLYAI_API_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description only adds authentication requirement and credit cost (0). It does not disclose read-only nature, side effects, error conditions, or rate limits. The behavioral disclosure is minimal.

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 concise sentences, front-loaded with the primary purpose, zero unnecessary words. Every sentence adds value.

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

Completeness2/5

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

Despite having an output schema (reducing need to explain return values), the description lacks explanation for the input parameter and does not cover error cases or usage context. Incomplete for a single-parameter tool.

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

Parameters1/5

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

The input schema has 0% description coverage and the only parameter, project_id, is not mentioned in the description. The description fails to explain that the parameter identifies which project to retrieve.

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 verb 'Get' and resource 'project details' and specifies included items (competitors, Google connections), distinguishing it from siblings like get_competitors and get_google_connections.

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 implies when to use this tool (to get a full project view) but does not explicitly state when not to use it or mention alternatives. There is no guidance on selecting between this and more specific tools like get_competitors.

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

get_referring_domainsC

Get referring domains with authority scores. Credits: varies.

Requires VISIBLYAI_API_KEY. Use get_account_info to check your balance.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
domainYes
locationNoGermany

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries full burden for behavioral disclosure. It only mentions 'Credits: varies' but does not describe whether the tool is read-only, any permission needs, rate limits, or what happens on failure. The behavior around 'authority scores' is also undefined.

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?

The description is short at three sentences, but it omits important context. The first sentence defines purpose, but the last two about API key and balance are useful yet brief. It is not excessively wordy but could be improved with more detail without becoming verbose.

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

Completeness1/5

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

Given the complexity (3 parameters, output schema, sibling tools), the description is very incomplete. It does not explain what 'authority scores' are, how to interpret results, or any pagination/limit behavior. The output schema exists but the description should add context.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain any of the three parameters (domain, location, limit). It adds no meaning beyond the schema, leaving the agent to guess their semantics.

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 'Get referring domains' and the resource 'with authority scores', which distinguishes it from sibling tools like get_backlinks or get_competitors. The verb and resource are specific and unambiguous.

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

Usage Guidelines2/5

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

The description only mentions the API key requirement and a reference to check balance via get_account_info. It does not provide any guidance on when to use this tool versus alternatives like get_backlinks or get_competitors, nor does it explain conditions for use.

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

get_revenue_insightsA

Organic revenue attribution: totals, top keywords/landing pages, Pareto, cluster revenue. Credits: 0, read-only.

has_data=false means no revenue analysis exists yet (nothing is estimated).

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden, and it delivers two meaningful behavioral facts: 'read-only' and 'Credits: 0'. It also explains the has_data=false edge case (nothing is estimated yet), which prevents misreading an empty result as zero revenue. It omits auth/permission or rate-limit details, so it is strong but not exhaustive.

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?

Two short lines with zero filler, front-loaded with the resource and its outputs, followed by cost and the has_data caveat. Information is well ordered and every clause earns its place. It is slightly clipped rather than fully polished prose.

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?

An output schema exists, so the description need not document return shape, and it still flags the has_data edge case. It covers cost, safety posture, and scope. The remaining gap is the absence of any usage routing among the many sibling analytics tools, which keeps it from a 5.

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 0%, but there is only one required parameter (project_id), whose meaning is self-evident from its name and type. The description adds no scoping or format detail for it. For a single obvious identifier parameter, 3 reflects adequate-but-unelaborated semantics.

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 names a specific resource and scope ('Organic revenue attribution') and enumerates the concrete outputs the tool returns (totals, top keywords/landing pages, Pareto, cluster revenue), so an agent knows exactly what it produces. It doesn't explicitly contrast itself with nearby siblings like get_analytics_insights or get_traffic_snapshot, so it stops short of a 5.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no named alternative, despite a crowded sibling space with several analytics/reporting tools. The only conditional stated is about the has_data return flag, which is data semantics rather than usage routing. An agent gets no help deciding between this and get_analytics_insights.

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

get_scorecardB

KPI scorecard (leading + lagging indicators) over 28 or 90 days. Credits: 0, read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it usefully discloses two behavioral traits: zero credit cost and read-only (non-mutating). It stops short of disclosing auth requirements, rate limits, or freshness of the indicator data, so it adds real but incomplete context.

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 terse sentences that front-load the resource and its content, with the cost/read-only qualifier kept compact at the end. No filler or redundancy.

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?

An output schema exists, so return-value detail is not required, and the description covers the resource, its indicator type, the time window, and the cost/safety profile. The main gap is the unexplained project_id required parameter and the absence of routing versus sibling analytics tools.

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 coverage is 0%, so the description must compensate. The phrase '28 or 90 days' usefully constrains the days parameter to two values (information absent from the schema, which only shows a default of 28), but project_id is entirely unexplained, leaving half the parameters undocumented.

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 names a specific resource (KPI scorecard) and its content (leading + lagging indicators) plus a scope window, so an agent knows what is returned. It does not, however, distinguish this from related analytics siblings like get_analytics_insights or get_revenue_insights, so 4 rather than 5.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus alternatives such as get_analytics_insights or get_traffic_snapshot. The 28/90-day window is a scope constraint, not usage routing guidance, so this is essentially no guidance.

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

get_skillA

Get an SEO workflow skill with step-by-step methodology and CTR models.

Skills: seo-audit, keyword-research, competitor-analysis, traffic-analysis, gsc-report, site-health-check, content-nss-optimize. content-nss-optimize: write with your own model and iteratively use free Visibly scoring toward NSS 70/80, then save and return the editor link. Use name='list' to see all available skills.

Free tool - no API key or credits required.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool is free with no key/credits required and that content-nss-optimize involves iterative scoring toward NSS 70/80 with a returned editor link, which is real behavioral context. It still omits whether results are cached, the response shape, or any auth nuances beyond the free-tool note.

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 core purpose leads, followed by the skill list and the special 'list' value; most sentences earn their place. The multi-line enumeration of skill names is a bit sprawling but is genuinely informative rather than filler.

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?

An output schema exists, so return-value explanation is not required, and the description covers the parameter's valid domain and the free-tool constraint. It is largely complete for a single-parameter retrieval tool, with only light gaps around how skills differ from sibling guidance endpoints.

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 0% and the single 'name' parameter has no schema description, so the description must compensate. It does so well by enumerating the valid skill names and documenting the name='list' sentinel value, giving the agent enough to populate the parameter correctly.

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?

States a specific verb and resource: retrieves an SEO workflow skill containing methodology and CTR models. It enumerates the skill names it can return, so an agent can tell what content comes back. It doesn't explicitly differentiate itself from siblings like seo_guidance or seo_checklist, keeping it out of the top band.

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 says to use name='list' to enumerate all skills and flags it as a free tool needing no API key, which is useful invocation context. It does not say when to prefer this over sibling guidance tools like seo_guidance or seo_workflow, so usage is only implied.

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

get_traffic_snapshotB

Get current organic and paid traffic for a domain. Credits: varies.

Requires VISIBLYAI_API_KEY. Use get_account_info to check your balance.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes
locationNoGermany

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

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

The description discloses that credits vary and requires an API key, offering some behavioral insight. However, since no annotations are provided, more details like rate limits, idempotency, or data freshness would be beneficial for a read operation.

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 appropriately concise with three sentences, front-loading the purpose. It avoids fluff, though it could include brief parameter details without significant bloat.

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?

Given the tool has only two parameters and an output schema, the description provides the core purpose and some behavioral context. However, it lacks explanation of the location parameter and expected output format, leaving minor gaps.

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

Parameters2/5

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

The description only implicitly references the domain parameter, but completely omits the location parameter which has a default but is not explained. With 0% schema description coverage, the description should elaborate on parameters but barely does so.

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 clearly states the tool gets current organic and paid traffic for a domain, which is a specific verb+resource. The purpose is straightforward, but it does not explicitly differentiate from sibling tools like get_historical_traffic, so a slight deduction.

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

Usage Guidelines2/5

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

The description mentions prerequisites (API key) and a tip to check balance via get_account_info, but provides no guidance on when to use this tool versus alternatives such as get_historical_traffic or get_keywords.

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

import_meeting_applyA

Write the reviewed selection from import_meeting_preview. Credits: 0, idempotent.

Pass the items the user approved, in the shape the preview returned (facts with content, category, entities; rules with rule_type plus term or note; personas; brand_profile fields). Facts go into YOUR brain (key right memory:write), rules, personas and profile into the project (key right content:write plus a content write role). Retries with the same idempotency_key replay instead of duplicating; the response echoes the key used.

ParametersJSON Schema
NameRequiredDescriptionDefault
factsNo
rulesNo
sourceYes
personasNo
project_idYes
brand_profileNo
idempotency_keyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and delivers: credits cost of 0, idempotent replay behavior, the exact key rights required (memory:write vs content:write plus a content write role), and that facts land in 'YOUR brain' while rules/personas/profile go to the project. It even describes the response echoing the idempotency key. This is unusually rich disclosure for a mutation tool.

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?

Front-loads the essential facts (what it writes, cost, idempotency) in the first line, then the payload shape and permission model. Dense but each sentence adds operative information; the parenthetical field lists are long but necessary given the 0% schema coverage.

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 7-parameter mutation with no annotations and no schema descriptions, the description covers the payload shape, the permission/key-right model, idempotency semantics, and the return echo. An output schema exists, so it does not need to detail return values further; nothing an agent needs to call it correctly is missing.

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 description coverage is 0% across 7 parameters, so the description must compensate, and it does for the domain-shaped ones — it explains that facts carry content/category/entities, rules carry rule_type plus term or note, and lists personas and brand_profile fields, all in the shape the preview returned. It does not explain 'source' or 'project_id', leaving two parameters undocumented anywhere.

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?

States a concrete verb+resource ('Write the reviewed selection from import_meeting_preview') and explicitly ties itself to its sibling preview tool, so an agent can tell it is the apply step of a two-phase import. No ambiguity about what is being written or where it comes from.

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?

Implies the workflow condition: use this after import_meeting_preview, passing only the items the user approved. That is clear context for invocation, but there is no explicit when-not or alternative path (e.g., what to do if the user rejects everything or the preview is stale).

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

import_meeting_previewA

Turn a meeting or call transcript into a reviewable proposal for one project. Credits: 15 per run, charged to the key holder.

Returns four lists, nothing is written: brain facts (each with a category and typed entities), brand rules (not_allowed, preferred, tone, hard_rule, excluded_topic), personas and brand profile fields. Show them to the user, let them strike or edit items, then call import_meeting_apply with the selection. text: 200 to 60000 characters, plain text; source: a short name for the transcript. Needs the key right memory:write and access to the project.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes
sourceNo
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and delivers: it is non-mutating ('nothing is written'), states cost ('15 per run, charged to the key holder'), and required authorization ('memory:write right and access to the project'). This is unusually rich behavioral context for a preview tool.

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?

Purpose is front-loaded, then cost, return content, workflow, and params in sequence. The sentence is dense but each clause (cost, safety, workflow, constraints) earns its place; only minor tightening is possible.

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?

Although an output schema exists, the description still explains the four returned lists and their categories, which aids selection. Combined with cost, auth, workflow, and parameter constraints, an agent has everything needed to invoke 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?

Schema coverage is 0%, so the description must compensate. It documents 'text: 200 to 60000 characters, plain text' and 'source: a short name for the transcript', covering two of three parameters well; project_id is only implied by 'for one project'. A small gap remains for the id parameter's expected form.

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?

States a specific verb and resource: 'Turn a meeting or call transcript into a reviewable proposal for one project.' It also names the downstream sibling import_meeting_apply, so the agent can distinguish this preview step from the apply step without opening either schema.

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?

Explicit when-to-use workflow: call this to get a proposal that 'nothing is written', show the four lists to the user, let them strike/edit, then call import_meeting_apply with the selection. The alternative tool and the condition selecting it are named directly.

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

list_article_backupsB

List saved editor and CMS versions without their content.

ParametersJSON Schema
NameRequiredDescriptionDefault
article_idYes
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It does disclose one meaningful trait — the returned versions exclude content, which sets expectations for payload size — but says nothing about permissions, ordering, or pagination limits. The output schema covers return shape, so the remaining gaps are modest.

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?

A single front-loaded sentence with zero filler. The scope restriction is attached directly to the verb, so the agent gets the essential information on the first read.

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?

An output schema exists, so return values need not be described. However, with two required parameters undocumented in both schema and description and no annotations to convey safety or behavior, the definition is adequate but leaves real gaps for an agent invoking it.

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

Parameters2/5

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

Schema description coverage is 0% — both parameters have only bare titles ("Article Id", "Project Id"). The description does not mention either parameter or clarify which project/article the versions belong to, so it fails to compensate for the undocumented schema.

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?

States a specific verb (list) and resource (saved editor and CMS versions/backups), plus a scope qualifier ("without their content") that tells the agent what it will and won't get. It is clearly distinguishable from the singular get_article_backup, though it never names that sibling explicitly, so it falls just short of a 5.

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?

Usage is implied rather than stated: listing versions before fetching or restoring one is the obvious context, and "without their content" hints this is the lightweight discovery step preceding get_article_backup. There is no explicit when-to-use, when-not-to-use, or named alternative, so it sits at the minimum viable level.

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

list_articlesA

Content articles of a project (metadata only), newest first, paginated. Credits: 0, read-only.

status: all|draft|queued|generating|approved|rejected|published|failed|archived.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
statusNoall
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does meaningful work: it discloses 'read-only' and 'Credits: 0' (cost), states results are metadata only, and specifies ordering and pagination. It omits details like page-size caps or what happens at the end of the result set.

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?

Two short, front-loaded lines with no filler; the core fact (what is listed, ordering, pagination, cost) comes first and the status enum is separated as a reference block. Efficient, though slightly telegraphic.

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?

An output schema exists, so return values need not be explained, and the description covers cost, safety, ordering, pagination and the status filter. A note about result size limits or linkage to a project would complete it.

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 coverage is 0%, so the description must compensate. It enumerates the valid status values, which is genuinely useful, but says nothing about limit, offset, or project_id semantics beyond their obvious names.

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?

States a specific verb and resource ('Content articles of a project') plus scope qualifiers ('metadata only', 'newest first, paginated') that make the operation unambiguous. It does not name a sibling to differentiate from, so it stops short of a 5.

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

Usage Guidelines2/5

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

The description gives no indication of when to use this vs alternatives like get_article, list_content_queries, or get_content_status, and no exclusions or prerequisites. The status values hint at filtering but do not constitute usage guidance.

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

list_cms_connectionsA

List project CMS connections without returning credentials or webhook secrets; requires cms:manage.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does add real value: it discloses that credentials and webhook secrets are excluded from the response and names the required permission (cms:manage). Nothing is said about pagination or ordering, which keeps it from a 5.

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?

A single clause pair with zero waste, front-loading the operation and following immediately with the security caveat and permission requirement.

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 one-parameter read tool with an output schema available, the description covers purpose, permission requirement and the key output restriction. It does not specify ordering or whether results span all connections in the project, a minor remaining gap.

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?

There is one required parameter (project_id) with 0% schema description coverage, so the schema alone is unhelpful. The description implies project scoping via 'project CMS connections' and the cms:manage permission, but never explains the project_id argument itself; with a single self-descriptive 'Project Id' title, this lands at a baseline 3.

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?

States a specific verb (List) and resource (project CMS connections), which cleanly distinguishes it from create_cms_connection, test_cms_connection and delete_cms_connection in the sibling set. It stops short of explicitly naming those siblings, so it earns a 4 rather than a 5.

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 prerequisite 'requires cms:manage' signals the permission context, and the read-only framing implies this is the inspection step before create/test/delete, but no when-to-use or alternative routing is stated. Usage is only implied.

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

list_content_queriesB

Content queries (keyword analyses) with status and scores, paginated. Credits: 0, read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose two genuinely useful traits: no credit consumption and read-only access. It stops there, saying nothing about pagination limits, total counts, ordering, or authentication/scope requirements for project_id.

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?

Two tight fragments with the resource and the key operational facts (read-only, zero credits) front-loaded. Nearly no waste, though the parenthetical gloss and the cost note could be tightened further.

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?

An output schema exists, so return values need not be described, and the description signals pagination. However, with 0% parameter coverage and no usage guidance, an agent lacks enough to choose between this and its sibling listing/creation tools.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. 'Paginated' loosely implies limit/offset, but neither parameter is explained (defaults, max values, page semantics), and project_id scoping is never mentioned.

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?

States a specific resource (content queries, glossed as keyword analyses) and form (list, paginated, with status and scores). The list verb is implied by the tool name rather than the description, and no sibling such as get_content_query or create_content_query is named, so differentiation is left to the name pattern.

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

Usage Guidelines2/5

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

No statement of when to use this listing versus get_content_query (single) or create_content_query. 'read-only' and 'Credits: 0' hint at a safe read context but give no explicit when/when-not or alternative routing.

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

list_locationsA

List available countries/locations for SEO data queries.

Free tool - no API key or credits required.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

Discloses key behavioral trait: free and no authentication needed. No annotations present, so description carries burden and meets it.

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 concise sentences, front-loaded with purpose and key context, no wasted words.

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?

Tool is simple with no parameters; output schema exists. Description covers purpose and a key behavioral note, fully adequate.

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?

No parameters, baseline score 4. Description adds context about SEO queries and free usage.

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 clearly states the tool lists available countries/locations for SEO data queries. It's specific and distinct from sibling tools.

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?

Indicates it's free and requires no API key or credits, giving clear context. Lacks explicit 'when not to use' but sufficient for a simple tool.

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

list_optimizer_suggestionsC

List optimizer suggestions for review.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNo
limitNo
offsetNo
statusNoopen
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It says nothing about pagination behavior (limit/offset defaults of 50/0), whether results are truncated, ordering, or permissions. 'For review' is the only behavioral hint, leaving significant gaps for a no-annotation tool.

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?

A single short, front-loaded sentence with no filler. It is efficient, though the brevity shades into under-specification given the parameter richness.

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

Completeness2/5

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

An output schema exists so return values needn't be described, but that is the only thing covered. With no annotations and five undocumented parameters, the definition leaves the agent without filtering, paging, or prerequisite guidance it needs to invoke the tool correctly.

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

Parameters2/5

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

Five parameters with 0% schema description coverage, and the description names none of them. It never explains that kind filters by snippet/link/topic, that status defaults to 'open', or that limit/offset control paging. This is a real missed opportunity to compensate for the undocumented schema.

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?

States a specific verb ('List') and resource ('optimizer suggestions'), and 'for review' hints at the pending-review scope. However, it does not differentiate from adjacent siblings like approve_optimizer_suggestion, reject_optimizer_suggestion, or run_content_optimizer.

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?

'For review' implies the usage context (surfacing suggestions a human should evaluate), which is a mild routing signal. But there is no explicit when-to-use, no mention of the approve/reject/undo siblings, and no stated prerequisites such as needing a prior run_content_optimizer execution.

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

list_pagesB

Page inventory from the sitemap with GSC metrics and index state, paginated. Credits: 0, read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
searchNo
page_typeNo
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose two useful traits: read-only and zero credit cost. However, it omits anything about pagination behavior beyond the word 'paginated' (page-size caps, total counts), authentication/permission needs, or what index-state values mean.

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?

Two short clauses, front-loaded with purpose and trailing the cost/safety note. Efficient and waste-free, though the 'Credits: 0, read-only' fragment is telegraphic rather than explanatory.

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?

An output schema exists, so return fields need not be described. For a five-parameter, filter-bearing listing tool with zero schema descriptions, though, the description is thin: the filter parameters and pagination limits are undocumented, which is the main remaining gap.

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

Parameters2/5

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

Schema coverage is 0% across five parameters, so the description must compensate and does not. 'Paginated' loosely hints at limit/offset, but search, page_type, and project_id are never explained, leaving two filter parameters with no semantics anywhere.

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?

States a specific verb+resource ('Page inventory from the sitemap') and adds the payload scope ('GSC metrics and index state'), which tells an agent exactly what it gets back. It does not differentiate itself from adjacent tools like audit_sitemap, crawl_website, or onpage_analysis, so it falls short of a 5.

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

Usage Guidelines2/5

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

The description never says when to use this tool versus the many sitemap/crawl/audit siblings, nor does it state prerequisites (e.g. that the sitemap must be audited first) or exclusions. Usage must be entirely inferred from the name.

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

list_projectsA

List your EEAT projects with scores, domains, and analysis status. Credits: 0.

Requires VISIBLYAI_API_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses credit cost ('Credits: 0') and authentication requirement ('Requires VISIBLYAI_API_KEY'), which are helpful. However, it does not mention rate limits, data freshness, or any side effects. For a simple list operation, this is moderately adequate.

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 extremely concise: two sentences. It is front-loaded with the main purpose and contains no filler words. Every sentence adds value.

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?

For a simple list tool with an output schema, the description covers the main purpose and key constraints (credits, auth). However, it lacks details on pagination, ordering, or limits, which are common for list operations. The presence of an output schema partially compensates, but some context is missing.

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?

There are no parameters, and schema description coverage is 100% trivially. Baseline for 0 parameters is 4. The description does not add parameter information, but it is not needed.

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 ('List'), the resource ('EEAT projects'), and the information returned ('scores, domains, and analysis status'). This distinguishes it from sibling tools like get_project which likely retrieves a single project.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., get_project). There is no mention of prerequisites or context, apart from requiring an API key. The description lacks explicit when-to-use or when-not-to-use information.

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

onpage_analysisA

Run 24-point OnPage SEO analysis: keyword, content, technical checks. Credits: 15.

Requires VISIBLYAI_API_KEY. Use get_account_info to check your balance.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
keywordYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It discloses that the tool costs credits and requires an API key, but does not describe the return format, side effects, or execution time. However, since an output schema exists, details of the return are covered there.

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 concise, consisting of two short sentences that convey the purpose, cost, and requirements without any unnecessary words.

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?

Given the presence of an output schema, the description covers the main purpose, cost, and prerequisite. However, it lacks details about the 24-point analysis scope and any limitations or example use cases. For a simple tool with two parameters, it is adequate but not comprehensive.

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

Parameters2/5

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

The input schema lists 'url' and 'keyword' with no descriptions (0% coverage). The description mentions 'keyword, content, technical checks' but does not clarify what the keyword parameter should be or how it is used. The parameter semantics are insufficient.

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 explicitly states 'Run 24-point OnPage SEO analysis: keyword, content, technical checks', which is a specific verb+resource. It clearly distinguishes from sibling tools that focus on individual aspects (e.g., check_links, check_structured_data).

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 includes usage guidance: it mentions the credit cost (15) and the requirement for VISIBLYAI_API_KEY. It also suggests using get_account_info to check balance, which is a practical alternative for verifying prerequisites.

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

optimize_content_draftC

Return a measured, paid optimization proposal. Does not save; requires spending:execute.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes
query_idYes
project_idNo
draft_contentYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior3/5

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

With no annotations, the description carries the full load, and it does disclose two important traits: the operation costs money (spending:execute) and is non-persistent ('does not save'). That is genuine value beyond the schema. However it omits the cost magnitude, whether the proposal is idempotent, and what determines the 'kind' measurement.

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?

Two tight sentences, purpose front-loaded with constraints trailing. Nothing is padded, though the brevity contributes to the semantic gaps noted elsewhere.

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

Completeness2/5

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

An output schema exists so return values needn't be explained, but the definition is incomplete for a paid, 4-parameter tool: no parameter meaning, no routing against the optimizer siblings, and no clarity on cost or side effects. An agent could invoke it without knowing what it will actually optimize or bill.

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

Parameters2/5

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

Schema description coverage is 0% across 4 parameters, so the description is the only place semantics could be added. It says nothing about query_id, project_id, draft_content, or the seven enum values for kind (terms, header_terms, entities, fanout, structure, readability, style), leaving the agent to guess meaning entirely.

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

Purpose3/5

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

The description states it returns an 'optimization proposal,' which is related to but not clearly distinguished from siblings like run_content_optimizer and save_content_query_draft. It does not name the resource being optimized (draft content) or the verb's target, and 'measured' is vague. An agent gets the general idea but cannot confidently separate it from the optimizer family.

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

Usage Guidelines2/5

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

'Does not save; requires spending:execute' states constraints but not when to use this versus run_content_optimizer or whether it should precede save_content_query_draft. No alternatives are named and no workflow context is given.

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

publish_articleA

Publish an approved article to a push CMS. Requires content:publish; webhook pull CMS runs on approval instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
article_idYes
project_idYes
connection_idYes
publish_statusNodraft

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden and does disclose the required permission scope (content:publish) and the fact that publishing routes only through push CMS connections. However, it says nothing about side effects, reversibility, or the important fact that the publish_status parameter defaults to 'draft', so the operation may not actually publish by default.

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 sentences, zero filler, with the core action front-loaded and the constraint and exception following. Every clause carries information.

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?

An output schema exists, so return values need not be described, and the auth and CMS-mode context is covered. The gap is the draft-by-default behavior of publish_status, which an agent must understand to use this tool correctly for a mutation of this weight.

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

Parameters2/5

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

Schema description coverage is 0% and the description mentions none of the four parameters. Most critically, publish_status defaults to 'draft', which is in tension with the tool's stated job of publishing an approved article; the description neither explains this nor disambiguates it. Three required IDs are also completely unexplained.

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?

States a specific verb (publish) and resource (article) and adds the discriminating scope 'to a push CMS', which separates it from the pull/webhook path and from siblings like update_cms_article, submit_article_draft, and pull_live_article. An agent can place this tool without opening the schema.

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?

Gives a precondition ('an approved article') and a when-not ('webhook pull CMS runs on approval instead'), which directly prevents misuse for pull-based connections. It stops short of naming the sibling tool to use in that case, so routing is inferred rather than explicit.

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

pull_live_articleC

Read website content and its comparison with Visibly as a proposal; nothing is saved or published.

ParametersJSON Schema
NameRequiredDescriptionDefault
article_idYes
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose the important trait that 'nothing is saved or published' — a non-persistent read/preview. However, it omits permission requirements, what the 'proposal' representation contains, and any rate or scoping constraints, leaving meaningful behavioral gaps.

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?

A single efficient sentence front-loads the read action and tacks the safety note at the end. Compact and free of filler, though brevity here comes at the cost of substance.

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

Completeness2/5

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

An output schema exists so return values need not be described, but with zero parameter documentation, no annotations, and an ambiguous notion of the 'comparison' and 'proposal', the description is too thin for a tool with two required inputs and a distinct comparison purpose.

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

Parameters2/5

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

Schema description coverage is 0%, so both article_id and project_id are undocumented in the schema, and the description adds no meaning about either. With low coverage the description is expected to compensate but does not, so this falls below the baseline.

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

Purpose3/5

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

The description names a verb (read) and resource (website content plus its comparison against 'Visibly'), but 'its comparison with Visibly as a proposal' is jargon-heavy and ambiguous about what is actually returned. It does not distinguish this tool from nearby siblings like get_article or get_content_status, so an agent cannot confidently pick it over them.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no alternatives named, and no prerequisites. The phrase 'as a proposal' hints at a preview context but never states when an agent should choose this over get_article or other read tools.

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

query_analyticsB

Query Google Analytics 4: traffic, pages, sources, revenue. Credits: 0.

Report types: overview, top_pages, traffic_sources, revenue. Auto-selects property if empty. Requires VISIBLYAI_API_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
limitNo
report_typeNooverview
ga4_propertyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description provides some behavioral context: credits=0, auto-selects property, and list of report types. But it omits details on response format, error behavior, or rate limits, which would be valuable.

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?

The description is concise with bullet-like lines, but lacks structured formatting. It is front-loaded with key info, but some sentences could be more precise (e.g., 'Credits: 0' is vague).

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?

Given 4 parameters and no annotations, the description is incomplete. It does not explain return values (though output schema exists), prerequisites beyond API key, or typical usage scenarios. Adequate for a basic tool but could be more complete.

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 coverage is 0%, so the description must compensate. It adds meaning for report_type (list of types) and ga4_property (auto-selects), but does not fully describe days or limit parameters. Adequate but not comprehensive.

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 clearly states it queries Google Analytics 4 for traffic, pages, sources, and revenue, listing specific report types. However, it does not differentiate this tool from similar siblings like get_historical_traffic or get_traffic_snapshot.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. It mentions auto-selection of property and API key requirement, but no context for choosing among many sibling analytics tools.

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

query_fanoutA

Run Query Fan-Out AI Coverage Analysis for a URL + seed keyword.

Gemini Grounding generates fan-out sub-queries; page content is crawled and topic-extracted; semantic matching (embeddings) scores coverage and surfaces gaps. GSC or DataForSEO ranking keywords feed into the coverage calculation.

Use for: content gap analysis, AI-search coverage, sub-topic coverage for a page. Credits: dynamic (~3-5 depending on data_source).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
keywordYes
languageNoen
data_sourceNodataforseo
gsc_propertyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses the tool's behavior: it generates sub-queries, crawls pages, extracts topics, performs semantic matching, and uses ranking keywords from GSC or DataForSEO. It also notes credit usage. This provides good transparency beyond the input schema, though it does not address rate limits or destructive potential.

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 concise (four sentences), front-loads the core function, and includes a bullet list for use cases. Every sentence adds value, with no redundancy.

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?

Given the tool's complexity (multiple steps, data sources, credits) and the presence of an output schema (not shown), the description covers the process, use cases, and data source options reasonably well. It could include more details on the output format or prerequisites, but it is sufficient for understanding the tool's role.

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

Parameters2/5

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

Schema description coverage is 0%, yet the description only elaborates on 'url' and 'keyword' by stating they are required. 'data_source' is mentioned vaguely ('GSC or DataForSEO'), but default values and the meaning of 'language' and 'gsc_property' are not explained. The description adds minimal parameter-level detail, failing to compensate for the lack of schema descriptions.

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 tool performs 'Query Fan-Out AI Coverage Analysis' for a URL and seed keyword, detailing the process (fan-out sub-queries, crawling, topic extraction, semantic matching) and use cases (content gap analysis, AI-search coverage). This specificity distinguishes it from sibling tools like 'analyze_url_structure' or 'crawl_website'.

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 explicitly lists use cases ('Use for: content gap analysis, AI-search coverage, sub-topic coverage for a page'), providing clear context. However, it does not mention when not to use the tool or compare it to alternatives, so it scores slightly below a 5.

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

query_knowledge_baseB

Search the SEO knowledge base (blogs, docs, Google guidelines). Credits: 2.

Semantic search over all indexed content ranked by relevance + recency. Sources: blog articles, SEO documentation, best practices, Google Search guidelines. Requires VISIBLYAI_API_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
top_kNo
categoryNo
document_typeNo
include_externalNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

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

Describes semantic search ranking by relevance and recency, and lists sources. With no annotations, it provides basic behavioral context but omits error handling, rate limits, or access restrictions beyond the API key.

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?

Three sentences plus a brief note on credits and API key is efficient. Purpose is front-loaded, though parameter documentation is missing.

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?

With an output schema noted but no details, and five parameters, the description is adequate for a search tool but lacks parameter explanations and error/edge-case context.

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

Parameters2/5

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

Schema description coverage is 0%, and the description provides no parameter-level guidance. Parameters like category and document_type are left unexplained, forcing reliance on names only.

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 clearly states it searches the SEO knowledge base comprising blogs, docs, and Google guidelines, with semantic search. It distinguishes from sibling tools like get_google_guidelines by covering multiple sources, but could be more explicit about its uniqueness.

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?

Mentions credit cost and API key requirement, implying a paid/searched usage context, but lacks explicit guidance on when to use versus sibling tools like get_google_guidelines or when not to use it.

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

query_search_consoleB

Query Google Search Console: clicks, impressions, CTR, position. Credits: 0.

Dimensions: query, page, country, device, date. Auto-selects property if empty. Requires VISIBLYAI_API_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
limitNo
deviceNo
countryNo
dimensionNoquery
gsc_propertyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior2/5

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

No annotations provided, so description must disclose behavior. It notes credits=0 and auto-selects property, but does not mention idempotency, pagination, rate limits, or impact. Minimal disclosure for a data retrieval tool.

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?

Short and to the point, but includes minor extraneous info ('Credits: 0'). Most sentences are informative, though structure could be improved.

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?

Has output schema, so return values are covered. However, parameter descriptions are missing, and tool complexity is moderate. Description falls short of providing complete context for all parameters and behaviors.

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

Parameters2/5

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

Schema has 6 parameters with 0% description coverage. Description briefly lists some dimensions and says property auto-selects, but does not explain days, limit, country, device, or their defaults. Does not compensate for missing schema descriptions.

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 clearly states it queries Google Search Console for clicks, impressions, CTR, and position. It names the tool's purpose but does not differentiate it from siblings like query_analytics or get_traffic_snapshot.

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?

Mentions auto-selection of property and API key requirement, but lacks guidance on when to use this tool versus alternatives. No explicit when-not or comparisons with siblings.

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

recallA

Recall facts the account remembered in the visibly chat (account facts, plus project facts if project_id). Credits: 0, read-only.

Empty query lists recent facts. Requires tier Pro and CUSTOMER_MEMORY_ENABLED on the platform.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
project_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does so well: it declares 'Credits: 0, read-only' and lists the tier and platform-flag prerequisites. These are exactly the behavioral traits an agent needs to know before calling. It stops short of describing pagination or result shape, but an output schema exists so that gap is minor.

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?

Two compact sentences with prerequisites and empty-query behavior front-loaded and nothing wasted. The only friction is the awkward 'visibly chat' phrasing, but the structure is efficient and appropriately sized for a zero-cost read tool.

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 three-param read tool with an output schema (so return values need no explanation), the description covers purpose, cost, safety, and prerequisites. It is nearly complete, missing only limit semantics and any pagination note, which is acceptable given the output schema.

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 coverage is 0%, so the description must compensate. It explains query behavior ('Empty query lists recent facts') and project_id scoping ('plus project facts if project_id'), covering two of three parameters meaningfully. The 'limit' parameter is left completely undocumented in both schema and description.

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?

States a specific verb (recall) and resource (facts the account remembered), and clarifies scope with 'account facts, plus project facts if project_id.' The phrasing 'in the visibly chat' is slightly odd but the purpose is understandable. It doesn't explicitly contrast itself with the sibling 'remember' tool, but the verb+resource is clear enough to distinguish.

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?

Provides useful conditional guidance ('Empty query lists recent facts') and prerequisites ('Requires tier Pro and CUSTOMER_MEMORY_ENABLED'). However, it never names or contrasts against the obvious alternative 'remember', and gives no explicit when-not guidance. Usage is implied rather than spelled out.

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

regenerate_content_articleB

Queue paid regeneration for an eligible article; requires spending:execute.

ParametersJSON Schema
NameRequiredDescriptionDefault
article_idYes
project_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It does disclose two meaningful traits: the operation is queued (asynchronous) and it is paid, requiring spending:execute. It does not say whether existing content is overwritten or recoverable, how the queued job is tracked, or the cost magnitude, so the disclosure is partial for a paid mutation.

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?

A single tight sentence with the action front-loaded and the permission requirement trailing. Nothing is wasted, though the brevity contributes to the specification gaps noted elsewhere.

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

Completeness2/5

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

For a paid, asynchronous mutation with zero annotations and 0% schema coverage, the definition is thin: eligibility criteria, cost implications, and the optional project_id's effect are all missing. The presence of an output schema excuses it from documenting return values, but not from these usage-critical gaps.

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

Parameters2/5

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

Schema description coverage is 0% for both parameters, so the description must compensate and does not. article_id is only obliquely implied by 'eligible article', and project_id (optional, default null) is entirely unexplained — an agent cannot tell whether omitting it applies a default project or a global scope.

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?

States a specific verb and resource — 'Queue paid regeneration' for an article — which cleanly separates it from generate_article_from_query and edit_content_article. It doesn't explicitly name a sibling to route against, but 'regeneration' plus 'queue' is a precise, distinguishable action.

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?

It names a precondition ('eligible article') and a required permission ('spending:execute'), which tells the agent this is a gated, paid action rather than a free edit. However it never defines what makes an article eligible, nor contrasts it with optimize_content_draft or edit_content_article. Guidance is implied rather than explicit.

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

reject_optimizer_suggestionB

Reject an optimizer suggestion; requires content:write.

ParametersJSON Schema
NameRequiredDescriptionDefault
suggestion_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it only discloses the required scope (content:write). It says nothing about reversibility, what state the suggestion enters after rejection, or whether rejection can be undone via undo_optimizer_suggestion.

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?

One tight sentence with the action and its prerequisite front-loaded; nothing is wasted.

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?

An output schema exists, so return values need not be described. But for a mutation tool with no annotations and an undocumented parameter, key operational details (reversibility, effect on the suggestion, id source) are missing.

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

Parameters2/5

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

Schema description coverage is 0% and the single parameter suggestion_id is undocumented in the schema. The description does not compensate at all, offering no hint about where the id comes from (e.g., list_optimizer_suggestions) or its accepted format.

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?

States a specific verb (reject) and resource (optimizer suggestion), which is enough to distinguish it from approve_optimizer_suggestion and undo_optimizer_suggestion by action alone. It does not explicitly name those siblings, but the action is unambiguous.

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 permission requirement 'requires content:write' is stated, and the reject action implies when it applies. However, there is no guidance on when to reject versus approve, undo, or simply ignore a suggestion, so the alternative-tool routing is left to inference.

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

rememberA

Store a fact in YOUR visibly brain (the key holder's memory graph, read back by recall and the chat). Credits: 0.

User data, not a permission: the fact only shapes your own chat context, never project content and never another member's graph. scope=project needs project_id; scope=account applies across all projects. Needs the key right memory:write. Pass a stable idempotency_key when retrying; the response echoes the key used.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNoproject
contentYes
project_idNo
idempotency_keyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it discloses zero credit cost, that this is user data not a permission, that the fact 'only shapes your own chat context, never project content and never another member's graph', the required memory:write key right, and idempotency behavior (the response echoes the key used).

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?

Front-loads the core action and keeps the operational details (scope rules, permission, idempotency) compact. Slightly dense with a minor wording glitch ('YOUR visibly brain'), but no wasted sentences.

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 4-param mutation with an output schema available, the description covers everything an agent needs: action, auth, scope branching, idempotency, and the blast radius of the stored data. Return-value details are correctly left to the output schema.

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 description coverage is 0%, so the description must compensate: it explains scope semantics (project vs account), the conditional dependency scope=project needs project_id, and the retry use-case for idempotency_key. Only 'content' is left uninterpreted, which is self-evident.

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?

States a specific verb+resource ('Store a fact in ... the key holder's memory graph') and explicitly ties it to its sibling by noting the fact is 'read back by recall and the chat', so an agent can distinguish remember (write) from recall (read).

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?

Gives concrete selection rules: scope=project requires project_id, scope=account applies across all projects, and idempotency_key should be passed when retrying. It also states the needed permission (memory:write). The only gap is the absence of an explicit when-not-to-use statement.

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

restore_article_backupC

Restore a saved version only if the current article revision still matches.

ParametersJSON Schema
NameRequiredDescriptionDefault
backup_idYes
project_idYes
expected_revisionYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full behavioral burden. It usefully discloses an optimistic-concurrency guard (revision must match), but omits that a restore is a destructive/overwriting mutation, what permissions are required, and whether the operation is reversible.

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?

A single front-loaded sentence with no filler. It is appropriately terse, though for a mutation tool with no annotations and no parameter descriptions the brevity comes at the cost of needed detail.

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

Completeness2/5

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

An output schema exists so return values need not be described. Yet for a restore operation with no annotations and 0% schema coverage, the definition is missing key context: destructive side effects, permission requirements, and meaningful parameter explanations.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. 'Saved version' loosely maps to backup_id and 'current article revision still matches' hints at expected_revision, but project_id is entirely undocumented in both schema and description, leaving one of three parameters semantically opaque.

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 verb (Restore) and resource (a saved version / article backup), and adds a concurrency condition. It is clear without opening the schema, though it does not explicitly distinguish itself from sibling tools like get_article_backup or list_article_backups.

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?

It implies usage context by stating the restore only applies when the current revision still matches, which functions as a when-not condition. However, it does not name alternatives (e.g., get_article_backup) or explain when to retrieve versus restore a backup.

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

revoke_contentpilot_keyB

Revoke the project's Pull API key. Requires cms:manage.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It usefully discloses the required scope (cms:manage), but says nothing about irreversibility of the revocation, what happens to integrations or traffic using the revoked Pull API key, or whether the action can be undone — significant gaps for a destructive operation.

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?

Two short sentences, zero filler, with the core action front-loaded and the permission requirement second. It is efficient, though its terseness is under-specification rather than optimal density.

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?

An output schema exists, so return values need not be explained. For a single-parameter destructive tool with no annotations, however, the description omits effects of revocation and reversibility, leaving an agent with only the action and the permission requirement.

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

Parameters2/5

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

Schema description coverage is 0% for the single project_id parameter, so the description must compensate and largely does not. The phrase 'the project's Pull API key' only loosely ties project_id to key ownership and adds no format, ID semantics, or requiredness detail beyond what the schema already shows.

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?

States a specific verb (revoke) and a specific resource (the project's Pull API key), so the agent can distinguish it from create_contentpilot_key and get_contentpilot_key_status without opening a schema. It stops short of naming those siblings, so it lands just below the top band.

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 stated precondition 'Requires cms:manage' gives useful context for whether the caller can invoke it, but there is no explicit when-to-use guidance relative to create_contentpilot_key or get_contentpilot_key_status, and no exclusions. Usage must be inferred from the verb.

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

run_content_optimizerB

Start a paid content optimizer run. Requires content:write and spending:execute.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden and does add real value by disclosing that the run is paid (a cost/spending side effect) and requires content:write and spending:execute scopes. However, it says nothing about execution behavior such as whether the run is async/long-running, what state it leaves content in, or whether it is idempotent or repeatable.

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 short, front-loaded sentences with zero filler. The action and its cost/authorization constraints come first, and every sentence earns its place.

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 existence of an output schema means return values need not be described, and the description covers cost and scopes. But for an operationally significant paid run that likely triggers background work, the absence of any note on timing, preconditions, or side effects leaves an agent under-informed.

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?

There is one parameter (project_id) at 0% schema description coverage, and the description adds no semantics for it. The name is largely self-explanatory and it is the only input, so the gap is minor rather than crippling.

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?

States a specific verb+resource ('Start a paid content optimizer run') that is distinguishable from sibling optimizer tools like get_optimizer_settings or optimize_content_draft. It doesn't explicitly name which sibling it should not be confused with, so it falls short of a 5, but the purpose is unambiguous.

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

Usage Guidelines2/5

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

There is no when-to-use guidance: nothing says when a paid optimizer run is preferable to optimize_content_draft, list_optimizer_suggestions, or the settings tools. The only conditional information offered is the permission prerequisite, which is about authorization rather than usage routing.

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

save_content_query_draftB

Save an editor draft with revision CAS. The content is sanitized and nothing is published.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNo
formatNohtml
contentYes
query_idYes
project_idNo
expected_revisionYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries the full burden and does disclose two meaningful traits: optimistic concurrency via revision CAS and content sanitization, plus the reassurance that nothing is published. It omits the failure mode when expected_revision is stale, permission requirements, and idempotency, which are important for a mutating save.

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 short sentences, front-loaded with the action and the concurrency mechanism. Every clause carries information and none is wasted.

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?

An output schema exists so return values need not be explained, and the core save semantics are covered. However, with six parameters at 0% schema coverage and no annotations, the description leaves field-level meaning and error behavior unspecified for a multi-parameter mutation.

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

Parameters2/5

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

Schema description coverage is 0% across six parameters. The description only hints at two of them semantically (CAS maps to expected_revision, sanitization maps to content) and says nothing about query_id, title, format's html/markdown enum, or project_id, so it fails to compensate for the coverage gap.

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?

States a specific verb (Save) and resource (editor draft) and adds the distinguishing mode (revision CAS, draft-only). An agent can tell it is a draft write rather than a publish or edit, though it never names the siblings it differs from such as submit_article_draft or update_article.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance and no conditions or alternatives. The word 'draft' weakly implies a pre-publish context, but nothing tells the agent when to choose this over submit_article_draft, update_article, or edit_content_article.

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

score_textB

Score a text against the project's brand rules and AI-slop patterns; with a ready query_id also the NSS. Credits: 0.

Deterministic, nothing is stored. format: html|markdown (max 100000 chars). nss is null with a reason when no finished analysis is referenced.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNomarkdown
contentYes
query_idNo
persona_idNo
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior4/5

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

With no annotations, the description carries the burden, and it discloses meaningful traits: 'Deterministic, nothing is stored,' 'Credits: 0,' and that nss returns null with a reason when no analysis is referenced. It does not cover permissions or the shape of the score result, but the cost/statelessness disclosure is valuable.

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?

The primary purpose is front-loaded and the text is short, but it is broken into fragments (a mid-sentence metadata line, a trailing note about nss) that read as terse notes rather than a coherent statement, slightly hurting scannability.

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?

An output schema exists, so return values need not be explained. Still, for a 5-parameter tool with 0% schema coverage, leaving three parameters (content, project_id, persona_id) unexplained makes the definition incomplete for confident invocation.

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

Parameters2/5

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

Schema description coverage is 0% over 5 params, so the description must compensate. It clarifies format (html|markdown, max 100000 chars) and hints at query_id's role for NSS, but content, project_id, and persona_id are entirely undocumented in both schema and description.

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?

States a specific verb (Score) and resource (a text) plus the criteria (brand rules and AI-slop patterns), which distinguishes it from siblings like get_scorecard and seo_checklist. The 'NSS' acronym and 'query_id' extension are not defined, adding some ambiguity.

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 'with a ready query_id also the NSS' clause implies a usage scenario, suggesting the tool is used standalone or linked to a finished analysis. However, there is no explicit when-to-use/when-not guidance and no named alternative among the many siblings.

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

seo_agentB

Run a specialized SEO agent. Agents: crawling, seo_analyst, strategist, copywriter, chief_editor, consultant. Auto-detects from task if omitted. Credits: varies.

Pass project_id to enrich with project context (business type, target group, skill profile).

Requires VISIBLYAI_API_KEY. Use get_account_info to check your balance.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
taskYes
agentNo
domainNo
paramsNo
contentNo
keywordNo
project_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

Lists API key requirement and credit consumption, but does not disclose if actions are read-only or modify data. No annotations to compensate.

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?

Concise at 4 sentences, front-loads main purpose. Could benefit from bullet points for agents.

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?

Covers API key, credits, auto-detection, and project enrichment. Lacks details on agent behaviors and output, though output schema exists.

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 coverage is 0%, but description explains several parameters (task, agent, project_id) and their roles. Does not fully explain 'params' or 'content'.

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?

Clearly states it runs a specialized SEO agent and lists available agent types (crawling, seo_analyst, etc.). Suggests differentiation from sibling tools but does not explicitly contrast.

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?

Mentions enriching with project context and checking balance via get_account_info, but no explicit when-to-use or when-not-to-use. Implies general orchestration tool.

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

seo_checklistB

Get an SEO checklist. Types: general, blog, ecommerce, discover, backlink, all.

Returns actionable checklists with specific items to verify. Available in English (en) and German (de).

Free tool - no API key or credits required.

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNoen
checklist_typeNogeneral

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description provides transparency about cost ('Free tool - no API key or credits required') and return type ('actionable checklists'). However, it doesn't explicitly state read-only behavior or potential 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 concise with three sentences, front-loading the purpose. Every sentence adds value (types, return, language, free aspect), with no wasted words.

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 simple retrieval tool, the description covers purpose, parameters, return format, and availability. It lacks details on limitations (rate limits, max results), but given the output schema exists and the tool is free, it's fairly complete.

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 coverage is 0%, but the description partially compensates by listing checklist type values (general, blog, etc.) and language options (en, de). However, it does not explain each type's purpose or confirm exact allowed values, leaving ambiguity.

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 clearly states it returns an SEO checklist and lists available types (general, blog, ecommerce, etc.). It distinguishes the tool from siblings like seo_agent or seo_guidance by focusing on checklists, but does not explicitly contrast them.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. It does not mention prerequisites, when not to use, or compare with other SEO tools like seo_guidance or seo_workflow.

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

seo_guidanceA

Get SEO best practices on a topic. Use topic='list' to see all topics.

Topics: title_tags, meta_descriptions, heading_structure, internal_linking, core_web_vitals, eeat, keyword_research, schema_markup, image_optimization, local_seo.

Free tool - no API key or credits required.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations exist. The description mentions it's free and requires no API key, which is helpful, but does not disclose if the tool has any side effects, rate limits, or the nature of returned data. Output schema exists but is not described.

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 extremely concise, front-loads the core purpose, and lists topics efficiently. Every sentence is meaningful.

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?

Given the tool's simplicity (one parameter, output schema exists), the description adequately covers purpose, valid inputs, and cost. It could mention return format but output schema compensates.

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 only specifies a string with no enum values, but the description enriches semantics by listing all valid topics (e.g., title_tags, meta_descriptions), providing significant added value beyond the schema.

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 clearly states 'Get SEO best practices on a topic' with a specific verb and resource. It does not explicitly differentiate from siblings, but the topic enumeration adds clarity.

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 provides a usage tip (topic='list') and states it's free, but lacks explicit guidance on when to use this tool versus sibling tools like seo_checklist or seo_workflow.

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

seo_workflowA

Run a multi-step SEO workflow with report generation. Workflows: seo_performance_audit (~150 credits), indexing_diagnosis (~200 credits), quick_win_analysis (~60 credits, DR-weighted keyword opportunities pos 10-100). Credits: 60-200 depending on workflow.

Requires VISIBLYAI_API_KEY. Use get_account_info to check your balance.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes
paramsNo
workflowYes
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses the requirement for an API key and credit consumption (60-200 credits per workflow), which is helpful for a workflow tool. However, it does not discuss side effects, error handling, rate limits, or what occurs upon credit insufficiency.

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 concise (two sentences plus a workflow list) and front-loaded with the main purpose. It could benefit from bullet points for readability, but it avoids unnecessary verbosity.

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 workflow names and credits, but fails to explain three of four parameters (domain, project_id, params). While an output schema exists, the lack of input guidance makes the tool harder to invoke correctly without external knowledge.

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

Parameters2/5

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

Input schema has 4 parameters with 0% description coverage. The description only elaborates on the 'workflow' parameter by listing possible values and their credit costs. It does not explain 'domain', 'project_id', or 'params', leaving their semantics unclear despite the need for compensation.

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 purpose: 'Run a multi-step SEO workflow with report generation.' It lists three specific workflows (seo_performance_audit, indexing_diagnosis, quick_win_analysis) with credit costs, distinguishing this tool from sibling tools that perform single analyses instead of multi-step workflows.

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 mentions prerequisites (VISIBLYAI_API_KEY) and suggests using get_account_info to check balance, but it does not explicitly state when to use this tool vs. alternatives like individual analysis tools. Usage context is implied but not clearly delineated.

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

set_article_live_urlC

Connect or disconnect the public page URL for editor pull and CMS writeback.

ParametersJSON Schema
NameRequiredDescriptionDefault
article_idYes
project_idYes
published_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses only the two modes (connect/disconnect) but says nothing about permissions, URL validation, reversibility, or that the nullable published_url is what toggles the two modes.

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?

A single front-loaded sentence with no filler. It is efficient, though arguably too terse for a three-parameter mutation with a nullable control value.

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

Completeness2/5

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

An output schema exists so return values need not be explained, but with zero annotation coverage and 0% parameter documentation, the description leaves the critical connect-vs-disconnect mechanism (present vs null URL) and the roles of article_id/project_id unaddressed.

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

Parameters2/5

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

Schema description coverage is 0% for all three required params. The description alludes to 'the public page URL', loosely mapping to published_url, but never mentions article_id or project_id, nor explains that passing a null URL performs the disconnect. It compensates for almost none of the coverage gap.

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 names a specific verb (connect/disconnect) and resource (the public page URL) and adds scope (editor pull and CMS writeback). An agent can understand the operation, though no sibling tool is named to differentiate it from update_article or publish_article.

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

Usage Guidelines2/5

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

The phrase 'for editor pull and CMS writeback' hints at context but states no explicit when-to-use, when-not, or alternatives among the many content siblings. Nothing tells the agent when this is preferable to edit_content_article, update_cms_article, or publish_article.

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

submit_article_draftA

Hand your text over to visibly as an article draft (status draft, never queued). Credits: 0.

Needs an API key with the right content:write. Pass a stable idempotency_key when retrying; the response echoes the key used. format: html|markdown. Without query_id a new content query is created; with query_id keyword/country/language/persona and expected_query_revision must match.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
formatNomarkdown
contentYes
countryNode
keywordYes
languageNode
query_idNo
persona_idNo
project_idYes
idempotency_keyNo
expected_query_revisionNo
expected_article_revisionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses the auth scope required (content:write), the cost (Credits: 0), the non-queued draft status, idempotency behavior including that the response echoes the key, and the revision-matching constraint. It omits failure/conflict behavior for expected_article_revision.

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?

Front-loads purpose, then states cost, auth, idempotency, format, and the conditional query logic in compact sentences. Dense but every clause carries operational information; 'Hand your text over to visibly' is slightly awkward but functional.

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?

Output schema exists so return values need not be described, and the description covers the highest-risk behaviors (auth, cost, idempotency, conditional query creation) for a 12-param mutation with no annotations. The main remaining gap is the unexplained expected_article_revision concurrency parameter.

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 0% across 12 parameters, so the description must compensate and it partially does: it explains format, idempotency_key, query_id, keyword/country/language/persona, and expected_query_revision semantics. It leaves title, content, project_id, persona_id, and notably expected_article_revision undocumented.

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?

States a specific verb and resource ('submit... as an article draft') and adds the key scope constraint 'status draft, never queued', which separates it from publish_article and change_article_status. It is clear what the tool does, though it does not explicitly name sibling alternatives.

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?

Provides conditional usage guidance: pass a stable idempotency_key when retrying, and explains the query_id-present vs absent branches ('Without query_id a new content query is created; with query_id ... must match'). It stops short of routing the agent to named alternatives for publishing or optimization.

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

test_cms_connectionA

Test CMS credentials and signed webhook delivery. Requires cms:manage.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes
connection_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses the required scope (cms:manage) and that it exercises signed webhook delivery, but it does not say whether a real test webhook is dispatched (a side effect), whether the operation is read-only, or what a failure looks like.

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 short sentences, zero filler, and the core purpose is front-loaded. Every clause earns its place.

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?

An output schema exists, so return values need no explanation here, and the auth requirement plus test scope are covered. Still, for an un-annotated tool that performs outbound verification, the description omits side effects and failure semantics, leaving gaps an agent may care about.

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 0%, so the description is expected to compensate, and it does not mention either parameter. However, both parameters are unambiguous integer identifiers (project_id, connection_id) whose names are self-explanatory in context, so little meaning is lost.

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?

States a specific verb ('Test') plus two concrete resources: CMS credentials and signed webhook delivery. This clearly separates it from the sibling CMS tools (list_cms_connections, create_cms_connection, delete_cms_connection), though it doesn't name any sibling explicitly.

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?

'Requires cms:manage' gives a permission prerequisite, and the verb 'Test' implies it is run after a connection is configured, but there is no explicit when-to-use statement and no exclusions or alternatives named. Usage is implied rather than stated.

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

undo_optimizer_suggestionB

Undo a snippet/link suggestion including CMS writeback; requires content:approve and content:publish.

ParametersJSON Schema
NameRequiredDescriptionDefault
suggestion_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden and usefully discloses a side effect (CMS writeback) and auth requirements. It stops short of stating whether the CMS change is reversible or what specifically gets reverted.

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?

A single tight sentence that front-loads the action and appends the permission requirement. No wasted words, though the writeback clause is compressed to the edge of ambiguity.

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?

For a mutating tool with no annotations, the key concerns (auth, CMS writeback) are covered and an output schema exists. Still missing what the undo restores and any precondition on the suggestion's state.

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?

One parameter at 0% schema description coverage; the description never mentions suggestion_id. The name is fairly self-explanatory, but the description adds no format or sourcing guidance, so it doesn't compensate for the coverage gap.

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?

States a specific verb ('undo') plus the resource ('snippet/link suggestion') and scopes it with 'including CMS writeback.' An agent can distinguish it from approve/reject siblings by the reversal semantics, though it never names those alternatives.

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?

States the required permissions ('requires content:approve and content:publish'), which implies a prior-approval workflow, but gives no explicit when-to-use vs. reject_optimizer_suggestion or what state the suggestion must be in to undo.

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

update_articleA

Edit a draft or rejected article. Credits: 0. Needs content:write.

expected_revision comes from get_article; a mismatch returns revision_conflict with the current revision. With content, format (html|markdown) is required. Approved or published articles cannot be edited here; hand over a new draft instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNo
formatNo
contentNo
keywordsNo
article_idYes
project_idNo
idempotency_keyNo
meta_descriptionNo
expected_revisionYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

No annotations, so the description carries the full burden and does well: it discloses cost ('Credits: 0'), required authorization scope ('Needs content:write'), optimistic-concurrency behavior ('expected_revision comes from get_article; a mismatch returns revision_conflict with the current revision'), and a conditional input requirement ('With content, format (html|markdown) is required'). It stops short of describing rollback/reversibility or the returned payload, though an output schema exists.

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?

Front-loads the core action and scope in the first sentence, then layers cost, permission, concurrency, and gating constraints in short clauses. No filler sentences; every line carries operational 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 9-parameter mutation with an output schema, the description covers the risky parts an agent needs: permission, cost, revision conflict handling, format requirement, and the ineligibility of published/approved articles. The main gap is the unexplained optional parameters (particularly idempotency_key), but overall it is sufficient to invoke the tool 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 coverage is 0%, so the description must compensate and it only partially does: it explains expected_revision's provenance and failure semantics and the content/format coupling with enum values. It says nothing about title, keywords, project_id, meta_description, or idempotency_key (notably why an idempotency key matters for this mutation), leaving several parameters undocumented in both schema and description.

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?

States a specific verb and resource ('Edit a draft or rejected article') and constrains the scope to two article states, which is meaningful next to siblings like update_cms_article and edit_content_article. It does not explicitly name which sibling to prefer, so it falls short of a 5.

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?

Explicitly states when to use it (drafts and rejected articles), when not to (approved or published articles, with the alternative being 'hand over a new draft instead'), and the prerequisite permission (content:write). The revision-conflict path also tells the agent what to do when the call fails.

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

update_cms_articleA

Update the website from the saved Visibly article. Requires content:publish.

Check get_article_workflow first: another published article may own this URL. A webhook receipt is not completion. Verify delivery and live content with get_article_workflow.

ParametersJSON Schema
NameRequiredDescriptionDefault
article_idYes
project_idYes
connection_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does add real behavioral context: an auth requirement (content:publish), a URL-ownership conflict warning, and the caution that a webhook receipt is not completion. It does not state reversibility or what happens to existing live content, so it is strong but not complete.

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?

Front-loads the core action and permission, then adds the prerequisite and verification notes. Four short sentences that mostly earn their place, with only minor fragmentation from the line breaks.

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?

An output schema exists, so return-value explanation is not needed, and the mutation's auth and verification behavior is covered. However, for a no-annotation mutation tool with three completely undocumented required parameters, the definition leaves a notable gap.

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

Parameters2/5

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

Schema description coverage is 0% and all three parameters (article_id, project_id, connection_id) are undocumented in both schema and description. The description never explains what these identifiers are or where to obtain them, so it fails to compensate for the coverage gap.

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?

States a specific verb+resource: updating the website from a saved Visibly article. It is distinguishable from siblings like publish_article or edit_content_article, though 'update the website' is slightly abstract about what actually changes on the CMS side.

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?

Explicitly names the content:publish requirement and directs the agent to run get_article_workflow first, with a stated reason (another published article may own the URL). It gives clear context and a prerequisite sequence, but does not contrast itself against publish_article or update_article.

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

update_optimizer_settingsC

Change scheduled optimizer or approval-time autolink settings. Requires content:write.

ParametersJSON Schema
NameRequiredDescriptionDefault
enabledNo
project_idYes
autolink_enabledNo
autolink_max_per_articleNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It usefully discloses a mutation operation and an authorization requirement (content:write), but says nothing about reversibility, whether null/omitted fields leave settings unchanged, or the effect of disabling autolink — significant gaps for a settings mutation.

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?

Two tight sentences, front-loaded with the action and followed by the permission requirement. No filler, though the second sentence is purely a constraint rather than added substance.

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

Completeness2/5

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

For a mutation tool with zero annotations and 0% parameter description coverage, the description is too thin. While an output schema exists (so return values need not be explained), the input semantics and mutation behavior remain largely unaddressed.

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

Parameters2/5

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

Schema description coverage is 0% across 4 parameters. The description loosely maps 'scheduled optimizer' and 'autolink settings' to the parameters, but never explains what 'enabled' vs 'autolink_enabled' control or how a null value is treated, so it fails to compensate for the schema's silence.

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?

States a specific verb ('Change') and resource ('settings') and narrows scope to 'scheduled optimizer or approval-time autolink settings,' which distinguishes it from the read counterpart get_optimizer_settings. It stops short of explicitly naming or contrasting with sibling tools, but the purpose is clear.

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

Usage Guidelines2/5

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

The only usage context is the permission prerequisite ('Requires content:write'). There is no guidance on when to use this versus get_optimizer_settings for reading, or when to change settings at all, leaving routing to inference.

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

validate_keywordsA

Validate keywords: get search volume, competition, CPC. Credits: varies.

Requires VISIBLYAI_API_KEY. Use get_account_info to check your balance.

ParametersJSON Schema
NameRequiredDescriptionDefault
top_nNo
keywordsYes
languageNoGerman
locationNoGermany

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It discloses credit consumption and API key requirement, but omits details like rate limits, error handling, or whether the operation is read-only. The output schema exists but the description itself is minimal on behavior.

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 concise with two sentences. It is front-loaded with the primary purpose. However, the requirement of API key and credit info could be structured better (e.g., a separate notes section).

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?

Given the output schema exists, the description does not need to detail return values. It covers prerequisites and cost but lacks information on error scenarios, pagination, or how credits are calculated. For a tool with 4 parameters, the description is moderately complete.

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 0%, so the description must add meaning. However, it does not explain the parameters (keywords, location, language, top_n) beyond their names. The names are self-explanatory but no additional guidance on formats or constraints is given.

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 it validates keywords by providing search volume, competition, and CPC. It distinguishes from sibling tools like classify_keywords_advanced, which classify rather than validate.

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 mentions prerequisites (VISIBLYAI_API_KEY) and suggests checking balance with get_account_info. However, it does not explicitly contrast with alternative tools for similar metrics or specify when not to use this tool.

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.

  1. 51 tool updatesv0.6.1
    • Addedapprove_optimizer_suggestion
    • Addedchange_article_status
    • Addedcreate_cms_connection
    • Addedcreate_content_query
    • Addedcreate_contentpilot_key
    • Addeddelete_cms_connection
    • Addededit_content_article
    • Addedgenerate_article_from_query
    • Addedget_analytics_insights
    • Addedget_article
    • Addedget_article_backup
    • Addedget_article_workflow
    • Addedget_cluster_keywords
    • Addedget_content_briefing
    • Addedget_content_query
    • Addedget_content_status
    • Addedget_contentpilot_key_status
    • Addedget_eeat_summary
    • Addedget_gsc_clusters
    • Addedget_internal_links
    • Addedget_mcp_operation
    • Addedget_optimizer_settings
    • Addedget_revenue_insights
    • Addedget_scorecard
    • Addedimport_meeting_apply
    • Addedimport_meeting_preview
    • Addedlist_article_backups
    • Addedlist_articles
    • Addedlist_cms_connections
    • Addedlist_content_queries
    • Addedlist_optimizer_suggestions
    • Addedlist_pages
    • Addedoptimize_content_draft
    • Addedpublish_article
    • Addedpull_live_article
    • Addedrecall
    • Addedregenerate_content_article
    • Addedreject_optimizer_suggestion
    • Addedremember
    • Addedrestore_article_backup
    • Addedrevoke_contentpilot_key
    • Addedrun_content_optimizer
    • Addedsave_content_query_draft
    • Addedscore_text
    • Addedset_article_live_url
    • Addedsubmit_article_draft
    • Addedtest_cms_connection
    • Addedundo_optimizer_suggestion
    • Addedupdate_article
    • Addedupdate_cms_article
    • Addedupdate_optimizer_settings
  2. 33 tool updatesv0.6.0
    • First observedanalyze_url_structure
    • First observedaudit_sitemap
    • First observedcheck_hreflang
    • First observedcheck_links
    • First observedcheck_pagespeed
    • First observedcheck_serp
    • First observedcheck_structured_data
    • First observedclassify_keywords_advanced
    • First observedclassify_keywords_simple
    • First observedcrawl_website
    • First observedget_account_info
    • First observedget_backlinks
    • First observedget_competitors
    • First observedget_google_connections
    • First observedget_google_guidelines
    • First observedget_historical_traffic
    • First observedget_keywords
    • First observedget_project
    • First observedget_referring_domains
    • First observedget_skill
    • First observedget_traffic_snapshot
    • First observedlist_locations
    • First observedlist_projects
    • First observedonpage_analysis
    • First observedquery_analytics
    • First observedquery_fanout
    • First observedquery_knowledge_base
    • First observedquery_search_console
    • First observedseo_agent
    • First observedseo_checklist
    • First observedseo_guidance
    • First observedseo_workflow
    • First observedvalidate_keywords

TDQS

C2.8/5.0

Scored across 84 tools

Disambiguation2/5

Many tools have overlapping purposes: score_text, optimize_content_draft, and run_content_optimizer all evaluate/improve content; classify_keywords_simple and classify_keywords_advanced do nearly the same thing; get_content_query, list_content_queries, and get_content_status all read query state; seo_agent and seo_workflow both run multi-step SEO tasks. An agent would struggle to pick the right one without deep inspection.

Naming Consistency2/5

Naming mixes verb_noun (list_articles, create_content_query), noun-only (recall, remember, seo_checklist), and noun_verb (score_text, check_serp, query_search_console) patterns. Similar functions get different styles, e.g. optimize_content_draft vs run_content_optimizer, and get_gsc_clusters vs get_content_query, making the surface hard to predict.

Tool Count1/5

84 tools is far beyond a reasonable scoped surface for an SEO/content platform. The set feels like several products bolted together (scoring, CMS, optimizer, GSC, analytics, SERP data, agents, memory, meeting import) with many redundant variants, guaranteeing confusion and high selection cost.

Completeness4/5

The surface covers most lifecycle operations: content queries (create/read/save/generate/optimize), articles (create/edit/status/publish/backup/restore), CMS connections (CRUD/test), optimizer suggestions (list/approve/reject/undo), and analytics. Minor gaps exist, such as no delete_article or bulk operations, but core workflows are well supported.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    B
    maintenance
    A Model Context Protocol server that enables Claude to interact with DataForSEO APIs, allowing access to SEO data including SERPs, keyword research, on-page metrics, and domain analytics.
    17
    7,842 npm
    253
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Integrates SEO analysis and Google Search Console data directly into Claude Code and Cursor. Performs real-time site audits, detects technical SEO issues, validates meta tags, generates structured data, and provides AI-powered recommendations for both production sites and local development servers.
    19
    11 npm
    3
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Lets you ask Claude questions about your Google Search Console data and get real analysis, not raw API rows. Provides 20 tools for analysis, indexing, and safety.
    29
    1,643 npm
    148
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables natural language analysis of Google Search Console data through Claude, with pre-built tools for quick wins, cannibalization detection, content decay, and more.
    Apache 2.0