# SEO MCP server for Claude and AI agents

> SEO MCP server for Claude, Cursor and any MCP client: 25 read-only tools over projects, rankings, audits and keywords. Install with npx netweft-mcp.

Source: https://netweft.com/mcp

netweft is an SEO MCP server: Claude, Cursor or any MCP client reads a workspace's projects, keywords, rank tracking, site audits and context through 25 read-only tools under a scoped API key. The endpoint is `POST https://api.netweft.com/mcp`. Every tool is read-only over rows netweft already stores — nothing writes, nothing starts a crawl, and nothing spends a credit.

## Connect a client

Create a key under Settings, then API keys. A client that speaks HTTP points at the endpoint with the key in the `Authorization` header; a client that only starts local servers, such as Claude Desktop, runs `netweft-mcp` from npm. Every other client's setup: https://netweft.com/docs/mcp-server

### Claude Code

```bash
claude mcp add --transport http netweft https://api.netweft.com/mcp \
  --header "Authorization: Bearer $NETWEFT_API_KEY"
```

### Claude Desktop

```json
{
  "mcpServers": {
    "netweft": {
      "command": "npx",
      "args": ["-y", "netweft-mcp"],
      "env": { "NETWEFT_API_KEY": "nw_..." }
    }
  }
}
```

### Cursor

```json
{
  "mcpServers": {
    "netweft": {
      "url": "https://api.netweft.com/mcp",
      "headers": { "Authorization": "Bearer ${env:NETWEFT_API_KEY}" }
    }
  }
}
```

### VS Code

```json
{
  "inputs": [
    { "type": "promptString", "id": "netweft-key", "description": "netweft API key", "password": true }
  ],
  "servers": {
    "netweft": {
      "type": "http",
      "url": "https://api.netweft.com/mcp",
      "headers": { "Authorization": "Bearer ${input:netweft-key}" }
    }
  }
}
```

## Projects — `projects`

Projects, their overviews and who the key belongs to

- `whoami`: Which workspace the key belongs to, and what it may read.
- `list_projects`: Every project in the workspace.
- `get_project`: One project's domain, market and settings.
- `get_project_overview`: The dashboard's own summary of a project, as one object.

## Rank tracking — `rank_tracking`

Rank trackers, tracked keywords and their results

- `list_rank_trackers`: The trackers configured on a project.
- `get_rank_tracker`: One tracker's schedule, market and device.
- `list_tracked_keywords`: The keyword set a tracker checks.
- `get_latest_rank_results`: The most recent check, with each keyword's position.
- `get_rank_trend`: A keyword's positions over time, as stored observations.
- `get_rank_position_matrix`: Every tracked keyword against every check date, in one grid.
- `get_keyword_rank_history`: One keyword's whole record, including the weeks it did not rank.
- `estimate_rank_check_cost`: What a check would cost in credits. It estimates; it does not run.

## Site audit — `audit`

Site audits, their issues and the pages they crawled

- `list_audits`: Audit runs against a project, newest first.
- `get_audit`: One run's status, page count and issue totals.
- `list_audit_issues`: The issues found, classified by severity.
- `list_audit_pages`: The pages crawled, with what was found on each.

## Keywords — `keywords`

Saved keywords and their tags

- `list_saved_keywords`: Keywords saved against a project, with their metrics.
- `list_keyword_tags`: The tags a project uses to group them.

## Context — `context`

Project context, competitors, key pages and backlinks

- `get_project_context`: What the project has been told about itself.
- `list_competitors`: The domains the project is measured against.
- `list_key_pages`: The pages the project cares about.
- `list_research_log`: What has been researched against the project, and when.
- `list_backlink_snapshots`: Stored backlink summaries, by the date they were taken.

## Billing — `billing`

The workspace's credit balance and subscription

- `get_credit_balance`: Plan credits, top-up credits and what is reserved.
- `get_subscription`: The plan, its period and its limits.
