Skip to main content
Glama
rampify-dev

Rampify MCP Server

by rampify-dev

Rampify MCP Server

The SEO MCP server that acts on your data. Connect Rampify to Claude Code, Cursor, or any MCP client and your agent crawls your site, synthesizes the gaps, writes the fix as a spec, and ships it. One connection, grounded in your actual site.

Website · Product · Docs · Connect

Your website is your product. Ship it like one. Rampify brings your dev workflow (observe, spec, build, verify, iterate) to your website's search and AI-answer visibility, inside the coding agent you already use.

Why Rampify is different

Most SEO MCP servers are read-only data faucets. Rampify does the whole job in one connection: it pulls the data, finds the gaps, writes the fix as a spec, and your agent ships it (a PR to your repo, or a publish through your CMS's MCP).

  • Batteries included. Rampify retrieves keyword data (via DataForSEO) and your Google Search Console performance built in, plus a live crawl of your own site. No separate data servers to bolt on.

  • It acts, not just reads. Generate titles, meta, and JSON-LD schema grounded in that data, then open the PR.

  • Track it like you track code. Findings become feature specs with affected URLs and tasks, then link the commits that resolve them, so marketing work has the same paper trail as your engineering.

  • Find your blind spots. Discovery research runs as your buyer and shows where you're invisible when people ask AI assistants about your category.

Related MCP server: Google Search Console MCP Server

Connect

The Rampify MCP server is remote, hosted at https://www.rampify.dev/api/mcp. No install, nothing to keep updated, new tools appear automatically. Connect over OAuth, with no API keys to manage:

  • Cursor / VS Code: one-click add

  • Claude Code / Claude Desktop: paste one command

  • claude.ai: add as a custom connector by URL

# Claude Code (OAuth prompts on first connect)
claude mcp add --transport http rampify https://www.rampify.dev/api/mcp

Full per-client instructions: Connecting guide →

What your agent can do

Crawl and scan your site (meta, schema, content, Core Web Vitals), look up keyword volume and trends, pull Search Console performance, generate optimized meta tags and JSON-LD schema, run Discovery research on your AI-answer visibility, turn findings into feature specs, and open PRs. See the full tool catalog →.

Learn more


Looking for the old @rampify/mcp-server npm package? It is deprecated in favor of the hosted remote server above (zero install, always current). The source in this repo is kept for historical reference.

Available Tools

19 tools
crawl_siteAInspect

Trigger a fresh site crawl and analysis. Use this after deploying changes to refresh SEO data. Crawls the entire site, checks all URLs, detects issues, and updates the database with current SEO status.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoSite domain (e.g., "example.com"). Uses SEO_CLIENT_DOMAIN env var if not provided.

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations provided, the description carries full burden. It discloses that the tool performs a 'fresh crawl' that 'updates the database', implying mutation behavior. However, it doesn't mention permissions needed, rate limits, whether the operation is asynchronous, or what happens if a crawl is already in progress.

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 efficiently structured in two sentences that each earn their place. The first sentence states the core action, the second explains usage context and scope. No wasted words or redundancy.

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 mutation tool with no annotations and no output schema, the description provides adequate but incomplete context. It explains what the tool does and when to use it, but lacks details about the mutation's impact, response format, or error conditions that would be helpful for an agent.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents the single parameter. The description doesn't add any parameter-specific information beyond what's in the schema, maintaining the baseline score of 3 for high schema 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's purpose with specific verbs ('trigger', 'crawl', 'analyze') and resources ('site', 'SEO data'). It distinguishes from siblings by focusing on site-wide crawling and analysis rather than specific features or insights retrieval.

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 provides clear context for when to use the tool ('after deploying changes to refresh SEO data'), but doesn't explicitly state when not to use it or name specific alternatives among the sibling tools. The guidance is helpful but lacks exclusion criteria.

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

create_content_specAInspect

Create a page-type feature spec linked to a keyword cluster. The spec carries the content strategy (outline, goals, voice, inspiration); keyword data is resolved dynamically from the cluster at read time.

Use this after creating keyword clusters to generate actionable content briefs. Each cluster maps to one page — the spec tells an AI agent exactly what to build. The spec auto-creates tasks: write content, optimize for keywords, add schema/meta.

The response includes the spec_id. Use get_feature_spec with that ID to retrieve the full spec with live keyword data, volumes, and GSC performance.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoSite domain. Uses SEO_CLIENT_DOMAIN if not provided.
project_idNoProject UUID.
cluster_idYesThe keyword cluster ID to create a content spec for.
titleNoCustom spec title. Auto-generated from cluster if omitted.
descriptionNoContent strategy overview — what this page should accomplish.
outlineNoProposed content outline — sections, key points, structure.
goalsNoGoals — traffic targets, conversion intent, ranking targets.
inspirationNoReference links — content to model or differentiate from.
voice_notesNoVoice and tone guidance.
priorityNoSpec priority. Defaults to cluster priority.

TDQS

A4.4/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 key behaviors: the spec auto-creates tasks (write, optimize, schema/meta), keyword data is resolved dynamically, and the response includes a spec_id. It does not mention if it is destructive or any other side effects, but as a creation tool, it is expected to be non-idempotent. The level of disclosure is good.

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 four sentences. It is front-loaded with the core purpose and efficiently provides usage context, key behaviors, and follow-up steps. Every sentence adds value, with no redundancy or fluff.

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 description covers purpose, usage, key behaviors, and follow-up. It mentions that the response includes a spec_id and recommends using get_feature_spec to retrieve full data. However, it does not mention error cases or prerequisites like the cluster must exist. This is a minor gap given the tool's complexity, so score 4.

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 has 100% description coverage, so baseline is 3. The description adds extra meaning: it explains that 'domain' defaults to SEO_CLIENT_DOMAIN, 'title' is auto-generated from cluster if omitted, and 'priority' defaults to cluster priority. This enriches the semantics beyond the schema definitions.

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 purpose: creating a page-type feature spec linked to a keyword cluster. It uses the verb 'create' and specifies the resource 'content_spec'. It distinguishes from siblings by explaining its role in content strategy workflow, especially compared to tools like 'get_feature_spec' which retrieves 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 gives clear usage context: 'Use this after creating keyword clusters' and explains that each cluster maps to one page. It also recommends following up with 'get_feature_spec'. While it doesn't explicitly state when not to use it, the guidance is sufficient for an agent to understand the intended workflow.

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

create_feature_specAInspect

Create and save a feature specification to Rampify.

IMPORTANT: Before calling this tool, YOU (Claude) must generate the complete structured spec from the user's description and your codebase context. Do not pass raw natural language — populate all fields:

  • Infer affected_files from open files and the codebase structure

  • Infer tech_stack from package.json and imports

  • Generate 3-5 acceptance criteria covering happy path, edge cases, and error handling

  • Break implementation into 3-8 concrete tasks with file references

  • Write ai_context_summary to help future AI agents understand the approach

  • Set next_action to the single most important first step

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoSite domain (e.g., "example.com"). Uses SEO_CLIENT_DOMAIN env var if not provided.
project_idNoProject UUID — use instead of domain when no domain is configured. Accepts client ID (from /clients/[id]/ in the dashboard URL) or site UUID. Uses RAMPIFY_PROJECT_ID env var if not provided.
titleYesShort, imperative title (e.g., "Add dark mode toggle")
descriptionNoFull description of the feature, its purpose and user value
feature_typeNoType of feature (default: new_feature)
priorityNoPriority level (default: normal)
ai_context_summaryNo2-3 sentence summary of architecture decisions for future AI agents
next_actionNoThe single next concrete step to start implementation
tech_stackNoTechnologies involved (e.g., ["Next.js", "Tailwind CSS"])
affected_filesNoFiles to create or modify (relative paths)
tagsNoCategorization tags
criteriaNoAcceptance criteria
tasksNoOrdered implementation tasks

TDQS

A4.3/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 of behavioral disclosure. It clearly indicates this is a write operation ('Create and save'), specifies required pre-processing ('generate the complete structured spec'), and outlines the agent's responsibilities. However, it doesn't mention authentication needs, rate limits, or what happens on failure.

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 well-structured with clear sections and bullet points, but could be more concise. The 'IMPORTANT' section contains detailed instructions that earn their place, though some redundancy exists between the bullet points and schema descriptions. Overall efficient but slightly verbose.

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

Completeness4/5

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

For a complex 13-parameter tool with no annotations and no output schema, the description provides substantial context about the agent's responsibilities and the expected input structure. It compensates well for the lack of output schema by explaining what constitutes valid input. However, it doesn't address error cases or system constraints.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all 13 parameters thoroughly. The description adds minimal parameter-specific guidance beyond the schema, mainly emphasizing that parameters like 'affected_files' and 'tech_stack' should be inferred from context rather than passed as raw natural language.

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 purpose with a specific verb ('Create and save') and resource ('feature specification to Rampify'). It distinguishes from sibling tools like 'get_feature_spec' (read) and 'update_feature_spec' (modify existing) by emphasizing creation of new specifications.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when and how to use this tool versus alternatives. It specifies prerequisites ('Before calling this tool, YOU must generate the complete structured spec'), distinguishes from passing raw natural language, and implicitly contrasts with 'get_feature_spec' for retrieval and 'update_feature_spec' for modifications.

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

create_keyword_clusterAInspect

Create a strategic keyword cluster with its keywords in a single call. Each cluster groups related keywords sharing search intent and serves as a content brief with: strategic rationale, competitive landscape, target content type, and keyword assignments.

Always include the keywords array — keywords that don't exist yet are auto-created as target keywords. Returns keywords_assigned and keywords_created counts to confirm what was added.

Use this during keyword research conversations to organize findings into actionable clusters. Each cluster maps to one page and guides content creation.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoSite domain. Uses SEO_CLIENT_DOMAIN if not provided.
project_idNoProject UUID.
nameYesCluster name (e.g., "Pain Point / Problem-Aware")
descriptionNoStrategic rationale — why target this cluster?
priorityNoCluster priority
competitive_landscapeNoWhat currently ranks, competitors, positioning gaps
notesNoFree-form strategic notes
target_content_typeNoContent type: blog_post, landing_page, guide, authority_page, tool_page, feature_page
target_urlNoProposed SEO-optimized URL path for this content (e.g., "/blog/why-ai-websites-look-the-same"). Always propose a URL based on the primary keyword and content type, even if the page does not exist yet.
keywordsNoKeywords to assign. Strings default to secondary. Use {keyword, tier} for per-keyword control. tertiary = tracking/long-tail (no placement audit requirements).
primary_keywordNoThe head term for this cluster — set as primary tier. All other keywords default to secondary.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description discloses that keywords not yet existing are auto-created as target keywords, and that the tool returns keywords_assigned and keywords_created counts. It does not cover all edge cases (e.g., error handling, idempotency), 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.

Conciseness5/5

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

The description is three concise paragraphs with no wasted words. The first sentence immediately states the tool's action, and critical usage tips (keywords array, return counts) are front-loaded. Every sentence serves a purpose.

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 (11 parameters, 1 required) and no output schema, the description sufficiently covers the main purpose, auto-creation behavior, and return values. It lacks details on error handling or idempotency but is reasonably complete for typical use.

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

Parameters3/5

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

Schema description coverage is 100%, so parameters are well-documented in the schema. The description adds context about auto-creation of keywords and return counts but does not significantly enhance parameter-level understanding beyond what the schema already provides.

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

Purpose5/5

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

The description clearly states that the tool creates a strategic keyword cluster with keywords in a single call, grouping related keywords by search intent and serving as a content brief. This distinguishes it from sibling tools like suggest_keywords (suggestion) or get_keyword_clusters (retrieval).

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 advises using this tool during keyword research conversations to organize findings into actionable clusters, and explicitly instructs to always include the keywords array. It provides context but lacks explicit exclusions or alternatives when not to use.

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

generate_metaCInspect

Generate optimized meta tags (title, description, OG tags) for a page. Analyzes page content and provides recommendations for SEO-optimized meta tags based on actual content, headings, and topics.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoSite domain (e.g., "example.com"). Uses SEO_CLIENT_DOMAIN env var if not provided.
url_pathYesPage URL path (e.g., "/blog" or "/blog/post")
include_og_tagsNoInclude Open Graph tags for social sharing (default: true)
frameworkNoFramework format for code snippet (default: nextjs)

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 states the tool 'analyzes page content' and 'provides recommendations,' implying a read-only analysis function, but doesn't clarify if it modifies data, requires authentication, has rate limits, or what the output format looks like. For a tool with no annotations, this leaves significant 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?

The description is concise and front-loaded, stating the core purpose in the first sentence. The second sentence elaborates on the analysis process without redundancy. Both sentences add value, making it efficient with minimal waste.

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 complexity (SEO analysis tool with 4 parameters) and the absence of annotations and output schema, the description is moderately complete. It covers the what and how at a high level but lacks details on behavioral traits, output format, and differentiation from siblings. It's adequate as a minimum viable description but has clear gaps for effective agent use.

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

Parameters3/5

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

The input schema has 100% description coverage, so the schema already documents all parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't explain how 'domain' and 'url_path' interact or provide examples of meta tag outputs). With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but doesn't detract either.

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: 'Generate optimized meta tags (title, description, OG tags) for a page.' It specifies the resource (meta tags) and the action (generate/optimize), and mentions SEO optimization. However, it doesn't explicitly differentiate from sibling tools like 'get_page_seo' or 'generate_schema', which might have overlapping SEO-related functions.

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 minimal usage guidance. It mentions analyzing page content for recommendations, but doesn't specify when to use this tool versus alternatives like 'get_page_seo' (which might retrieve existing SEO data) or 'generate_schema' (which might handle structured data). No explicit when-not-to-use scenarios or prerequisites are included.

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

generate_schemaAInspect

Auto-generate structured data (schema.org JSON-LD) for any page. Detects page type (Article, Product, FAQ, etc.) and generates appropriate schema with validation. Returns ready-to-use code snippets.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoSite domain (e.g., "example.com"). Uses SEO_CLIENT_DOMAIN env var if not provided.
url_pathYesPage URL path (e.g., "/blog/post") - REQUIRED
schema_typeNoSchema type to generate. Use "auto" to detect automatically (default).

TDQS

A3.5/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 burden of behavioral disclosure. It mentions detection, generation, and validation but doesn't cover error handling, rate limits, authentication needs, or what happens with invalid inputs. The description is functional but lacks operational context needed for safe invocation.

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 efficiently structured in two sentences: first states the core functionality, second adds key features (detection, validation, output format). Every phrase adds value without repetition or fluff, making it easy to parse.

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 3 parameters with full schema coverage but no annotations and no output schema, the description adequately covers the 'what' but lacks depth on behavioral aspects. It mentions the return format ('ready-to-use code snippets') but doesn't describe output structure or error cases. For a generation tool with no safety annotations, more operational context would be beneficial.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't explain interactions between domain and url_path or clarify schema_type selection logic). Baseline 3 is appropriate when schema does the heavy lifting.

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 purpose with specific verbs ('Auto-generate structured data', 'Detects page type', 'generates appropriate schema') and resources ('schema.org JSON-LD', 'ready-to-use code snippets'). It distinguishes from siblings by focusing on schema generation rather than crawling, SEO insights, or feature specs.

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 usage context ('for any page', 'detects page type') but doesn't explicitly state when to use this tool versus alternatives like generate_meta or get_page_seo. It mentions automatic detection vs. manual specification but lacks guidance on prerequisites or exclusions.

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

