---
title: "MCP Server"
description: "Connect AI assistants to the Nuxt SEO docs and free SEO checks using the Model Context Protocol."
canonical_url: "https://nuxtseo.com/docs/nuxt-seo/guides/mcp"
---

> Index of every page on this site: [llms.txt](https://nuxtseo.com/llms.txt)

The Nuxt SEO MCP server gives AI assistants the module documentation and free SEO checks for any URL. It needs no account and no API key.

## Installation

::code-group
```bash [Claude Code]
claude mcp add --transport http nuxt-seo https://nuxtseo.com/mcp
```

```json [Cursor]
// .cursor/mcp.json
{
  "mcpServers": {
    "nuxt-seo": {
      "type": "http",
      "url": "https://nuxtseo.com/mcp"
    }
  }
}
```

```json [VS Code]
// .vscode/mcp.json
{
  "mcpServers": {
    "nuxt-seo": {
      "type": "http",
      "url": "https://nuxtseo.com/mcp"
    }
  }
}
```

```json [Windsurf]
// ~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "nuxt-seo": {
      "serverUrl": "https://nuxtseo.com/mcp"
    }
  }
}
```

```json [Zed]
// Zed settings
{
  "context_servers": {
    "nuxt-seo": {
      "settings": {
        "url": "https://nuxtseo.com/mcp"
      }
    }
  }
}
```

```md [ChatGPT]
1. Go to **Settings** > **Connectors**
2. Add a new connector with URL: `https://nuxtseo.com/mcp`
```
::

## Tools

### Documentation Tools

**`search_pages`**: search the full text of the Nuxt SEO docs. Returns the best matching pages with their route, title, and description.

| Parameter | Type     | Description                                |
| --------- | -------- | ------------------------------------------ |
| `query`   | `string` | Search terms, for example `og-image fonts` |
| `limit`   | `number` | Optional. Maximum number of results        |

```ts
search_pages({ query: 'schema-org breadcrumbs' })
```

**`get_page_markdown`**: read one docs page as Markdown. Use a `route` from `search_pages` or `list_pages`.

```ts
get_page_markdown({ route: '/docs/sitemap/getting-started/installation' })
```

**`list_pages`**: list docs pages with their route, title, and description.

```ts
list_pages({ limit: 50, offset: 0 })
```

**`get_module_setup`**: get the installation guide for a Nuxt SEO module. Returns the install command, the guide content, and the navigation tree.

| Parameter | Type     | Description                                                                                                                          |
| --------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `module`  | `string` | `nuxt-seo`, `robots`, `sitemap`, `og-image`, `schema-org`, `link-checker`, `seo-utils`, `site-config`, `ai-ready`, `skew-protection` |

```ts
get_module_setup({ module: 'schema-org' })
```

To find content on other pages, use `search_pages`.

**`list_modules`**: list all Nuxt SEO modules with stats (stars, downloads, versions).

```ts
list_modules()
```

### SEO Analysis Tools

These tools let AI assistants check and debug the SEO of any public URL.

**`diagnose_url`**: run a full SEO diagnosis of a URL in one call. It checks indexability, meta tags, [Schema.org](http://Schema.org), social cards, the sitemap, and robots.txt. It uses the same engine as the free [Site Audit](https://nuxtseo.com/tools/site-audit) tool.

```ts
diagnose_url({ url: 'https://example.com' })
```

Returns:

- `score` (0 to 100) and `grade` (`A` to `F`)
- `summary`: one line that states the main result
- `findings`: ordered by severity, highest first. Each finding has an `id`, a `severity` (`error`, `warning`, or `notice`), a `category`, a `title` that states the problem, a `detail` that states the fix, and an optional `docs` link.
- `stats`: counts of errors, warnings, notices, and passed checks
- `checks`: the raw facts that the findings come from
- `url`, `finalUrl` (after redirects), `status` (HTTP status), and `fetchedAt`

Start with `diagnose_url`. Use the tools below when you need the full detail of one area.

**`check_meta_tags`**: extract and parse the meta tags of a URL.

```ts
check_meta_tags({ url: 'https://example.com' })
```

Returns: parsed `title`, `description`, `og:*`, `twitter:*`, `canonical`, `robots`, and other meta tags.

**`debug_social_share`**: debug the social share cards of a URL. Returns the parsed Open Graph and Twitter Card tags with validation warnings.

```ts
debug_social_share({ url: 'https://example.com' })
```

Returns: `og:title`, `og:description`, `og:image`, Twitter Card tags, and warnings for missing or invalid tags.

**`validate_schema`**: validate the [Schema.org](http://Schema.org) structured data on a URL. Detects JSON-LD and Microdata markup.

```ts
validate_schema({ url: 'https://example.com' })
```

Returns: all detected schemas, validation errors, warnings, and rich result eligibility.

**`analyze_robots_txt`**: fetch and parse the robots.txt of a site.

```ts
analyze_robots_txt({ url: 'https://example.com' })
```

Returns: the raw content, the rules for each user agent, and the sitemap directives. If the site has no robots.txt, the result says so. This is not an error: crawlers can then crawl every page.

**`validate_sitemap`**: validate the content of an XML sitemap.

```ts
validate_sitemap({ xml: '<?xml version="1.0"?>...' })
```

Returns: validation status, URL count, errors (duplicates, invalid URLs), and warnings.

**`convert_html_to_markdown`**: convert the HTML of a page to clean Markdown.

```ts
// From URL
convert_html_to_markdown({ url: 'https://example.com' })

// From HTML string
convert_html_to_markdown({ html: '<h1>Hello</h1>', extractContent: true })
```

Returns: the Markdown content with the original and converted sizes.

### Rate Limits

The tools that fetch a URL have the same limits as the free web tools. Each IP address can make 20 requests per minute and 100 requests per day for each tool.

## Resources

**`nuxtseo://reference`**: a complete reference for all modules, config, and [Schema.org](http://Schema.org) patterns in one resource.

**URI:** `nuxtseo://reference`

Includes:

- Module overview with key config
- Key composables quick reference
- Complete nuxt.config.ts example
- [Schema.org](http://Schema.org) patterns for Article, Product, Person, FAQ, Organization

**`nuxtseo://modules`**: a list of all modules with stats (stars, downloads, versions).

**URI:** `nuxtseo://modules`

## Nuxt SEO Pro MCP

The free server checks one URL at a time. The [Nuxt SEO Pro MCP](https://nuxtseo.com/docs/nuxt-seo-pro/guides/mcp) reads the data of the sites you connect. Its tools include:

- `next_actions`: the ranked list of fixes for a site
- `gsc_query`: Google Search Console clicks, impressions, and positions
- `inspect_url`: every recorded issue for one URL, from index coverage, the crawl, Lighthouse, and Core Web Vitals
- `crux_vitals`: Core Web Vitals field data from the Chrome UX Report
- `keyword_research` and `backlinks`: keyword, SERP, and backlink data

## Sitemap

See the full [sitemap](https://nuxtseo.com/sitemap.md) for all pages.
