Majestic MCP Server
A Model Context Protocol (MCP) server for the Majestic SEO API. Runs locally via stdio transport.
Features
9 tools to interact with Majestic's SEO data:
| Tool | Description |
|---|---|
get_index_item_info |
Get Trust Flow, Citation Flow, backlink counts and key metrics |
get_backlinks |
Get detailed backlink data for a URL/domain |
get_anchor_text |
Get anchor text distribution |
get_ref_domains |
Get list of referring domains |
get_top_pages |
Get the most backlinked pages on a domain |
get_topics |
Get topical Trust Flow breakdown |
get_new_lost_backlinks |
Get recently gained or lost backlinks |
compare_items |
Compare metrics across multiple URLs/domains |
get_subscription_info |
Check API usage and remaining quota |
Prerequisites
- A Majestic API key (requires a Majestic subscription)
- Node.js 18+
Quick Start
With npx (no install)
MAJESTIC_API_KEY=your-key npx majestic-mcp
Global install
npm install -g majestic-mcp
MAJESTIC_API_KEY=your-key majestic-mcp
MCP Configuration
For mcporter / OpenClaw
Add to .mcp.json:
{
"mcpServers": {
"majestic": {
"command": "npx",
"args": ["-y", "majestic-mcp"],
"env": {
"MAJESTIC_API_KEY": "your-api-key-here"
}
}
}
}
For Claude Desktop
Add to Claude Desktop config:
{
"mcpServers": {
"majestic": {
"command": "npx",
"args": ["-y", "majestic-mcp"],
"env": {
"MAJESTIC_API_KEY": "your-api-key-here"
}
}
}
}
Usage with mcporter
# Get Trust Flow and Citation Flow for a domain
mcporter call majestic.get_index_item_info items='["backlink-eldorado.fr"]'
# Get backlinks
mcporter call majestic.get_backlinks item="example.com" count=50
# Compare domains
mcporter call majestic.compare_items items='["site1.com","site2.com","site3.com"]'
# Check API quota
mcporter call majestic.get_subscription_info
API Reference
get_index_item_info
Get Trust Flow, Citation Flow, and other key metrics.
| Parameter | Type | Default | Description |
|---|---|---|---|
items |
string[] | required | URLs or domains to analyze (max 100) |
datasource |
"fresh" | "historic" | "fresh" | Index to use |
includeSubdomains |
boolean | true | Include subdomain data |
get_backlinks
Get detailed backlink data.
| Parameter | Type | Default | Description |
|---|---|---|---|
item |
string | required | URL or domain |
datasource |
"fresh" | "historic" | "fresh" | Index to use |
count |
number | 100 | Number of backlinks (max 50000) |
mode |
"0" | "1" | "0" | 0=all, 1=one per domain |
filterTopic |
string | - | Filter by topic |
filterRefDomain |
string | - | Filter by referring domain |
get_anchor_text
Get anchor text distribution.
| Parameter | Type | Default | Description |
|---|---|---|---|
item |
string | required | URL or domain |
datasource |
"fresh" | "historic" | "fresh" | Index to use |
count |
number | 100 | Number to return (max 1000) |
mode |
"0" | "1" | "0" | 0=phrase, 1=word anchors |
textMode |
"0" | "1" | "2" | "0" | 0=anchor, 1=alt, 2=both |
get_ref_domains
Get referring domains.
| Parameter | Type | Default | Description |
|---|---|---|---|
item |
string | required | URL or domain |
datasource |
"fresh" | "historic" | "fresh" | Index to use |
count |
number | 100 | Number to return (max 50000) |
orderBy |
string | "TrustFlow" | Sort order |
filterTopic |
string | - | Filter by topic |
get_top_pages
Get most backlinked pages.
| Parameter | Type | Default | Description |
|---|---|---|---|
item |
string | required | Domain to analyze |
datasource |
"fresh" | "historic" | "fresh" | Index to use |
count |
number | 100 | Number to return (max 10000) |
orderBy |
string | "ExtBackLinks" | Sort order |
get_topics
Get topical Trust Flow breakdown.
| Parameter | Type | Default | Description |
|---|---|---|---|
item |
string | required | URL or domain |
datasource |
"fresh" | "historic" | "fresh" | Index to use |
get_new_lost_backlinks
Get recently gained/lost backlinks.
| Parameter | Type | Default | Description |
|---|---|---|---|
item |
string | required | Domain to analyze |
count |
number | 100 | Number to return (max 50000) |
mode |
"new" | "lost" | "new" | New or lost backlinks |
compare_items
Compare metrics across domains.
| Parameter | Type | Default | Description |
|---|---|---|---|
items |
string[] | required | 2-5 URLs/domains to compare |
datasource |
"fresh" | "historic" | "fresh" | Index to use |
get_subscription_info
Check API usage (no parameters).
Majestic Indexes
- Fresh Index: Updated daily, contains links discovered in the last 120 days
- Historic Index: Contains 5+ years of backlink data, updated monthly
License
MIT