get_commit_messageAInspect

Generate a conventional-commits-style message from spec/task context. No external AI call — derived from structured spec data already in the database.

Returns a ready-to-use commit message string with type(scope): subject, spec/task references, file list, and co-authorship attribution. Use this before committing to get a well-formatted message.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoSite domain (e.g., "example.com"). Uses SEO_CLIENT_DOMAIN env var if not provided.
project_idNoProject UUID — use instead of domain when no domain is configured.
spec_idYesUUID of the feature spec
task_idNoUUID of the specific task being completed (recommended for more precise messages)
files_changedNoList of files changed in this commit (for the message body)

TDQS

A4.4/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 a key behavioral trait: 'No external AI call — derived from structured spec data already in the database.' It also describes the return format. This adds transparency beyond basic function.

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 paragraphs with no wasted words. The first sentence front-loads the core purpose. Every sentence adds value: what it does, how it works, what it returns, when to use.

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 output schema, the description adequately explains the return value. It covers all 5 parameters (via schema) and provides usage context. Lack of annotations is compensated by transparent behavior description. Minor gap: no explicit mention of required permissions or side effects, but not critical for a read-only data processor.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds value by explaining default behavior for 'domain' (env var fallback), recommending 'task_id' for precision, and clarifying the purpose of 'files_changed'. This exceeds mere schema repetition.

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 uses a specific verb ('Generate') and resource ('conventional-commits-style message'), clearly distinguishing the tool from all siblings which are SEO-related. The verb 'generate' accurately reflects the tool's function.

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 states 'Use this before committing to get a well-formatted message,' providing clear usage context. It does not explicitly state when not to use or list alternatives, but the purpose is sufficiently unique.

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

