OpenSEO MCP Server Use Cases for AI Agents Like Claude Code
The OpenSEO MCP server exposes SEO data as tool endpoints that Claude Code and other AI agents can invoke directly, enabling autonomous keyword research, backlink analysis, and site audits through structured JSON-RPC calls.
The every-app/open-seo repository implements a Model Context Protocol (MCP) server that transforms the platform's SEO back-end into language-model-friendly API endpoints. This integration allows AI agents like Claude to fetch real-time search engine data, execute site audits, and generate optimization recommendations without leaving the conversation context.
How the OpenSEO MCP Server Exposes SEO Data to LLMs
The MCP architecture registers dozens of SEO-specific tools—ranging from keyword suggestions to SERP results—within a single server instance. Each tool is wrapped with authentication, validation, and instrumentation before being exposed to AI models.
Tool Registration in createOpenSeoMcpServer
In src/server/mcp/server.ts, the createOpenSeoMcpServer function instantiates the server and registers all available SEO tools. Lines 17-24 define the server metadata, while lines 44-61 handle the tool registration loop where each utility is bound to the MCP transport layer.
import { createOpenSeoMcpServer } from "@/server/mcp/server";
import { mcpAuthProps } from "@/server/mcp/oauth-provider";
/* Instantiate a single MCP server for the whole deployment */
export const openSeoMcp = createOpenSeoMcpServer(mcpAuthProps);
Structured vs. Human-Readable Output
Every tool returns a dual-format payload containing both structured data for programmatic use and a human-readable text block for direct LLM consumption. For example, the backlinks profile tool defined in src/server/mcp/tools/get-backlinks-profile.ts (lines 22-30) uses backlinksProfileOutputSchema to validate outputs, ensuring Claude receives consistent JSON schemas regardless of the underlying SEO data source.
Claude-Specific Integration in OpenSEO
While the MCP server is model-agnostic, OpenSEO includes specific mappings for Claude within its multi-model AI search feature.
Model Mapping in PromptExplorer
The src/server/features/ai-search/services/promptExplorer.ts file (lines 33-41) contains a MODEL_NAMES map that assigns Claude's "Sonnet 4.5" model slug to the generic claude identifier:
const MODEL_NAMES: Record<PromptExplorerModel, string> = {
chat_gpt: "gpt-5",
claude: "claude-sonnet-4-5", // <-- Claude mapping
gemini: "gemini-2.5-pro",
perplexity: "sonar-reasoning-pro",
};
When users select Claude in the AI-search interface, the system routes prompts to this model while maintaining access to the full MCP tool suite, allowing Claude to retrieve SEO data mid-conversation.
Practical Use Cases for AI Agents
Claude Code and similar agents can leverage the OpenSEO MCP server to execute complex SEO workflows autonomously.
Autonomous Keyword Research
Agents can call the research_keywords tool to fetch keyword suggestions for a target domain. Claude receives structured opportunity scores and search volumes, then generates content topic recommendations based on the returned JSON payload.
Backlink Profile Analysis
Using the get_backlinks_profile tool (implemented in src/server/mcp/tools/get-backlinks-profile.ts), Claude can analyze domain authority, identify toxic backlinks, and summarize link-building opportunities. The tool accepts parameters for pagination, sorting, and spam filtering.
SERP Monitoring and Rank Tracking
The get_serp_results and run_rank_tracker tools enable agents to monitor keyword positions over time. Claude can detect ranking fluctuations and suggest optimization strategies based on historical position data returned by the MCP endpoints.
Google Analytics Insights
Tools such as get_google_analytics_traffic_acquisition expose traffic acquisition data to LLMs. Claude can surface trends in organic vs. paid traffic and recommend budget reallocations or content adjustments.
Automated Site Audits
By invoking run_site_audit and get_audit_issues, agents can walk users through remediation steps for critical SEO errors. The MCP server returns categorized issue lists with severity scores, allowing Claude to prioritize fixes based on impact.
Security and Credit Management
The OpenSEO MCP server implements strict access controls and usage tracking to prevent unauthorized data access and unexpected costs.
Authentication with MCP_SCOPE
Every request passes through withMcpProjectAuth in src/server/mcp/transport.ts (lines 155-156), which validates the MCP authentication context and enforces the required MCP_SCOPE. This ensures Claude can only access projects and data explicitly authorized by the user.
Usage Tracking and Billing Controls
The server records credit consumption for expensive operations—for example, approximately 30 credits per backlinks page. This transparency allows agents to request user confirmation before executing large batch operations, preventing accidental overages.
Code Examples
Instantiating the MCP Server
Platform deployments initialize the server using the factory pattern shown in src/server/mcp/server.ts:
import { createOpenSeoMcpServer } from "@/server/mcp/server";
import { mcpAuthProps } from "@/server/mcp/oauth-provider";
export const openSeoMcp = createOpenSeoMcpServer(mcpAuthProps);
Calling Backlink Tools via JSON-RPC
When Claude needs backlink data, it sends a JSON-RPC request to the MCP endpoint:
{
"jsonrpc": "2.0",
"id": "req-123",
"method": "call_tool",
"params": {
"tool_name": "get_backlinks_profile",
"args": {
"projectId": "proj_ABC123",
"target": "example.com",
"scope": "domain",
"page": 1,
"pageSize": 100,
"sortField": "domain_from",
"sortOrder": "desc",
"filters": {},
"mode": "one_per_domain",
"hideSpam": true
}
}
}
The response contains both a formatted text table for immediate display and a structuredContent object containing the raw data array:
{
"jsonrpc": "2.0",
"id": "req-123",
"result": {
"text": "Backlinks profile for example.com (domain):\n- page: 1\n- rows returned: 100\n- total backlinks: 12,342\n...",
"structuredContent": {
"backlinks": {
"page": 1,
"pageSize": 100,
"rows": [/* array of backlink objects */],
"totalCount": 12342,
"hasMore": true
}
}
}
}
Summary
- The OpenSEO MCP server converts SEO data into standardized tool endpoints that Claude Code and other AI agents can invoke via JSON-RPC.
- Tool registration occurs in
src/server/mcp/server.tsthroughcreateOpenSeoMcpServer, which wraps each utility with authentication and validation. - Claude integration is configured in
src/server/features/ai-search/services/promptExplorer.ts, mapping the model to specific SEO tools. - Security is enforced through
MCP_SCOPEvalidation insrc/server/mcp/transport.ts, while credit tracking prevents unexpected usage costs. - Agents can perform keyword research, backlink analysis, SERP tracking, analytics review, and site audits without leaving the conversational context.
Frequently Asked Questions
What is an MCP server in the context of OpenSEO?
An MCP (Model Context Protocol) server is a standardized interface that exposes OpenSEO's back-end functionality as tools that large language models can call. According to the every-app/open-seo source code, it transforms SEO operations—like fetching backlink profiles or running site audits—into JSON-RPC endpoints that return both structured data and human-readable summaries.
How does Claude Code authenticate with the OpenSEO MCP server?
Authentication occurs through the withMcpProjectAuth middleware in src/server/mcp/transport.ts. Every request must include a valid MCP authentication token with the appropriate MCP_SCOPE, ensuring Claude can only access projects and data explicitly authorized by the user. The server also validates the project context before executing any SEO tools.
Can AI agents other than Claude use the OpenSEO MCP server?
Yes, the MCP implementation is model-agnostic. While src/server/features/ai-search/services/promptExplorer.ts includes specific mappings for Claude (Sonnet 4.5), ChatGPT, and Gemini, any MCP-compatible client can invoke the tool endpoints. The server returns standardized JSON schemas that work across different LLM architectures.
What are the billing implications when Claude uses OpenSEO tools?
The server tracks credit consumption for each tool invocation. For example, retrieving backlink profiles consumes approximately 30 credits per page of results. This usage data is recorded in src/server/mcp/instrumentation.ts, allowing agents to inform users of costs before executing large batch operations and preventing accidental budget overruns.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →