Skip to main content
Glama

outrank-mcp

License: MIT Python 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

check_auth_and_credits

Verify the API key and retrieve remaining article-generation credits

list_products

List active website products (managed sites) in the organization

generate_keywords

Queue keyword cluster research for a product on a broad topic

generate_article

Generate an SEO long-form article targeted at a specific keyword (optional auto-publish)

get_article_content

Fetch the raw markdown + HTML content for a finished article

Related MCP server: seo-mcp

Install

pip install outrank-mcp

Configure

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:

  1. Call check_auth_and_credits() to confirm the API key is valid and there are remaining credits for article generation

  2. Call list_products() to see which managed websites you can target

  3. Call generate_keywords(product_id, topic) to queue keyword research on a broad topic

  4. Call generate_article(product_id, keyword, auto_publish=false) to generate a long-form SEO article (set auto_publish=true to push to the connected CMS automatically)

  5. 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 httpx

  • pydantic 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]"
pytest

License

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.

Open to AI engineering roles, contract or full-time, remote-only.

Available Tools

5 tools
check_auth_and_creditsA

Verify the Outrank API key and retrieve remaining article-generation credits.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYesThe website product ID
keywordYesTarget keyword the article will rank for
languageNoISO language codeen
auto_publishNoAuto-publish to connected CMS on completion

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYesThe unique website product ID from list_products
topicYesBroad topic keyword to research
languagesNoISO language codes, e.g. ['en']

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
article_idYesThe unique article ID from generate_article

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

  1. 5 tool updatesv0.1.0
    • First observedcheck_auth_and_credits
    • First observedgenerate_article
    • First observedgenerate_keywords
    • First observedget_article_content
    • First observedlist_products

TDQS

A3.7/5.0
Disambiguation5/5

Each tool targets a distinct function: authentication, article generation, keyword research, content retrieval, and product listing. No overlapping purposes.

Naming Consistency4/5

Tools follow a verb_noun pattern (generate_article, get_article_content, list_products), with check_auth_and_credits being a minor deviation using 'and'.

Tool Count5/5

Five tools is well-scoped for an SEO article generation server, covering authentication, generation, research, retrieval, and product listing without unnecessary bloat.

Completeness3/5

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

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    MCP 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.
    7
    16
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP 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.
    10
    13
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An agent-friendly MCP server for the GeoRanker High-Volume API, enabling SEO rank tracking and keyword management through natural language.
    16
    1
    MIT

Latest Blog Posts

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