get_feature_specAInspect

Retrieve a feature specification from Rampify. Use this when starting work on a feature to understand what to build, which files to touch, and what the acceptance criteria are.

Two lookup modes:

  • spec_id: fetch a specific spec with full criteria and tasks (use this when you know the ID)

  • search: keyword search across titles and descriptions (returns a list; follow up with spec_id for full details)

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoSite domain (e.g., "example.com"). Uses SEO_CLIENT_DOMAIN env var if not provided.
project_idNoProject UUID — use instead of domain when the domain is not registered as a client.
spec_idNoUUID of the specific feature spec to retrieve. Returns full spec with criteria and tasks.
searchNoKeyword to search across spec titles and descriptions. Returns a list of matching specs.
include_criteriaNoInclude acceptance criteria in the response (default: true). Only applies when using spec_id.
include_tasksNoInclude implementation tasks in the response (default: true). Only applies when using spec_id.

TDQS

A4.6/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 of behavioral disclosure. It effectively describes the tool's dual-mode behavior (specific retrieval vs. search), return types (full spec vs. list), and when certain parameters apply (include_criteria/ include_tasks only with spec_id). However, it doesn't mention authentication requirements, rate limits, or error conditions.

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 perfectly structured: a clear purpose statement, followed by bullet-point style explanation of the two modes with practical guidance. Every sentence earns its place, and information is front-loaded 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 6-parameter tool with no annotations and no output schema, the description does an excellent job covering the core functionality and usage patterns. It explains the dual-mode operation and parameter applicability clearly. The main gap is the lack of information about return format/structure, which would be helpful given the absence of an 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 100%, so the baseline is 3. The description adds significant value by explaining the two lookup modes (spec_id vs. search) and their implications, which clarifies the mutual exclusivity and purpose of these parameters beyond what the schema descriptions provide. However, it doesn't address domain/project_id usage scenarios.

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 ('Retrieve') and resource ('feature specification from Rampify'), and distinguishes it from siblings by specifying its unique purpose: understanding what to build, which files to touch, and acceptance criteria. It explicitly differentiates from tools like create_feature_spec and update_feature_spec by being a retrieval operation.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool ('when starting work on a feature') and distinguishes between two lookup modes (spec_id vs. search). It also advises to 'follow up with spec_id for full details' when using search mode, offering clear usage alternatives within the tool itself.

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

