outrank-mcp
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., "@outrank-mcpcheck my remaining credits"
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.
outrank-mcp
MCP server for Outrank, the autonomous SEO content engine built by Tibo Maker. 5 tools for AI agents to verify credits, list managed website products, queue keyword research, generate SEO long-form articles (with optional auto-publish to the connected CMS), and fetch finished article content.
As of May 2026, Outrank does not ship an official MCP server, and no community-built attempt exists. Pure GREEN whitespace.
The 5 tools
Tool | Purpose |
| Verify the API key and retrieve remaining article-generation credits |
| List active website products (managed sites) in the organization |
| Queue keyword cluster research for a product on a broad topic |
| Generate an SEO long-form article targeted at a specific keyword (optional auto-publish) |
| Fetch the raw markdown + HTML content for a finished article |
Related MCP server: seo-mcp
Install
pip install outrank-mcpConfigure
export OUTRANK_API_KEY="outr_live_your-outrank-api-key"Get your API key in your Outrank Dashboard under Settings -> API keys. Keys are prefixed outr_live_. The MCP sends the key as a Bearer token; keep it server-side only.
Use with Claude Desktop
{
"mcpServers": {
"outrank": {
"command": "outrank-mcp",
"env": {
"OUTRANK_API_KEY": "outr_live_your-outrank-api-key"
}
}
}
}Restart Claude Desktop. The 5 Outrank tools are now available.
Use case: autonomous SEO content loop
Typical agent flow:
Call
check_auth_and_credits()to confirm the API key is valid and there are remaining credits for article generationCall
list_products()to see which managed websites you can targetCall
generate_keywords(product_id, topic)to queue keyword research on a broad topicCall
generate_article(product_id, keyword, auto_publish=false)to generate a long-form SEO article (setauto_publish=trueto push to the connected CMS automatically)Call
get_article_content(article_id)to fetch the finished markdown + HTML for review or further agent processing
The full content loop runs through these 5 tools without leaving the agent.
Architecture
Public MIT-licensed wrapper around the Outrank REST API v1
Async HTTP via
httpxpydantic v2 input validation
Bearer token auth, server-side only
Rate-limit aware (Outrank caps at 120 RPM and 10,000 RPD per key; the client reads
Retry-After+X-RateLimit-*headers on 429 responses)
Development
git clone https://github.com/NoBanks/outrank-mcp.git
cd outrank-mcp
pip install -e ".[dev]"
pytestLicense
MIT. See LICENSE.
Author
Ryan Hammer (NoBanks). Solo founder + engineer. Built this and 13 other MCP servers as part of a sprint to expose AI agent rails for the products and platforms shipping daily. Built outrank-mcp specifically as a same-day material reply to Tibo Maker's May 28 2026 newsletter asking which manual work people want AI agents to handle.
GitHub: @NoBanks
X/Twitter: @livingagentic
Open to AI engineering roles, contract or full-time, remote-only.
Available Tools
5 toolscheck_auth_and_creditsA
Verify the Outrank API key and retrieve remaining article-generation credits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description indicates it is a read-only check (verify and retrieve) with no obvious side effects. Without annotations, it adequately conveys the safe nature, though it could be more explicit.
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?
A single sentence of 12 words that efficiently conveys the tool's purpose with no unnecessary text.
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 simplicity of the tool (no parameters, no output schema), the description is fully complete for an agent to understand its purpose and usage context.
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 no parameters, and the schema coverage is 100%. The description does not need to add parameter information beyond what is already obvious.
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 two specific actions: verify the API key and retrieve remaining credits. It distinguishes this tool from siblings which are about generating or retrieving content.
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 use before other operations, but lacks explicit guidance on when to use or when not to use, and does not mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_articleB
Generate a long-form SEO article targeted at a specific keyword, with optional auto-publish to the connected CMS.
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes | The website product ID | |
| keyword | Yes | Target keyword the article will rank for | |
| language | No | ISO language code | en |
| auto_publish | No | Auto-publish to connected CMS on completion |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations; description fails to disclose side effects, errors, async behavior, or required auth/credits. Only mentions auto-publish without detail on impact.
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?
Single sentence with no waste, directly conveys core function and optional feature.
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?
No output schema, so description should explain return value or behavior; it does not. Lacks details on async processing, credit consumption, or error handling, leaving the agent underinformed.
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 covers all parameters (100% coverage). Description adds minimal context: 'targeted at a specific keyword' and 'auto-publish to connected CMS', but doesn't enhance individual parameter meanings.
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?
Clearly states it generates a long-form SEO article for a keyword, with optional auto-publish. Distinguishes from sibling tools like generate_keywords and get_article_content.
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?
No guidance on when to use vs alternatives, prerequisites, or conditions. Implies keyword targeting but lacks explicit usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_keywordsB
Queue keyword cluster research for a product on a broad topic.
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes | The unique website product ID from list_products | |
| topic | Yes | Broad topic keyword to research | |
| languages | No | ISO language codes, e.g. ['en'] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavior. It says 'Queue' implying asynchronous operation but does not explain what happens after queuing (e.g., returns a job ID) or how to retrieve results. Lacks details on non-destructive nature or rate limits.
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?
Single sentence, front-loaded with action and object. No unnecessary words, efficient for an AI agent to quickly understand.
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?
Tool is relatively simple (3 params, no output schema). However, description fails to mention return value or async behavior, leaving a gap for the agent to know how to use the result. Missing context on what 'queue' means for follow-up.
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?
Input schema covers all parameters with clear descriptions, and the tool description adds minimal extra meaning. Baseline 3 is appropriate as schema already provides parameter semantics.
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?
Description clearly states the action ('Queue keyword cluster research') and the target ('for a product on a broad topic'). It distinguishes from sibling tools like generate_article or list_products by focusing on keyword research.
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?
No guidance on when to use this tool versus alternatives. Does not mention when not to use or any prerequisites like authentication or credits, which are available via sibling tool check_auth_and_credits.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_article_contentA
Fetch the raw markdown and HTML content for a finished article by its ID.
| Name | Required | Description | Default |
|---|---|---|---|
| article_id | Yes | The unique article ID from generate_article |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden. It discloses that the article must be 'finished' (a behavioral constraint) and returns both markdown and HTML. However, it doesn't specify error handling, prerequisites, or what happens for unfinished articles, leaving 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 a single, front-loaded sentence with no waste. Every word is necessary to convey 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?
For a simple fetch tool with one parameter and no output schema, the description covers the main purpose and a key constraint (article must be finished). Minor omissions like error behavior prevent a perfect score, but it's largely complete.
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 coverage is 100% for the single parameter. The description adds the context 'from generate_article', which links to a sibling, but this is minor. The schema already describes the parameter as 'The unique article ID', so the description adds limited extra meaning.
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 fetches 'raw markdown and HTML content' for a 'finished article' by ID, distinguishing it from siblings like generate_article which creates articles, and list_products which lists products. The verb 'Fetch' and resource 'content' are specific.
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 after article generation (IDs from generate_article), but lacks explicit when-to-use or when-not-to-use guidance. No alternatives or exclusions are mentioned, making it merely adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_productsA
List all active website products in the Outrank organization.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the full burden. It implies a read-only operation via 'list' but does not explicitly state behavior, return format, or scope exceptions. Adequate but minimal.
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?
Single sentence, no waste. Front-loaded with the key action and scope. Perfect conciseness.
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 simple list tool with no parameters or output schema, the description covers the core purpose. Minor gap: could define 'active' or 'organization scope' more precisely, but sufficient.
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?
No parameters exist, so baseline is 4. The description does not need to add parameter information beyond what the schema (empty) provides.
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 lists all active website products in the Outrank organization, using a specific verb and resource. It distinguishes from siblings as the only read/list tool.
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?
No explicit when-to-use or alternatives are mentioned. However, given the simple nature and lack of similar sibling tools, the context is somewhat implied but not fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
5 tool updates
v0.1.0- First observed
check_auth_and_credits - First observed
generate_article - First observed
generate_keywords - First observed
get_article_content - First observed
list_products
TDQS
Each tool targets a distinct function: authentication, article generation, keyword research, content retrieval, and product listing. No overlapping purposes.
Tools follow a verb_noun pattern (generate_article, get_article_content, list_products), with check_auth_and_credits being a minor deviation using 'and'.
Five tools is well-scoped for an SEO article generation server, covering authentication, generation, research, retrieval, and product listing without unnecessary bloat.
Missing operations like listing finished articles, updating articles, or deleting them. The get_article_content tool requires knowing an ID, but there is no way to discover articles otherwise.
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
- CalmSEOOAuthcom.calmseo
SEO MCP server for keyword research, SERP analysis, audits, and Search Console workflows.
- RampifyOAuthdev.rampify
SEO MCP server: crawl your site, find AI-visibility gaps, and ship the fix from your coding agent.
Official MCP server for Agentwork — delegate tasks to AI agents with human-in-the-loop
An MCP server that gives any LLM or agent clean YouTube transcripts on demand: a single video, a whole channel, or a playlist, plus AI cleanup of auto-generated captions. API-key auth, credit-based, same backend as the public v1 API. Get a free API key with 25 free credits at youtubetranscriptdownload.com/account.
Related MCP Servers
AlicenseAqualityCmaintenanceMCP server for AgentMinds collective intelligence platform, enabling AI agents to scan websites for security/SEO/performance issues, pull personalized recommendations, and share findings across the network.716MIT- AlicenseAqualityDmaintenanceMCP server that gives AI assistants live access to Google Search Console and Bing Webmaster Tools for search performance, indexing, keyword research, and crawl health analysis directly in the chat.1013MIT
- AlicenseNot gradedqualityDmaintenanceAn agent-friendly MCP server for the GeoRanker High-Volume API, enabling SEO rank tracking and keyword management through natural language.161MIT
- AlicenseAqualityDmaintenanceAn MCP server that provides real-time web search to AI agents via a pay-per-search USDC microtransaction system.5671MIT
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/NoBanks/outrank-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server