Mcp

Prompts are pre-built templates that structure LLM conversations for specific tasks.

improve_page_seo

Analyze a Nuxt page and generate SEO improvements. Orchestrates multiple tools in sequence.

ParameterTypeDescription
filePathstringPath to Vue file (e.g., app/pages/about.vue)
fileContentstringContent of the Vue file
topicstringPage topic for keyword research (optional, auto-detected)
nuxtConfigstringnuxt.config.ts content (optional, for module detection)
liveUrlstringLive URL to extract rendered meta (optional, compares source vs output)
liveHtmlstringRaw HTML from local dev server (optional, for non-deployed pages)
// Basic usage
improve_page_seo({
  filePath: 'app/pages/tools/meta-checker.vue',
  fileContent: '...',
  topic: 'meta tag checker tool'
})

// With live comparison
improve_page_seo({
  filePath: 'app/pages/tools/meta-checker.vue',
  fileContent: '...',
  liveUrl: 'https://mysite.com/tools/meta-checker'
})

// With local dev HTML
improve_page_seo({
  filePath: 'app/pages/tools/meta-checker.vue',
  fileContent: '...',
  liveHtml: '<html>...</html>' // from $fetch('http://localhost:3000/tools/meta-checker')
})

Workflow

The prompt runs these tools in sequence:

  1. extract_meta_tags (optional) - Extract rendered meta from live URL or HTML
  2. analyze_page - Detect page type, existing SEO, generate suggestions
  3. research_keywords - Find long-tail keywords (low difficulty, moderate volume)
  4. generate_schema_org - Generate structured data if missing
  5. generate_og_image_template - Create OG image component if missing

Output

Returns:

  • Rendered vs Source (if liveUrl/liveHtml provided) - Comparison of what's in source vs what actually renders
  • Top 5 long-tail keywords with volume/difficulty
  • Current SEO status (what already exists)
  • Ready-to-paste code blocks:
    • useSeoMeta() with researched keywords
    • useSchemaOrg() for the page type
    • defineOgImage() configuration
  • Implementation notes (modules to install)

Content Workflow

The content prompts work together:

research_keywords → content_brief → article_generation
  1. Research keywords - Find target keywords for topic
  2. Create brief - Generate structured outline
  3. Write article - Generate full content following the style guide

content_brief

Generate a structured outline for an article. Use after keyword research.

ParameterTypeDescription
topicstringMain topic for the article
targetKeywordsstringComma-separated target keywords (3-5)
competitorUrlsstringComma-separated URLs to differentiate from (optional)
pageTypestringtechnical, marketing, or tutorial (default: technical)
content_brief({
  topic: 'Adding Schema.org to Nuxt Pages',
  targetKeywords: 'nuxt schema.org, useSchemaOrg nuxt, nuxt structured data',
  pageType: 'technical'
})

Output Structure

The prompt returns:

  1. Primary search intent - What the user wants to accomplish
  2. Unique angle - How to differentiate from competitors
  3. H2 sections (4-6) - Each with:
    • Heading text
    • Bullet points to cover
    • Target keywords to use
  4. Key questions - Questions users ask about the topic
  5. Frontmatter suggestion - Title and related pages

Rules Applied

The brief follows the Writing Guide:

  • Code within first 3 scrolls
  • Parameters in tables
  • Primary keyword in H1 and first paragraph
  • H2s as useful navigation, not keyword lists
  • Some H2s as questions users ask

article_generation

Generate a full article from an outline. Embeds the complete Writing Guide rules.

ParameterTypeDefaultDescription
outlinestringrequiredContent brief from content_brief
targetWordCountstring"1500"Target length (500-5000)
includeCodeExamplesstring"true"Include code examples (true/false)
sitemapUrlsstring-Comma-separated site URLs for internal linking
article_generation({
  outline: '# Content Brief\n\n## Primary Intent...',
  targetWordCount: '2000',
  includeCodeExamples: 'true',
  sitemapUrls: '/docs/schema-org/getting-started, /docs/seo-utils/api/use-seo-meta'
})

Embedded Rules

The prompt includes:

Banned words: dive into, crucial, leverage, ensure, comprehensive...

Banned phrases: "it's important to note", "in today's X", "let's explore"...

Quick fixes:

SlopFix
It's important to note...just state it
This allows you to...You can...
In order to...To...

Voice rules:

  • Developer-to-developer, casual but accurate
  • State opinions: "This is lazy", "overkill for most sites"
  • Say what NOT to do

Structure rules:

  • Code within first 3 scrolls
  • Parameters in tables, not prose
  • No "Best practices" sections

Gap Markers

The output includes markers for content that needs follow-up:

[STAT NEEDED: percentage of sites with broken meta tags]
[VERIFY: does this work in Nuxt 4?]
[EXAMPLE NEEDED: real-world product schema]
[LINK: internal link to related page]

Review the article and fill these gaps before publishing.

Chaining Prompts

A full workflow for creating a new article:

// 1. Research keywords
const keywords = await research_keywords({ topic: 'nuxt meta tags' })

// 2. Create outline
const brief = await content_brief({
  topic: 'Adding Meta Tags in Nuxt',
  targetKeywords: keywords.keywords.map(k => k.keyword).slice(0, 5).join(', ')
})

// 3. Generate article
const article = await article_generation({
  outline: brief,
  targetWordCount: '1500'
})
Did this page help you?