MCP Server

Dashword MCP Server

Dashword is available as a remote MCP server, so Claude, Cursor, and any other MCP client can research a keyphrase and score a draft without leaving the editor.

The loop it gives your agent is brief → write → score → revise:

  1. create_report — analyse the pages currently ranking for a keyphrase.
  2. get_report — get the terms to cover, the questions to answer, and the target length.
  3. score_content — score the draft against that brief, then revise and score again. Scoring is free and unlimited.

The MCP server is included on every plan, including free accounts. So is the REST API — neither is gated behind a paid tier any more.

Requirements

Server URL

https://app.dashword.com/mcp

Requests are authenticated with the same bearer key as the REST API:

Authorization: Bearer YOUR_API_KEY

Installation

Claude Code

claude mcp add --transport http dashword \
  https://app.dashword.com/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"

Then run /mcp inside Claude Code to confirm the connection.

Cursor

Add Dashword to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project):

{
  "mcpServers": {
    "dashword": {
      "url": "https://app.dashword.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Claude Desktop

Claude Desktop connects through the mcp-remote bridge. Add this to claude_desktop_config.json, then restart the app:

{
  "mcpServers": {
    "dashword": {
      "command": "npx",
      "args": [\
        "-y",\
        "mcp-remote",\
        "https://app.dashword.com/mcp",\
        "--header",\
        "Authorization: Bearer YOUR_API_KEY"\
      ]
    }
  }
}

The same config works for any other MCP client that only speaks stdio.

Tools

create_report

Starts a new content report for a keyphrase. Analyses the pages currently ranking for it and builds a brief of the terms, questions, and length you need to compete.

Parameters

Returns

{
  "report_id": "DVGR4qZKyva",
  "status": "processing",
  "estimated_seconds": 90
}

Costs one report credit. If the report fails to build, the credit is refunded.

get_report

Fetches a report by id. While it is still building, status is processing and no brief is returned yet.

Once status is completed you get up to 50 terms to cover with how often to use each, up to 20 questions the article should answer, the target word count, and the pages currently ranking.

Parameters

Returns

{
  "report_id": "DVGR4qZKyva",
  "status": "completed",
  "keyphrase": "keto diet",
  "country": "us",
  "target_word_count": 1450,
  "terms": [\
    {\
      "term": "weight loss",\
      "importance": 100,\
      "min_occurrences": 2,\
      "max_occurrences": 4\
    }\
  ],
  "questions": [\
    "What can you eat on the keto diet?"\
  ],
  "competitors": [\
    {\
      "url": "https://www.example.com/1",\
      "position": 1,\
      "word_count": 558\
    }\
  ]
}

Free.

list_reports

Lists reports you have already created, newest first. Use it to find the report_id of an earlier report.

Parameters

Returns

{
  "reports": [\
    {\
      "report_id": "DVGR4qZKyva",\
      "keyphrase": "keto diet",\
      "country": "us",\
      "status": "completed",\
      "created_at": "2026-08-01T09:12:44+00:00"\
    }\
  ]
}

Free.

score_content

Scores a draft against a completed report. Returns an overall score and grade, plus per-term coverage showing how many times you used each term and how many times you should.

Parameters

Returns

{
  "report_id": "DVGR4qZKyva",
  "score": 82,
  "grade": "B+",
  "word_count": 1380,
  "target_word_count": 1450,
  "readability": "8th & 9th grade",
  "terms": [\
    {\
      "term": "keto diet",\
      "occurrences": 6,\
      "min_occurrences": 2,\
      "has_enough_usage": true\
    },\
    {\
      "term": "low carb diet",\
      "occurrences": 1,\
      "min_occurrences": 2,\
      "has_enough_usage": false\
    }\
  ]
}

Free and unlimited — scoring never costs a credit.

Credits and rate limits

Your monthly credits come with your plan — see pricing.

Raw REST API

Everything the MCP server does is also available over plain HTTP if you would rather call it from your own code. See the API documentation.