get_gsc_insightsCInspect

Get Google Search Console performance insights with AI-powered content recommendations. Returns top performing pages, query opportunities (improve CTR, rankings, keyword gaps), and actionable recommendations for what content to write next.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoSite domain (e.g., "example.com"). Uses SEO_CLIENT_DOMAIN env var if not provided.
periodNoTime period for analysis (default: 28d)
include_recommendationsNoInclude AI-powered content recommendations (default: true)

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 'AI-powered content recommendations' and the types of insights returned, but doesn't cover critical aspects like authentication requirements, rate limits, data freshness, error handling, or whether it's a read-only operation. For a tool that likely involves external API calls and data processing, this is a significant gap.

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 efficiently structured in two sentences that clearly communicate the tool's function and outputs. It's front-loaded with the core purpose and avoids unnecessary verbiage. However, the second sentence could be slightly more concise by combining the listed return types.

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 the complexity of SEO insights and AI recommendations, with no annotations and no output schema, the description is incomplete. It doesn't explain the format or structure of returned data, error conditions, or behavioral constraints. The agent would need to guess about the response format and operational characteristics.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema. It mentions 'AI-powered content recommendations' which relates to the 'include_recommendations' parameter, but this is already covered in the schema. Baseline 3 is appropriate when the schema does the heavy lifting.

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 Google Search Console performance insights with AI-powered content recommendations.' It specifies the verb ('Get'), resource ('Google Search Console performance insights'), and scope ('with AI-powered content recommendations'). However, it doesn't explicitly differentiate from sibling tools like 'get_page_seo' or 'get_issues', which might also relate to SEO analysis.

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 lists what the tool returns but doesn't mention prerequisites, context for usage, or comparisons to sibling tools like 'get_page_seo' or 'crawl_site'. This leaves the agent without clear direction on appropriate use cases.

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

