Available MCP Tools
The Rampify MCP server provides several tools that bring SEO intelligence directly into your coding workflow.
Fill out your Business Profile to get personalized, context-aware recommendations. Without it, AI tools generate generic output. With it, they understand your audience, brand voice, and differentiators.
Available Tools#
Rampify provides 6 MCP tools that bridge your IDE and the Rampify platform. The tools support two complementary workflows:
Site Analysis & Monitoring — Diagnostic tools that surface SEO intelligence: indexing status, site health, and content opportunities from Google Search Console.
Content Creation & Optimization — Extends your AI's code generation to SEO content. Your model generates optimized meta tags and schema markup using real data from your site instead of hallucinated patterns.
| Tool | Purpose |
|---|---|
| Site Analysis & Monitoring | |
| crawl_site() | Trigger fresh site crawl and update data |
| get_page_seo() | Analyze individual page SEO in detail |
| get_issues() | Get site-wide health check with SEO score |
| get_gsc_insights() | Find content opportunities from GSC data |
| Content Creation & Optimization | |
| generate_meta() | Generate optimized meta tags for any page |
| generate_schema() | Auto-generate schema.org JSON-LD markup |
crawl_site()#
Trigger a fresh site crawl and analysis. This actively fetches and analyzes all pages.
Usage#
crawl_site({
domain: "example.com"
})
Parameters#
domain(optional) - Site domain (usesSEO_CLIENT_DOMAINif not provided)
Returns#
{
"status": "completed",
"total_urls": 156,
"urls_checked": 156,
"issues_detected": 15,
"duration_ms": 45000,
"crawl_method": "sitemap"
}
Example#
Crawl my site after deploying changes
Analyze example.com
Refresh SEO data for my site
get_page_seo()#
Get comprehensive SEO data and insights for a specific page. Works with both production sites AND local dev servers!
Usage#
get_page_seo({
domain: "example.com",
url_path: "/blog/post"
})
Parameters#
domain(optional) - Site domain (e.g., "example.com" or "localhost:3000"). UsesSEO_CLIENT_DOMAINenv var if not provided.url_path(optional) - Page URL path (e.g., "/blog/post")file_path(optional) - Local file path (will be resolved to URL)content(optional) - Current file content
Returns#
{
"source": "production_database",
"fetched_from": "https://example.com/blog/post",
"url": "https://example.com/blog/post",
"performance": {
"clicks": 1234,
"impressions": 45678,
"ctr": 2.7,
"position": 8.5
},
"top_keywords": [
{
"query": "seo tools",
"clicks": 234,
"impressions": 8900,
"position": 6.2
}
],
"issues": [
{
"type": "title_length_suboptimal",
"severity": "warning",
"message": "Title is only 35 characters (recommended: 50-60)"
}
],
"ai_summary": "This page is performing well but could improve its title..."
}
Example#
What's the SEO status of this page?
Check SEO for /blog/post
Audit the local version of this page (localhost:3000)
get_issues()#
Get SEO issues for entire site with health score. Returns a comprehensive report of all detected problems.
Usage#
get_issues({
domain: "example.com",
filters: {
severity: ["critical"],
limit: 50
}
})
Parameters#
domain(optional) - Site domain (usesSEO_CLIENT_DOMAINif not provided)filters(optional):severity: Array of severity levels (['critical', 'warning', 'info'])issue_types: Array of specific issue typeslimit: Max issues to return (1-100, default: 50)
Returns#
{
"health_score": 78,
"grade": "B",
"summary": {
"critical": 3,
"warning": 12,
"info": 5
},
"issues": [
{
"type": "http_404",
"severity": "critical",
"url": "https://example.com/missing-page",
"title": "Page not found",
"fix": "Fix broken link or create missing page"
}
],
"recommendations": [
"Fix 3 critical issues first (404 errors)",
"Add missing meta descriptions to 12 pages"
]
}
Example#
What SEO issues does my site have?
Show me only critical SEO issues
Check SEO issues for example.com
get_gsc_insights()#
Get Google Search Console performance insights with AI-powered content recommendations. Analyzes your GSC data to identify content opportunities, improve rankings, and optimize CTR.
This tool requires your Google Search Console account to be connected. Connect GSC in Settings →
Usage#
get_gsc_insights({
domain: "example.com",
period: "28d",
include_recommendations: true
})
Parameters#
domain(optional) - Site domain (usesSEO_CLIENT_DOMAINif not provided)period(optional) - Time period:"7d","28d", or"90d"(default:"28d")include_recommendations(optional) - Include AI content recommendations (default:true)
Returns#
{
"performance_summary": {
"total_clicks": 1234,
"total_impressions": 45678,
"average_ctr": 2.7,
"average_position": 8.5,
"date_range": "Last 28 days"
},
"top_pages": [
{
"url": "/blog/seo-tips",
"clicks": 234,
"impressions": 8900,
"ctr": 2.6,
"position": 4.2,
"top_queries": ["seo tips", "seo best practices", "seo guide"]
}
],
"query_opportunities": [
{
"query": "next.js seo",
"type": "improve_ctr",
"current_ctr": 1.2,
"impressions": 450,
"position": 4.5,
"recommendation": "Low CTR for page 1 ranking. Improve title and meta description to stand out in search results."
},
{
"query": "schema markup guide",
"type": "improve_ranking",
"position": 12,
"impressions": 890,
"clicks": 15,
"recommendation": "Currently on page 2. Add more examples, internal links, and depth to reach page 1."
},
{
"query": "nextjs vs remix seo",
"type": "keyword_gap",
"position": 8,
"impressions": 120,
"recommendation": "Ranking well but low search volume. Create comparison content to capture this query cluster."
}
],
"content_recommendations": [
"Write: 'Complete Guide to Next.js SEO' targeting 'next.js seo' (450 monthly impressions, position 4.5, opportunity to improve CTR)",
"Expand: '/blog/schema-basics' with more examples and internal links to improve ranking for 'schema markup guide' (position 12 → target top 5)",
"Create: 'Next.js vs Remix SEO Comparison' to capture comparison queries ('nextjs vs remix seo', 'remix seo features')"
]
}
Opportunity Types#
The tool detects 4 types of query opportunities:
| Type | Criteria | Recommended Action |
|---|---|---|
| improve_ctr | High impressions (100+), low CTR (<2%) | Rewrite title and meta description to improve click-through rate |
| improve_ranking | Position 6-20 (page 1-2), opportunity for top 5 | Add more depth, examples, and internal links to boost rankings |
| keyword_gap | Good ranking but low search volume, indicates topic cluster | Create comprehensive content around related keywords |
| cannibalization | Multiple pages competing for the same query | Consolidate content or differentiate page targeting |
Example#
What should I write next?
What queries am I ranking for?
Show me content opportunities from GSC
Which pages have low CTR?
Find keyword gaps in my content
generate_meta()#
Generate optimized meta tags (title, description, Open Graph tags) for a page. Uses your client profile for personalized recommendations.
This tool automatically fetches your Business Profile to personalize recommendations based on your target audience, brand voice, and differentiators. Learn why this matters →
Usage#
generate_meta({
domain: "example.com",
url_path: "/blog/post",
include_og_tags: true,
framework: "nextjs"
})
Parameters#
domain(optional) - Site domain (usesSEO_CLIENT_DOMAINif not provided)url_path(required) - Page URL path (e.g., "/blog" or "/blog/post")include_og_tags(optional) - Include Open Graph tags for social sharing (default: true)framework(optional) - Framework format -nextjs,html,astro, orremix(default: "nextjs")
Returns#
{
"page_analysis": {
"current_title": "SEO Tips",
"current_description": "Tips for SEO",
"page_type": "blog_post",
"word_count": 1500,
"key_topics": ["seo", "optimization", "rankings"]
},
"issues": [
"Title too short (only 8 characters, recommended: 50-60)"
],
"profile_warnings": [
"⚠️ Target audience not set - add this for better results"
]
}
The AI then uses this analysis to generate optimized meta tags based on your business profile.
Example#
Generate better meta tags for /blog
Fix the title too short issue on /blog/post
Create HTML meta tags for /products/widget
generate_schema()#
Auto-generate structured data (schema.org JSON-LD) for any page. Detects page type and generates appropriate schema with validation.
Usage#
generate_schema({
domain: "example.com",
url_path: "/blog/post",
schema_type: "auto"
})
Parameters#
domain(optional) - Site domain (usesSEO_CLIENT_DOMAINif not provided)url_path(required) - Page URL path (e.g., "/blog/post")schema_type(optional) - Specific schema type or "auto" to detect (default: "auto")
Supported schema types:
Article/BlogPosting- Blog posts, articles, newsProduct- Product pages, e-commerceOrganization- About pages, company infoFAQPage- FAQ pages with Q&ABreadcrumbList- Auto-added for navigation
Returns#
{
"detected_page_type": "Article",
"recommended_schemas": ["Article", "BreadcrumbList"],
"schemas": [
{
"type": "Article",
"json_ld": {
"@context": "https://schema.org",
"@type": "Article",
"headline": "Your article title",
"author": { "@type": "Person", "name": "Author Name" }
},
"validation": {
"valid": false,
"warnings": ["Replace placeholder values with actual data"]
}
}
],
"implementation": {
"where_to_add": "In your page component's metadata",
"code_snippet": "// Next.js code here",
"instructions": "1. Add code to page.tsx..."
}
}
Example#
Generate schema for /blog/indexnow-faster-indexing
Generate Product schema for /products/widget
Add structured data to this page
Next Steps
Installation Guide
Installation, environment variables, advanced configuration options, and editor-specific settings.
Troubleshooting
Fix common issues: authentication errors, connection problems, and editor-specific configuration.
Dashboard Overview
Learn about the Rampify dashboard: site analysis, issues tracking, and performance monitoring.