Majestic MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Majestic MCP ServerGet the Trust Flow and Citation Flow for example.com"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 Trust Flow, Citation Flow, backlink counts and key metrics |
| Get detailed backlink data for a URL/domain |
| Get anchor text distribution |
| Get list of referring domains |
| Get the most backlinked pages on a domain |
| Get topical Trust Flow breakdown |
| Get recently gained or lost backlinks |
| Compare metrics across multiple URLs/domains |
| Check API usage and remaining quota |
Related MCP server: semrush-mcp
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-mcpGlobal install
npm install -g majestic-mcp
MAJESTIC_API_KEY=your-key majestic-mcpMCP 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_infoAPI Reference
get_index_item_info
Get Trust Flow, Citation Flow, and other key metrics.
Parameter | Type | Default | Description |
| string[] | required | URLs or domains to analyze (max 100) |
| "fresh" | "historic" | "fresh" | Index to use |
| boolean | true | Include subdomain data |
get_backlinks
Get detailed backlink data.
Parameter | Type | Default | Description |
| string | required | URL or domain |
| "fresh" | "historic" | "fresh" | Index to use |
| number | 100 | Number of backlinks (max 50000) |
| "0" | "1" | "0" | 0=all, 1=one per domain |
| string | - | Filter by topic |
| string | - | Filter by referring domain |
get_anchor_text
Get anchor text distribution.
Parameter | Type | Default | Description |
| string | required | URL or domain |
| "fresh" | "historic" | "fresh" | Index to use |
| number | 100 | Number to return (max 1000) |
| "0" | "1" | "0" | 0=phrase, 1=word anchors |
| "0" | "1" | "2" | "0" | 0=anchor, 1=alt, 2=both |
get_ref_domains
Get referring domains.
Parameter | Type | Default | Description |
| string | required | URL or domain |
| "fresh" | "historic" | "fresh" | Index to use |
| number | 100 | Number to return (max 50000) |
| string | "TrustFlow" | Sort order |
| string | - | Filter by topic |
get_top_pages
Get most backlinked pages.
Parameter | Type | Default | Description |
| string | required | Domain to analyze |
| "fresh" | "historic" | "fresh" | Index to use |
| number | 100 | Number to return (max 10000) |
| string | "ExtBackLinks" | Sort order |
get_topics
Get topical Trust Flow breakdown.
Parameter | Type | Default | Description |
| string | required | URL or domain |
| "fresh" | "historic" | "fresh" | Index to use |
get_new_lost_backlinks
Get recently gained/lost backlinks.
Parameter | Type | Default | Description |
| string | required | Domain to analyze |
| number | 100 | Number to return (max 50000) |
| "new" | "lost" | "new" | New or lost backlinks |
compare_items
Compare metrics across domains.
Parameter | Type | Default | Description |
| string[] | required | 2-5 URLs/domains to compare |
| "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
Available Tools
9 toolscompare_itemsC
Compare Trust Flow, Citation Flow and other metrics across multiple URLs/domains
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | List of URLs or domains to compare (2-5 items) | |
| datasource | No | Index to use | fresh |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool compares metrics but does not explain how the comparison is performed, what 'other metrics' include, whether it requires authentication, rate limits, or error handling. This is insufficient for a tool with potential complexity in data retrieval and analysis.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose. It avoids unnecessary words, though it could be slightly more structured by explicitly listing the metrics or clarifying the scope of 'other metrics'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits, output format, error cases, and how it differs from siblings. For a comparison tool with potential data source variations, this leaves significant gaps in understanding its full context and usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents the parameters ('items' and 'datasource'). The description adds no additional meaning beyond implying that 'items' are used for comparison, which is already clear from the schema. Baseline score of 3 is appropriate as the schema handles parameter documentation adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: comparing Trust Flow, Citation Flow, and other metrics across multiple URLs/domains. It specifies the verb ('compare') and resources ('URLs/domains'), but does not explicitly differentiate from sibling tools like 'get_index_item_info' or 'get_top_pages', which might provide related but different functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It mentions comparing metrics but does not specify scenarios, prerequisites, or exclusions, such as when to use 'get_index_item_info' for single-item analysis instead. This lack of context leaves usage unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_anchor_textC
Get anchor text distribution for a URL or domain
| Name | Required | Description | Default |
|---|---|---|---|
| item | Yes | URL or domain to analyze | |
| datasource | No | Index to use | fresh |
| count | No | Number of anchor texts to return | |
| mode | No | 0 = phrase anchors, 1 = word anchors | 0 |
| textMode | No | 0 = anchor text, 1 = alt text, 2 = both | 0 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but omits critical details such as rate limits, authentication requirements, data freshness implications, or what the output looks like (e.g., distribution format). For a tool with 5 parameters and no output schema, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. It directly states the tool's function and scope, making it easy to parse quickly. Every part of the sentence earns its place by specifying the action, resource, and target.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, no annotations, no output schema), the description is incomplete. It fails to explain behavioral aspects like output format, error handling, or usage constraints. For a data retrieval tool with multiple configuration options, more context is needed to ensure the agent can use it effectively without trial and error.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 5 parameters with descriptions, enums, defaults, and constraints. The description adds no additional parameter semantics beyond implying analysis of 'anchor text distribution', which is already covered by the schema's parameter names and descriptions. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('anchor text distribution'), specifying it's for a URL or domain. It distinguishes from siblings like 'get_backlinks' or 'get_ref_domains' by focusing on anchor text analysis rather than backlinks or domains. However, it doesn't explicitly differentiate from all siblings, such as 'get_top_pages' which might overlap in some contexts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_backlinks' or 'compare_items'. It lacks explicit context, prerequisites, or exclusions, leaving the agent to infer usage based on the name and parameters alone. This minimal guidance could lead to incorrect tool selection in complex scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_backlinksC
Get detailed backlink data for a URL or domain
| Name | Required | Description | Default |
|---|---|---|---|
| item | Yes | URL or domain to get backlinks for | |
| datasource | No | Index to use | fresh |
| count | No | Number of backlinks to return (max 50000) | |
| mode | No | 0 = all backlinks, 1 = one per referring domain | 0 |
| filterTopic | No | Filter by topic (e.g., 'Recreation/Travel') | |
| filterRefDomain | No | Filter by referring domain |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'detailed backlink data' but doesn't specify what that includes (e.g., link attributes, timestamps, metrics), potential limitations like rate limits, authentication needs, or whether the operation is read-only or has side effects. This leaves significant gaps for an agent to understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that efficiently conveys the core purpose without unnecessary words. It's front-loaded with the main action and resource, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 parameters, no annotations, no output schema), the description is insufficient. It lacks details on output format, error handling, usage context relative to siblings, and behavioral traits like performance or constraints. For a data retrieval tool with multiple parameters, this leaves the agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds no additional meaning beyond the schema, such as explaining how 'item' is parsed or the practical implications of 'mode' settings. The baseline score of 3 reflects adequate coverage by the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('detailed backlink data for a URL or domain'), making the purpose specific and understandable. However, it doesn't explicitly differentiate this tool from sibling tools like 'get_ref_domains' or 'get_new_lost_backlinks', which also deal with backlink-related data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'get_ref_domains' and 'get_new_lost_backlinks' available, there's no indication of what distinguishes this tool's use case, such as comprehensive backlink details versus aggregated domain data or change tracking.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_index_item_infoC
Get Trust Flow, Citation Flow, backlink counts and other key metrics for one or more URLs/domains
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | List of URLs or domains to analyze (max 100) | |
| datasource | No | Index to use: fresh (recent) or historic (5+ years) | fresh |
| includeSubdomains | No | Include subdomains in the analysis |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. While it mentions what metrics are retrieved, it doesn't describe important behavioral aspects like rate limits, authentication requirements, response format, pagination, or whether this is a read-only operation. The description is functional but lacks operational context needed for proper tool invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that communicates the core functionality without unnecessary words. It's appropriately sized for the tool's complexity and front-loads the key information about what metrics are retrieved and for what targets. Every word earns its place, though it could potentially benefit from slightly more structure for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what the returned metrics mean, how they're formatted, whether there are rate limits, or what authentication might be required. The agent would need to guess about important operational aspects when invoking this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the input schema already documents all three parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema - it doesn't explain the significance of 'fresh' vs 'historic' data sources, why subdomain inclusion matters, or provide examples of valid URL formats. The baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get Trust Flow, Citation Flow, backlink counts and other key metrics for one or more URLs/domains'. It specifies the verb ('Get'), resources ('metrics'), and targets ('URLs/domains'). However, it doesn't explicitly differentiate from sibling tools like 'get_backlinks' or 'get_ref_domains', which might provide overlapping or related data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With multiple sibling tools like 'get_backlinks', 'get_ref_domains', and 'get_top_pages' that might offer related metrics, there's no indication of when this comprehensive metrics tool is preferred over more specific ones. No prerequisites or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_new_lost_backlinksC
Get recently gained or lost backlinks for a domain
| Name | Required | Description | Default |
|---|---|---|---|
| item | Yes | Domain to analyze | |
| count | No | Number of backlinks to return | |
| mode | No | Get new or lost backlinks | new |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'Get' implies a read operation, the description doesn't address important behavioral aspects like: whether this requires authentication, rate limits, what the return format looks like (list of backlinks with what fields?), whether results are paginated, or what 'recently' means (timeframe). For a tool with no annotation coverage, this leaves significant gaps in understanding how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that communicates the core purpose without any wasted words. It's appropriately sized for a tool with three parameters and gets straight to the point. Every word earns its place in conveying what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there are no annotations and no output schema, the description should do more to compensate. For a tool that returns backlink data (potentially complex structured data), the description doesn't explain what information is returned about each backlink, how results are organized, or what 'recently' means temporally. With 3 parameters and no structured output documentation, the description is insufficient for understanding what the tool actually produces.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description mentions 'domain to analyze' which aligns with the 'item' parameter, and 'new or lost backlinks' which aligns with the 'mode' parameter, but adds no additional semantic context beyond what's in the schema descriptions. With complete schema coverage, the baseline is 3 even without parameter details in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'recently gained or lost backlinks for a domain', making the purpose understandable. However, it doesn't explicitly distinguish this tool from sibling tools like 'get_backlinks' or 'get_ref_domains', which likely provide different backlink-related data. The description is specific about what type of backlinks (new/lost) but doesn't clarify how this differs from other available tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'get_backlinks', 'get_ref_domains', and 'get_anchor_text' available, there's no indication of when this specific tool (focused on new/lost backlinks) is appropriate versus those other backlink-related tools. The description doesn't mention prerequisites, constraints, or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ref_domainsC
Get list of referring domains linking to a URL or domain
| Name | Required | Description | Default |
|---|---|---|---|
| item | Yes | URL or domain to analyze | |
| datasource | No | Index to use | fresh |
| count | No | Number of referring domains to return | |
| orderBy | No | How to order results | TrustFlow |
| filterTopic | No | Filter by topical Trust Flow topic |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but doesn't describe how it behaves: there's no mention of rate limits, authentication requirements, whether this is a read-only operation (implied by 'Get' but not explicit), potential costs, data freshness, or what the output format looks like (e.g., list of domains with metrics). For a tool with 5 parameters and no annotations, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a tool with a clear purpose, and the structure is front-loaded with the core functionality. Every word earns its place by conveying essential information about what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, no annotations, no output schema), the description is incomplete. It doesn't address behavioral aspects like rate limits or authentication, doesn't explain the output format (critical since there's no output schema), and provides no usage guidance. While the schema covers parameters well, the description fails to provide the contextual information needed for an agent to use this tool effectively beyond basic parameter filling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, meaning all parameters are well-documented in the schema itself. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't explain what 'TrustFlow' or 'CitationFlow' mean, or clarify the difference between 'fresh' and 'historic' datasources). With complete schema coverage, the baseline is 3, and the description doesn't compensate with extra context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get list' and the resource 'referring domains linking to a URL or domain', making the purpose immediately understandable. It distinguishes this tool from siblings like get_backlinks (which focuses on backlinks rather than referring domains) and get_anchor_text (which focuses on anchor text). However, it doesn't explicitly mention the data source (e.g., Majestic SEO) or the specific metrics involved, which would make it a perfect 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose get_ref_domains over get_backlinks (which might provide more detailed backlink data) or compare_items (which might compare multiple items). There's no context about prerequisites, typical use cases, or limitations, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_subscription_infoA
Get current API subscription info, usage and remaining quota
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly indicates this is a read operation ('Get') and specifies what information will be retrieved. However, it doesn't disclose important behavioral traits like authentication requirements, rate limits, error conditions, or whether the data is real-time versus cached. The description adds basic context but leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly concise - a single sentence with no wasted words. It's front-loaded with the core purpose and efficiently lists the three key information types retrieved. Every word earns its place, making it easy for an agent to quickly understand the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (zero parameters, no output schema), the description is reasonably complete for understanding what the tool does. However, as a read operation with no annotations, it should ideally mention authentication requirements or any constraints on usage frequency. The description covers the 'what' adequately but could better address the 'how' and 'when' aspects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters with 100% schema description coverage, so the schema already fully documents the parameter situation. The description appropriately doesn't waste space discussing non-existent parameters. A baseline of 4 is appropriate for zero-parameter tools where the description focuses on purpose rather than parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('Get') and resources ('API subscription info, usage and remaining quota'). It distinguishes itself from siblings by focusing on subscription metadata rather than content analysis or link data. However, it doesn't explicitly differentiate from potential alternative subscription-related tools (though none are listed).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (checking API subscription status and quotas) but provides no explicit guidance on when to use this tool versus alternatives. No sibling tools appear to offer similar functionality, so the lack of comparative guidance is understandable but still leaves usage context implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_topicsC
Get topical Trust Flow breakdown for a URL or domain
| Name | Required | Description | Default |
|---|---|---|---|
| item | Yes | URL or domain to analyze | |
| datasource | No | Index to use | fresh |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'Trust Flow breakdown' but doesn't explain what this entails (e.g., metrics, format, or limitations like rate limits or data freshness). For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. Every part earns its place by specifying the action, resource, and target, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete for a tool that likely returns complex data (e.g., 'Trust Flow breakdown'). It doesn't explain what the output includes, potential errors, or usage constraints, leaving the agent with insufficient context for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters ('item' and 'datasource') with descriptions and enum values. The description adds no additional meaning beyond implying analysis of a URL/domain, which aligns with the schema. Baseline 3 is appropriate when the schema handles parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get') and resource ('topical Trust Flow breakdown'), and identifies the target ('for a URL or domain'). It doesn't explicitly differentiate from sibling tools like 'get_index_item_info' or 'get_top_pages', which might also analyze URLs/domains, so it misses the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'get_backlinks' or 'get_ref_domains' that might offer related analyses, there's no indication of context, prerequisites, or exclusions for selecting this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_top_pagesC
Get the most backlinked pages on a domain
| Name | Required | Description | Default |
|---|---|---|---|
| item | Yes | Domain to analyze | |
| datasource | No | Index to use | fresh |
| count | No | Number of pages to return | |
| orderBy | No | How to order results | ExtBackLinks |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states what the tool does but does not describe behavioral traits such as rate limits, authentication needs, error handling, or what the output looks like (e.g., format, pagination). For a tool with no annotations, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and wastes no space, making it highly concise and well-structured for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a tool with 4 parameters, no annotations, and no output schema, the description is incomplete. It lacks details on behavioral aspects, output format, and usage context, which are essential for an agent to effectively invoke the tool. The description does not compensate for the gaps in structured data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, meaning all parameters are documented in the schema. The description does not add any meaning beyond what the schema provides, such as explaining the significance of parameters like 'datasource' or 'orderBy' in context. With high schema coverage, the baseline score of 3 is appropriate as the description does not compensate with extra insights.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'most backlinked pages on a domain', making the purpose specific and understandable. However, it does not explicitly differentiate this tool from sibling tools like 'get_backlinks' or 'get_ref_domains', which might also involve backlink analysis, so it lacks sibling differentiation for a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any context, prerequisites, or exclusions, nor does it refer to sibling tools for comparison. This leaves the agent without direction on appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose targeting specific SEO/backlink analysis functions, with no significant overlap. For example, get_backlinks provides detailed backlink data, while get_ref_domains focuses on referring domains, and get_anchor_text covers anchor text distribution.
All tools follow a consistent verb_noun pattern with 'get_' or 'compare_' prefixes, using snake_case throughout. The naming convention is predictable and readable across all nine tools, with no deviations in style.
Nine tools is well-scoped for an SEO/backlink analysis server, providing comprehensive coverage without being overwhelming. Each tool earns its place by addressing specific aspects of domain/URL metrics and backlink analysis.
The tool set offers strong coverage for SEO metrics and backlink analysis, including key operations like retrieving metrics, backlinks, referring domains, and subscription info. A minor gap exists in update/management operations (e.g., no tool to modify or delete data), but core analysis workflows are well-covered.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
SEO MCP server — backlinks, domain authority, tech stack, and 18+ tools via Common Crawl.
SEO MCP server for keyword research, SERP analysis, audits, and Search Console workflows.
SEO Intelligence MCP — 13 tools: keyword research, SERP, domain audits, competitors.
SEO Backlinks MCP — backlink intelligence via DataForSEO Backlinks API
Related MCP Servers
- AlicenseCqualityDmaintenanceAn MCP server that integrates with the Haloscan SEO API to provide tools for keyword research, SERP analysis, and domain performance tracking. It enables users to perform comprehensive SEO tasks, including competitor analysis and visibility monitoring, within MCP-compatible clients.33661MIT
- AlicenseBqualityDmaintenanceMCP server providing tools to access Semrush API data for domain analytics, keyword research, backlink analysis, and traffic analytics.1980MIT
- AlicenseBqualityDmaintenanceAn MCP server that gives AI assistants 23 SEO tools for rank tracking, Google Analytics, site audits, keyword research, competitive analysis, and more, accessible through natural language.2510MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides SEO analysis tools including backlink analysis, keyword research, and traffic estimation using Ahrefs data, with CAPTCHA solving and caching.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MattiooFR/majestic-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server