get_issuesBInspect

Get SEO issues for entire site with health score. Returns health score (0-100), categorized issues by severity, and prioritized recommendations for fixes.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesSite domain (e.g., "example.com")
filtersNo

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 of behavioral disclosure. It mentions the output includes a health score, categorized issues, and recommendations, but lacks details on permissions, rate limits, whether it's a read-only operation, or how the tool handles errors or large datasets. This is insufficient for a tool with no annotation coverage.

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 front-loaded and concise, consisting of a single sentence that efficiently conveys the core functionality and output. Every word earns its place without redundancy or unnecessary elaboration.

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 complexity (2 parameters, nested objects, no output schema, and no annotations), the description is partially complete. It outlines the output but lacks details on behavioral traits, parameter usage, and sibling differentiation. Without annotations or an output schema, more context is needed for full agent understanding.

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 50%, with the domain parameter well-documented but the filters object only partially described. The description adds no additional parameter semantics beyond what the schema provides, such as explaining the 'filters' object's purpose or default behaviors. With moderate schema coverage, the baseline score of 3 is appropriate as the description does not compensate for gaps.

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 purpose with specific verbs ('Get SEO issues for entire site') and resources ('site'), and distinguishes it from siblings by specifying it returns a health score, categorized issues, and recommendations, unlike tools like crawl_site or get_page_seo 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 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, exclusions, or compare it to siblings like get_page_seo (which might target individual pages) or get_gsc_insights (which could involve Google Search Console data), leaving the agent to infer usage context.

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

get_keyword_clustersAInspect

Retrieve keyword clusters with keywords, volume data, GSC performance, and audit status. Supports filtering by target_url (exact match), name (partial match), or cluster_id.

Use target_url to find the cluster for a specific page (e.g., target_url: "/" for the homepage cluster). Without filters, returns all clusters.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoSite domain. Uses SEO_CLIENT_DOMAIN if not provided.
project_idNoProject UUID.
target_urlNoFilter by target URL path (e.g., "/" for homepage)
nameNoFilter by cluster name (partial match)
cluster_idNoFilter by specific cluster ID

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description discloses the data returned (keywords, volume, GSC performance, audit status) and filtering behavior. No contradictions, but could mention pagination or 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?

Two concise, front-loaded sentences that efficiently convey purpose and filtering options without 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?

Adequately complete for a retrieval tool with no output schema. Covers core behavior and filters, but lacks details on pagination or result limits.

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 covers all parameters with descriptions (100% coverage). The description adds value by explaining target_url as exact match and name as partial match, and noting domain default. Baseline 3, plus extra context.

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 keyword clusters with specific data (keywords, volume, GSC performance, audit status) and supports various filters, distinguishing it from sibling tools like create_keyword_cluster or lookup_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?

Provides clear guidance on using filters like target_url, name, cluster_id, and explains default behavior without filters (returns all clusters). Does not explicitly mention when not to use, but context is sufficient.

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

get_page_seoBInspect

Get comprehensive SEO data and insights for a specific page. Returns performance metrics from Google Search Console, detected issues, optimization opportunities, and actionable recommendations.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesSite domain (e.g., "example.com")
url_pathNoPage URL path (e.g., "/blog/post")
file_pathNoLocal file path (will be resolved to URL)
contentNoCurrent file content (for context)

TDQS

B3.3/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 burden of behavioral disclosure. It mentions the tool returns data from Google Search Console and other insights but doesn't specify permissions needed, rate limits, whether it's a read-only operation, or how it handles errors. For a tool with no annotation coverage, this leaves significant 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.

Conciseness5/5

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

The description is a single, well-structured sentence that efficiently conveys the tool's purpose and output. It's front-loaded with the core action and resource, with no wasted words, making it highly concise and effective.

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 complexity (SEO analysis with multiple data sources), no annotations, and no output schema, the description is moderately complete. It outlines the scope of returned data but lacks details on behavioral traits, error handling, or output structure, which are important for such a 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?

Schema description coverage is 100%, so the schema already documents all 4 parameters. The description adds no additional meaning about parameters beyond implying they identify a page for SEO analysis. This meets the baseline of 3 when the schema does the heavy lifting.

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 specific action ('Get comprehensive SEO data and insights') and resource ('for a specific page'), distinguishing it from siblings like 'get_gsc_insights' (which focuses only on Google Search Console) and 'get_issues' (which might be broader). It specifies the scope of data returned, making the purpose unambiguous.

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

Usage 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 like 'get_gsc_insights' or 'get_issues', nor does it mention prerequisites or exclusions. It implies usage for SEO analysis but lacks explicit context for tool selection among siblings.

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

get_security_contextBInspect

Get security analysis for a site (homepage scan only). Returns security score, detected issues (headers, SSL, exposed files, third-party scripts), and actionable remediation steps. PRIVATE BETA.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesSite domain (e.g., "example.com")

TDQS

B3.4/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 of behavioral disclosure. It describes the return content ('security score, detected issues, and actionable remediation steps') and notes the 'PRIVATE BETA' status, which adds useful context about availability. However, it lacks details on error handling, rate limits, authentication needs, or performance characteristics, leaving gaps for a tool that performs analysis.

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 and front-loaded, starting with the core purpose and followed by return details and a beta note. It uses two sentences efficiently, with no wasted words. However, the 'PRIVATE BETA' note could be integrated more smoothly, and it slightly disrupts the flow.

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 tool with no annotations and no output schema, the description provides a good overview of purpose and returns, but it's incomplete. It lacks details on output structure, error cases, and behavioral traits like rate limits. Given the complexity of security analysis, more context would help the agent use it effectively, though the description meets a minimum viable level.

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

Parameters3/5

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

The input schema has 100% description coverage, with the 'domain' parameter well-documented in the schema. The description doesn't add any parameter-specific information beyond what's in the schema, such as format examples or constraints. Given the high schema coverage, a baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.

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 security analysis for a site (homepage scan only).' It specifies the verb ('Get'), resource ('security analysis'), and scope ('homepage scan only'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'get_issues' or 'crawl_site', which might also involve site analysis.

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 usage context by specifying 'homepage scan only' and mentioning it's a 'PRIVATE BETA,' which suggests limited availability. However, it doesn't provide explicit guidance on when to use this tool versus alternatives like 'get_issues' or 'crawl_site,' nor does it mention any prerequisites or exclusions for usage.

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

list_feature_specsAInspect

Browse and filter all feature specifications for a project. Returns an overview of specs with status, priority, and task progress.

Use this to answer questions like "what's in progress?", "what's planned?", or "show me all high-priority specs". For full spec details (criteria, tasks, affected files), follow up with get_feature_spec using a spec_id from the results.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoSite domain (e.g., "example.com"). Uses SEO_CLIENT_DOMAIN env var if not provided.
project_idNoProject UUID — use instead of domain when no domain is configured. Uses RAMPIFY_PROJECT_ID env var if not provided.
statusNoFilter by status (e.g., ["planned", "in_progress"]). Omit to return all.
priorityNoFilter by priority. Omit to return all.
feature_typeNoFilter by feature type. Omit to return all.
tagsNoFilter by tags.
moduleNoFilter by source module (e.g., "seo" for SEO scan findings).
sourceNoFilter by source (e.g., "user" for manual specs, "seo_scan" for findings).
include_statsNoInclude aggregate counts by status and priority (default: false).

TDQS

A4.6/5.0
Behavior4/5

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

No annotations provided, but the description implies a read-only operation by saying 'browse and filter' and 'returns an overview'. It doesn't mention side effects, but for a listing tool this is sufficient. Could add more about env var fallbacks.

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?

Four sentences, no fluff. Each sentence serves a purpose: purpose, return type, example queries, follow-up instruction. Well-structured and easy to scan.

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 9 optional parameters and no output schema, the description provides sufficient context: return type (overview with status/priority/task progress), filter capabilities (by status, priority, etc.), and stats option. Could elaborate on exact return fields.

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

Parameters4/5

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

Schema coverage is 100% so baseline is 3. The description adds value by explaining how parameters like domain/project_id fall back to env vars and gives example usage ('what's planned?'), enhancing understanding beyond 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?

The description clearly states it is for browsing/filtering feature specs, specifies it returns an overview with status/priority/task progress, and distinguishes from get_feature_spec by directing users to that tool for full details.

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

Usage Guidelines5/5

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

The description explicitly tells when to use this tool (to answer questions like 'what's in progress?') and when to follow up with get_feature_spec for full details, providing clear usage guidance.

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

lookup_keywordsAInspect

Look up search volume, competition, CPC, and monthly trends for a list of keywords using DataForSEO. Results are cached for 30 days — repeated lookups for the same keywords are free.

IMPORTANT: This calls a paid API. The response includes meta.from_cache and meta.from_api counts so you can see what hit the paid API vs cache. Always tell the user before calling this tool and how many keywords you're looking up.

Use this to validate keyword demand during research conversations, before creating clusters.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoSite domain. Uses SEO_CLIENT_DOMAIN if not provided.
project_idNoProject UUID.
keywordsYesKeywords to look up (max 100). e.g., ["seo audit tool", "free seo checker"]
localeNoLanguage locale (default: "en")
location_codeNoDataForSEO location code (default: 2840 = US). Canada: 2124, UK: 2826.

TDQS

A4.7/5.0
Behavior5/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 critical behavioral traits: the tool calls a paid API, results are cached for 30 days, repeated lookups are free, and the response includes meta fields to track cache vs API usage. It also instructs to inform the user before calling.

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 well-structured paragraphs. The first sentence states the purpose, the second adds important notes about caching and payment, and the third gives usage context. Every sentence is meaningful and front-loaded.

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

Completeness5/5

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

Despite lacking an output schema, the description explains what the response contains (meta fields for cache and API counts) and the return of search volume, competition, CPC, and trends. It covers the paid API, caching, and usage context adequately for an agent to select and invoke the tool 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 description coverage is 100%, so baseline is 3. The description adds value by specifying that keywords are limited to 100 with an example array, noting that domain defaults to SEO_CLIENT_DOMAIN if not provided, and providing example location codes for US, Canada, and UK.

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 'look up' and the resource 'search volume, competition, CPC, and monthly trends for a list of keywords using DataForSEO'. It distinguishes from siblings like suggest_keywords (which suggests keywords) and get_gsc_insights (which provides Google Search Console 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 explicitly says 'Use this to validate keyword demand during research conversations, before creating clusters' and instructs to always tell the user before calling with the number of keywords. It does not explicitly state when not to use or name alternatives, but the context is clear.

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

optimize_contentAInspect

Generate specific optimization instructions for a page based on its keyword audit results. Runs the content audit, then for each failing check produces actionable fix instructions: add keyword to title, increase density by N occurrences, add internal/external links, vary keyword formatting.

Use this after reviewing a page with get_page_seo to get step-by-step instructions for improving keyword optimization. The AI agent reads these instructions and modifies the source files.

Constraint: instructions preserve content structure (headings, sections, flow). Only text, formatting, and links are modified.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoSite domain (e.g., "example.com"). Uses SEO_CLIENT_DOMAIN env var if not provided.
project_idNoProject UUID — use instead of domain when no domain is configured.
url_pathYesPage URL path to optimize (e.g., "/service-areas/mosquito-control-toronto/")

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It explains the tool runs a content audit and produces fix instructions for each failing check. It also discloses constraints: only text, formatting, and links are modified; structure is preserved. It does not detail side effects, auth needs, or rate limits, but the core behavior is clear and accurate.

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, each sentence adds value. The main purpose is front-loaded, followed by usage guidance and constraints. It is reasonably concise but could be slightly tighter without losing meaning.

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 explains the output (actionable fix instructions) with examples, but does not specify the exact format (e.g., JSON, list) or how to handle cases with no failing checks. Given no output schema, it leaves some gaps for the agent. It is sufficient but not 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 100% (all three parameters have descriptions). The tool description adds no additional information about parameters beyond what the schema already provides. Therefore, it meets the baseline of 3.

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 generates specific optimization instructions for a page based on keyword audit results. It uses a specific verb ('generate instructions') and resource ('page optimization'), and distinguishes itself from siblings by noting it is used after get_page_seo, differentiating it from other SEO and content 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?

The description explicitly says 'Use this after reviewing a page with get_page_seo to get step-by-step instructions for improving keyword optimization.' This provides clear when-to-use guidance. It also includes a constraint (preserving content structure), but does not explicitly list when not to use or mention alternatives, so slightly lacking.

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

suggest_keywordsAInspect

Get related keyword suggestions for a seed keyword using DataForSEO. Returns up to 50 related keywords with search volume and competition data.

IMPORTANT: This calls a paid API. Always tell the user before calling this tool and what seed keyword you're using.

Use this to expand keyword research — find related terms, long-tail variations, and new cluster candidates.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoSite domain. Uses SEO_CLIENT_DOMAIN if not provided.
project_idNoProject UUID.
seedYesSeed keyword to get suggestions for (e.g., "seo audit")
localeNoLanguage locale (default: "en")
location_codeNoDataForSEO location code (default: 2840 = US). Canada: 2124, UK: 2826.
limitNoMax suggestions to return (default: 50)

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, description carries full burden and discloses paid API call, requiring user notification. This is a key behavioral trait. Lacks details on rate limits or authentication, but the warning is significant and adds value.

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 succinct sentences with clear structure: purpose, important warning, usage advice. No extraneous information, front-loaded with core functionality.

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?

Despite no output schema, description sufficiently explains return data (related keywords with search volume and competition). For a tool with 6 parameters (1 required), the description covers key aspects. Could briefly mention limit behavior or pagination, but overall complete for use.

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

Parameters4/5

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

Schema coverage is 100%, but description adds value by specifying default locale ('en'), default location_code (2840 for US) with examples for Canada and UK, and noting domain uses SEO_CLIENT_DOMAIN if omitted. This enriches understanding beyond 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?

Description clearly states the tool gets related keyword suggestions for a seed keyword using DataForSEO, with details on return data (up to 50 keywords, search volume, competition). It distinguishes itself from sibling like lookup_keywords by focusing on suggestion expansion.

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 clear guidance on when to use for expanding keyword research and finding related terms. Includes explicit instruction to inform user before calling due to paid API. Could improve by contrasting with alternatives like lookup_keywords, but usage context is well defined.

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

update_feature_specAInspect

Update a feature spec to reflect actual progress. Mark tasks and criteria as complete, update spec status, and advance next_action.

Use this after completing work described in a spec task. Returns a suggested_commit message string.

Examples:

  • Mark a task complete: { spec_id, task_id, task_status: "completed" }

  • Update overall status: { spec_id, status: "in_progress" }

  • Mark a criterion verified: { spec_id, criterion_id, criterion_status: "verified" }

ParametersJSON Schema
NameRequiredDescriptionDefault
spec_idYesUUID of the feature spec to update (required)
statusNoNew status for the overall spec
next_actionNoManually override next_action. Auto-advanced after task completion if omitted.
task_idNoUUID of the task to update (from get_feature_spec tasks array)
task_statusNoNew status for the task
criterion_idNoUUID of the criterion to update (from get_feature_spec criteria array)
criterion_statusNoNew status for the criterion
add_taskNoAdd a new task to the spec

TDQS

A3.8/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 of behavioral disclosure. It reveals that the tool returns a 'suggested_commit message string' and mentions auto-advancement of next_action, which are valuable behavioral details. However, it doesn't cover important aspects like whether this is a destructive operation, what permissions are required, or error handling for invalid updates.

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 sized and front-loaded with the core purpose in the first sentence. The examples are helpful but could be more concise. Every sentence serves a purpose, though the structure could be slightly improved by separating the examples more clearly from the usage guidance.

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 complexity (8 parameters with nested objects) and absence of both annotations and output schema, the description provides adequate but incomplete context. It explains the purpose and gives usage examples but doesn't fully address behavioral aspects like side effects, error conditions, or the format of the return value beyond 'suggested_commit message string'.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all 8 parameters thoroughly with descriptions and enums. The description adds some value through the examples that show how parameters combine in practical use cases, but doesn't provide additional semantic context beyond what's in the schema. This meets the baseline for high schema 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's purpose with specific verbs ('update', 'mark', 'advance') and resources ('feature spec', 'tasks', 'criteria', 'spec status', 'next_action'). It distinguishes from sibling tools like 'create_feature_spec' and 'get_feature_spec' by focusing on updating existing specs rather than creating or retrieving them.

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 provides clear context for when to use the tool ('after completing work described in a spec task') and offers examples of specific use cases. However, it doesn't explicitly state when NOT to use it or mention alternatives among siblings (e.g., when to use create_feature_spec vs. update_feature_spec).

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

TDQS

A3.7/5.0
Disambiguation3/5

The tools cover two distinct domains (SEO and feature spec management), but create_content_spec and create_feature_spec have very similar names and overlapping descriptions, causing potential ambiguity. Most other tools are clearly distinct, but the presence of two 'create spec' tools without clear separation in naming or behavior detracts from clarity.

Naming Consistency4/5

All tool names follow a consistent verb_noun pattern with underscores (e.g., crawl_site, create_keyword_cluster, get_page_seo). The naming is uniform and predictable, with no mixing of conventions. Minor variations in verb choice (e.g., 'generate' vs 'create') are acceptable and do not hinder understanding.

Tool Count4/5

With 19 tools, the server covers a broad but well-scoped set of functionalities for SEO and feature specification management. The count is slightly on the higher side but still appropriate given the combined domains; each tool serves a distinct purpose, and there are no extremes.

Completeness4/5

The tool surface covers the key CRUD operations for feature specs (create, read, update, list, link commits) and a comprehensive set of SEO tools (crawl, analysis, keyword research, optimization). Missing delete operations and a dedicated content spec retrieval tool are minor gaps, but overall the server enables most workflows without dead ends.

Maintenance

ActivityStale
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    Connects Google Search Console with Claude AI to enable SEO professionals to analyze their SEO data through natural language conversations, providing access to property information, search analytics, URL inspection, and sitemap management.
    1,458
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Connects Google Search Console with Claude AI to analyze SEO data through natural language, enabling search analytics reporting, URL inspection, indexing status checks, sitemap management, and data visualization for SEO professionals.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to perform comprehensive SEO audits on web pages, including meta tags, headings, links, images, performance, and more, via a CLI or MCP server.
    18
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rampify-dev/rampify-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server