<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: AgentSEO-dev</title>
    <description>The latest articles on DEV Community by AgentSEO-dev (@agentseodev).</description>
    <link>https://dev.to/agentseodev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4038290%2F83084df5-eb23-41ca-8787-0ab95e10c6dd.png</url>
      <title>DEV Community: AgentSEO-dev</title>
      <link>https://dev.to/agentseodev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/agentseodev"/>
    <language>en</language>
    <item>
      <title>MCP vs REST APIs for SEO Agents: A Practical Decision Framework</title>
      <dc:creator>AgentSEO-dev</dc:creator>
      <pubDate>Tue, 18 Aug 2026 16:07:37 +0000</pubDate>
      <link>https://dev.to/agentseodev/mcp-vs-rest-apis-for-seo-agents-a-practical-decision-framework-1o13</link>
      <guid>https://dev.to/agentseodev/mcp-vs-rest-apis-for-seo-agents-a-practical-decision-framework-1o13</guid>
      <description>&lt;h1&gt;
  
  
  MCP vs REST APIs for SEO Agents: A Practical Decision Framework
&lt;/h1&gt;

&lt;p&gt;If you are building an SEO agent, do not start with the question: “Should this use MCP or REST?”&lt;/p&gt;

&lt;p&gt;That framing makes the decision sound like a protocol fight.&lt;/p&gt;

&lt;p&gt;It is not.&lt;/p&gt;

&lt;p&gt;REST and MCP usually belong in the same system. They serve different callers and different moments in a workflow.&lt;/p&gt;

&lt;p&gt;Use REST when your application already knows the operation it needs to run. Use MCP when an AI client needs to discover the available operations and choose among them while working.&lt;/p&gt;

&lt;p&gt;For SEO agents, that distinction is practical. A nightly rank-monitoring job is normally a REST job. A Claude Code session that needs to inspect a SERP, find a content gap, and decide what to do next is a good MCP job.&lt;/p&gt;

&lt;p&gt;This is the decision framework I use when exposing search intelligence to agents.&lt;/p&gt;

&lt;h2&gt;
  
  
  The short answer
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;If your system needs to…&lt;/th&gt;
&lt;th&gt;Start with&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Run a known job on a schedule&lt;/td&gt;
&lt;td&gt;REST&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Process a high-volume batch predictably&lt;/td&gt;
&lt;td&gt;REST&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Power a dashboard, web app, or internal backend&lt;/td&gt;
&lt;td&gt;REST&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Let Claude Code, Codex, or Cursor discover tools&lt;/td&gt;
&lt;td&gt;MCP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Let an agent choose the next SEO action from live context&lt;/td&gt;
&lt;td&gt;MCP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Make one capability work across multiple MCP clients&lt;/td&gt;
&lt;td&gt;MCP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Support both scripted automation and interactive agents&lt;/td&gt;
&lt;td&gt;Both&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The useful architecture is not “MCP instead of API.”&lt;/p&gt;

&lt;p&gt;It is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SEO data providers → REST API / job layer → MCP tools → AI clients
                                      └→ scheduled automation / product backend
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The API is the dependable execution layer. MCP is the agent-facing interface on top.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F117kanfodoev0pl2kozz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F117kanfodoev0pl2kozz.png" alt="A shared SEO data foundation feeding both scheduled automation and interactive AI-agent tools" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What changes when an agent is the caller
&lt;/h2&gt;

&lt;p&gt;A developer calling a REST API has already made most of the decisions.&lt;/p&gt;

&lt;p&gt;They know which endpoint to use, which parameters it accepts, what authentication is required, and what the response should look like. Their code can retry, paginate, and branch on an error explicitly.&lt;/p&gt;

&lt;p&gt;An AI agent starts somewhere else.&lt;/p&gt;

&lt;p&gt;It is often given a job such as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Find the highest-impact organic growth opportunity for this page.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That is not one API request. The right next action could be SERP analysis, a content-gap check, backlink research, local visibility analysis, or a page QA pass.&lt;/p&gt;

&lt;p&gt;MCP gives the client a structured way to ask what tools exist and then call one with typed inputs. The MCP specification defines &lt;code&gt;tools/list&lt;/code&gt; for tool discovery and uses JSON-RPC for messages. Its current standard transports are local &lt;code&gt;stdio&lt;/code&gt; and Streamable HTTP. &lt;a href="https://modelcontextprotocol.io/specification/draft/server/tools" rel="noopener noreferrer"&gt;MCP tools specification&lt;/a&gt; · &lt;a href="https://modelcontextprotocol.io/specification/2025-11-25/basic/transports" rel="noopener noreferrer"&gt;MCP transport specification&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That does not make REST less useful. It means the interface is optimized for a different caller.&lt;/p&gt;

&lt;h2&gt;
  
  
  A real SEO example: one goal, two interfaces
&lt;/h2&gt;

&lt;p&gt;Say you want to monitor a set of pages for content decay.&lt;/p&gt;

&lt;h3&gt;
  
  
  REST is better for the scheduled workflow
&lt;/h3&gt;

&lt;p&gt;Your system knows the pages, check frequency, target country, and alert threshold before the job begins.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Every Monday at 08:00:
  for each tracked page
    request the current SERP and ranking data
    compare against the saved baseline
    create an alert only if the threshold is crossed
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This needs predictable input, idempotency, job status, retries, and a clean audit trail. A REST API or asynchronous job endpoint is a natural fit.&lt;/p&gt;

&lt;p&gt;The model can still be involved later—perhaps to summarize an alert—but it does not need to choose the underlying operation at every step.&lt;/p&gt;

&lt;h3&gt;
  
  
  MCP is better for the investigative workflow
&lt;/h3&gt;

&lt;p&gt;Now imagine a growth operator in Claude Code sees the alert and asks:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Our /seo-api page lost clicks. Use live search data to find the likely cause,
identify the most defensible page update, and flag anything that needs human review.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The order of operations is not known in advance. The agent may need to inspect the SERP, compare competing page formats, check whether an AI Overview is present, review the target page, then create a content brief.&lt;/p&gt;

&lt;p&gt;That is where a focused tool catalog helps.&lt;/p&gt;

&lt;p&gt;With AgentSEO, those jobs are exposed through MCP tools for SERP analysis, content gaps, local audits, rank tracking, backlinks, page QA, and AI Overview checks. The client can discover the available tools rather than relying on a human to paste reports between products.&lt;/p&gt;

&lt;h2&gt;
  
  
  The four questions that make the choice clear
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Is the next operation known before the workflow runs?
&lt;/h3&gt;

&lt;p&gt;If yes, choose REST first.&lt;/p&gt;

&lt;p&gt;A known operation has a stable request shape:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Check keyword positions for these 200 URLs in the United States.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The program already knows the action, parameters, and success condition. An MCP layer adds little by itself.&lt;/p&gt;

&lt;p&gt;If no, MCP is a stronger candidate:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Investigate why this page stopped earning qualified organic traffic.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The agent needs to reason over the available tools before it can decide what to call.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Does a human need to use the same capability inside an AI client?
&lt;/h3&gt;

&lt;p&gt;If the capability must work interactively in Claude Code, Codex, Cursor, or another MCP client, MCP makes the integration reusable.&lt;/p&gt;

&lt;p&gt;Without it, each client tends to need a bespoke wrapper, prompt convention, or function definition. MCP does not remove authentication or product design work, but it does give clients a common discovery and invocation pattern.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Do you need high-volume, deterministic execution?
&lt;/h3&gt;

&lt;p&gt;Use REST for the hot path.&lt;/p&gt;

&lt;p&gt;Batch keyword collection, large crawls, scheduled refreshes, and usage-sensitive background jobs should remain explicit and observable. Give them ordinary API contracts, queueing, rate limits, retries, and cost controls.&lt;/p&gt;

&lt;p&gt;An agent can trigger one of those workflows, but it should not become the scheduler by accident.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Is the tool list small enough for an agent to choose well?
&lt;/h3&gt;

&lt;p&gt;This is the MCP question teams skip.&lt;/p&gt;

&lt;p&gt;More exposed tools are not automatically better. Every tool name, description, and input schema becomes part of the agent’s choice problem. A long, overlapping catalog makes the agent slower and less reliable.&lt;/p&gt;

&lt;p&gt;Before exposing an API operation as an MCP tool, ask:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Is this a complete user job, not merely an internal endpoint?&lt;/li&gt;
&lt;li&gt;Can I explain when to use it in one sentence?&lt;/li&gt;
&lt;li&gt;Does its input schema prevent common mistakes?&lt;/li&gt;
&lt;li&gt;Is it meaningfully different from the other tools?&lt;/li&gt;
&lt;li&gt;Would a user recognize its result as actionable?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If the answer is no, keep the operation behind the REST layer for now.&lt;/p&gt;

&lt;h2&gt;
  
  
  The trap: auto-generating an MCP tool for every endpoint
&lt;/h2&gt;

&lt;p&gt;It is tempting to put an OpenAPI file through a generator and call the result an agent integration.&lt;/p&gt;

&lt;p&gt;You may get a working server. You may also get a tool catalog full of low-level actions such as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;create-serp-task
get-serp-task
list-serp-task-results
normalize-serp-result
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Those operations can be right inside your backend. They are rarely the right mental model for an agent user.&lt;/p&gt;

&lt;p&gt;An agent-facing tool should name the job:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;analyze_serp
find_content_gap
audit_local_visibility
create_content_brief
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The difference is not cosmetic.&lt;/p&gt;

&lt;p&gt;The first list asks the model to understand your internal plumbing. The second list lets it select a meaningful piece of work.&lt;/p&gt;

&lt;h2&gt;
  
  
  A compact design pattern that works
&lt;/h2&gt;

&lt;p&gt;Start with a REST-backed service layer, then expose a smaller MCP surface for interactive workflows.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Provider APIs
  ↓
Normalization, caching, billing, async jobs, and audit logs
  ↓
REST endpoints for product and scheduled workflows
  ↓
MCP tools designed around user jobs
  ↓
Claude Code, Codex, Cursor, and other AI clients
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This gives you a few useful boundaries:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;One source of truth for data and billing.&lt;/strong&gt; Your MCP server should not become a second business backend.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One job model for expensive work.&lt;/strong&gt; Long-running crawls and bulk checks still need status, retries, and cancellation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A smaller agent contract.&lt;/strong&gt; You can improve tool descriptions and schemas without exposing every implementation detail.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A safe place for review.&lt;/strong&gt; The agent can research and recommend; a person or explicit policy gate can approve external changes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That last boundary matters. Search workflows can create side effects: publishing pages, modifying metadata, spending API credits, or changing tracking configurations. Make the action that changes the outside world explicit.&lt;/p&gt;

&lt;h2&gt;
  
  
  The operator checklist
&lt;/h2&gt;

&lt;p&gt;Use this before adding an MCP layer to an SEO API:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Keep your REST API as the stable execution contract.&lt;/li&gt;
&lt;li&gt;Pick three to five repeated, interactive jobs for the first MCP release.&lt;/li&gt;
&lt;li&gt;Give each tool a clear description, narrow inputs, and an actionable result.&lt;/li&gt;
&lt;li&gt;Test the server with a real prompt in the target client—not only an inspector.&lt;/li&gt;
&lt;li&gt;Add workflow identifiers and logging before usage grows.&lt;/li&gt;
&lt;li&gt;Put approval gates in front of publishing, spending, deletion, and permission changes.&lt;/li&gt;
&lt;li&gt;Review tool usage monthly and merge or retire overlapping tools.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For remote servers, follow the MCP transport security guidance: validate origins, use authentication, and avoid exposing a local server broadly by default. &lt;a href="https://modelcontextprotocol.io/specification/2025-11-25/basic/transports" rel="noopener noreferrer"&gt;MCP Streamable HTTP security guidance&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The decision is not MCP &lt;em&gt;or&lt;/em&gt; REST
&lt;/h2&gt;

&lt;p&gt;If you are building a product that agents use, REST remains your system contract.&lt;/p&gt;

&lt;p&gt;MCP is how you make the useful parts of that contract discoverable and usable when the caller is an AI client.&lt;/p&gt;

&lt;p&gt;For SEO work, that usually means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;REST for monitoring, batches, jobs, dashboards, and product backends.&lt;/li&gt;
&lt;li&gt;MCP for investigation, tool discovery, interactive research, and agent-assisted decisions.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Use both where they fit.&lt;/p&gt;

&lt;p&gt;That is how you avoid building a brittle agent wrapper—and avoid forcing every automation through a conversational interface.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try the workflow
&lt;/h2&gt;

&lt;p&gt;AgentSEO provides both an API layer and a hosted MCP server for Claude Code, Codex, Cursor, and other compatible clients. Start with one live workflow: inspect a SERP, find the content gap, and decide what to change before you write another page.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.agentseo.dev/seo-mcp-server" rel="noopener noreferrer"&gt;AgentSEO MCP server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.agentseo.dev/docs/quickstart" rel="noopener noreferrer"&gt;Quickstart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://registry.modelcontextprotocol.io/servers/dev.agentseo.www/agentseo-mcp" rel="noopener noreferrer"&gt;MCP Registry entry&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>mcp</category>
      <category>seo</category>
      <category>ai</category>
      <category>devtools</category>
    </item>
    <item>
      <title>How to Add an SEO MCP Server to Claude Code</title>
      <dc:creator>AgentSEO-dev</dc:creator>
      <pubDate>Sat, 25 Jul 2026 15:23:20 +0000</pubDate>
      <link>https://dev.to/agentseodev/how-to-add-an-seo-mcp-server-to-claude-code-45nh</link>
      <guid>https://dev.to/agentseodev/how-to-add-an-seo-mcp-server-to-claude-code-45nh</guid>
      <description>&lt;h1&gt;
  
  
  How to add an SEO MCP server to Claude Code
&lt;/h1&gt;

&lt;p&gt;Claude Code can already edit files, run commands, and reason through a codebase.&lt;/p&gt;

&lt;p&gt;The gap shows up when the work depends on a live external system.&lt;/p&gt;

&lt;p&gt;SEO is a good example. If you ask Claude Code to improve a landing page, it can inspect the page and suggest better copy. But it cannot know the current SERP, the competing page formats, the AI Overview behavior, or the backlink context unless you paste that data in.&lt;/p&gt;

&lt;p&gt;That is exactly the job MCP is built for.&lt;/p&gt;

&lt;p&gt;Claude Code’s MCP docs describe MCP servers as a way to connect Claude Code to external tools, databases, and APIs so Claude can read and act on those systems directly instead of working from copied data.&lt;/p&gt;

&lt;p&gt;In this guide, we will add an SEO MCP server to Claude Code and run the first useful prompts.&lt;/p&gt;

&lt;p&gt;I will use AgentSEO as the example server because it exposes a hosted Streamable HTTP MCP endpoint and a local npm package. The setup pattern is the important part.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you get from an SEO MCP server
&lt;/h2&gt;

&lt;p&gt;An SEO MCP server gives Claude Code tool access to live search workflows.&lt;/p&gt;

&lt;p&gt;Instead of asking:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Here is a SERP export. Can you summarize it?
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;you can ask:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Use the SEO MCP server to analyze the SERP for "best seo api" in the United States.
Then identify the search intent and draft a content brief for a comparison page.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The difference is small in wording and large in workflow.&lt;/p&gt;

&lt;p&gt;The first prompt makes you the data pipeline.&lt;/p&gt;

&lt;p&gt;The second prompt lets Claude Code call the tool directly.&lt;/p&gt;

&lt;p&gt;For AgentSEO, the live server card currently lists 45 MCP tools, including SERP analysis, keyword ideas, content briefs, local SEO checks, backlink analysis, rank tracking, and AI Overview extraction.&lt;/p&gt;

&lt;p&gt;You can verify that yourself:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl https://www.agentseo.dev/.well-known/mcp/server-card.json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The hosted endpoint is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://www.agentseo.dev/mcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Before you start
&lt;/h2&gt;

&lt;p&gt;You need three things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Claude Code installed.&lt;/li&gt;
&lt;li&gt;An AgentSEO API key.&lt;/li&gt;
&lt;li&gt;A project where you want the MCP server available.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Use a server-side API key. Do not use a browser-restricted key for local agent tooling.&lt;/p&gt;

&lt;h2&gt;
  
  
  Option 1: add the hosted SEO MCP server
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fufor3byvw1i1gt3cr4qm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fufor3byvw1i1gt3cr4qm.png" alt=" " width="799" height="434"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Claude Code supports remote HTTP MCP servers with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude mcp add &lt;span class="nt"&gt;--transport&lt;/span&gt; http &amp;lt;name&amp;gt; &amp;lt;url&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For AgentSEO:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude mcp add &lt;span class="nt"&gt;--transport&lt;/span&gt; http agentseo https://www.agentseo.dev/mcp &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--header&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer sk_live_your_key"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--header&lt;/span&gt; &lt;span class="s2"&gt;"x-project-id: client-alpha"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--header&lt;/span&gt; &lt;span class="s2"&gt;"x-workflow-id: seo-mcp-test"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Replace &lt;code&gt;sk_live_your_key&lt;/code&gt; with your AgentSEO API key.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;x-project-id&lt;/code&gt; and &lt;code&gt;x-workflow-id&lt;/code&gt; headers are optional, but I like adding them early. Once an agent workflow starts making real API calls, traceability matters.&lt;/p&gt;

&lt;h2&gt;
  
  
  Option 2: add the local npm MCP server
&lt;/h2&gt;

&lt;p&gt;If you prefer a local stdio server, use the npm package:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"agentseo"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"npx"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"-y"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"@agentseo/mcp-server"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"env"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"AGENTSEO_API_KEY"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"sk_live_your_key"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"AGENTSEO_API_URL"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://www.agentseo.dev/api/v1"&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is useful when your MCP client expects a local subprocess instead of a hosted HTTP endpoint.&lt;/p&gt;

&lt;p&gt;For Claude Code, I would start with the hosted HTTP version unless you have a reason to keep everything local.&lt;/p&gt;

&lt;h2&gt;
  
  
  Verify the server in Claude Code
&lt;/h2&gt;

&lt;p&gt;After adding the server, open Claude Code and run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/mcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Claude Code’s &lt;code&gt;/mcp&lt;/code&gt; panel lets you inspect connected MCP servers. It should show the server and its tools.&lt;/p&gt;

&lt;p&gt;If the server does not appear:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;restart Claude Code&lt;/li&gt;
&lt;li&gt;check the API key header&lt;/li&gt;
&lt;li&gt;confirm the endpoint URL is exactly &lt;code&gt;https://www.agentseo.dev/mcp&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;run &lt;code&gt;claude mcp list&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;run &lt;code&gt;claude mcp get agentseo&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The setup is not done until Claude Code can see the tools.&lt;/p&gt;

&lt;h2&gt;
  
  
  First prompt: analyze a live SERP
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fttc2fc9jtlalzhcs4tbh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fttc2fc9jtlalzhcs4tbh.png" alt=" " width="799" height="434"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Start with one bounded workflow.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Use AgentSEO to analyze the SERP for "best seo api" in the United States.

Return:
1. the dominant search intent
2. the common page formats
3. the SERP features that matter
4. what kind of page I should build
5. three risks before publishing
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is better than asking for “SEO advice.” The prompt names the keyword, location, output shape, and decision you need.&lt;/p&gt;

&lt;h2&gt;
  
  
  Second prompt: create a content brief
&lt;/h2&gt;

&lt;p&gt;Once the SERP analysis works, ask for something closer to production.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Use AgentSEO to create a content brief for the keyword "seo api for ai agents".

Audience: developers building agent workflows.
Page type: educational comparison page.
Goal: explain when an SEO API should be exposed as MCP tools.

Include:
- search intent
- suggested H2 structure
- entities and subtopics to cover
- internal link ideas
- title and meta options
- what not to claim
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The phrase “what not to claim” is important. Agent-generated SEO content gets risky when it turns every tool output into marketing confidence.&lt;/p&gt;

&lt;p&gt;Ask Claude Code to preserve the review step.&lt;/p&gt;

&lt;h2&gt;
  
  
  Third prompt: check AI Overview visibility
&lt;/h2&gt;

&lt;p&gt;If your SEO work touches AI search, use a narrower prompt:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Use AgentSEO to check AI Overview visibility for "best seo api".

Tell me:
1. whether an AI Overview appears
2. what source patterns show up
3. whether AgentSEO or competing pages are citation candidates
4. what page changes would improve citation likelihood
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Treat this as directional research, not a magic ranking button.&lt;/p&gt;

&lt;p&gt;AI Overview behavior changes. The point is to create a repeatable check, not a one-time screenshot.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common setup mistakes
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fr0vp4v08qkij4zpiia46.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fr0vp4v08qkij4zpiia46.png" alt=" " width="799" height="434"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The annoying MCP failures are usually small.&lt;/p&gt;

&lt;h3&gt;
  
  
  Wrong header format
&lt;/h3&gt;

&lt;p&gt;Use:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nt"&gt;--header&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer sk_live_your_key"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Do not paste the header as JSON into the CLI command.&lt;/p&gt;

&lt;h3&gt;
  
  
  Wrong transport
&lt;/h3&gt;

&lt;p&gt;For the hosted AgentSEO endpoint, use:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nt"&gt;--transport&lt;/span&gt; http
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The MCP spec calls the current HTTP transport Streamable HTTP. Claude Code accepts &lt;code&gt;http&lt;/code&gt; in the CLI and also recognizes &lt;code&gt;streamable-http&lt;/code&gt; in JSON configuration.&lt;/p&gt;

&lt;h3&gt;
  
  
  No restart after configuration
&lt;/h3&gt;

&lt;p&gt;If Claude Code was already open, restart it or check &lt;code&gt;/mcp&lt;/code&gt; again after adding the server.&lt;/p&gt;

&lt;h3&gt;
  
  
  Prompt is too vague
&lt;/h3&gt;

&lt;p&gt;This is a bad first prompt:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Improve my SEO.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is a better first prompt:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Use AgentSEO to analyze the SERP for "best seo api" in the United States and tell me what page type I should build.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;MCP gives Claude Code tools. You still need to give it a job.&lt;/p&gt;

&lt;h2&gt;
  
  
  When not to use an SEO MCP server
&lt;/h2&gt;

&lt;p&gt;Do not use an SEO MCP server for every writing task.&lt;/p&gt;

&lt;p&gt;You probably do not need live SEO tools when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;you are editing brand voice&lt;/li&gt;
&lt;li&gt;you are cleaning grammar&lt;/li&gt;
&lt;li&gt;you are writing internal docs&lt;/li&gt;
&lt;li&gt;you already have the source data in the repo&lt;/li&gt;
&lt;li&gt;the page is not search-led&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Use the server when the decision depends on current search context.&lt;/p&gt;

&lt;p&gt;That includes SERP intent, competitor page shape, keyword opportunities, AI Overview visibility, rank tracking, local visibility, or backlink signals.&lt;/p&gt;

&lt;h2&gt;
  
  
  The operator checklist
&lt;/h2&gt;

&lt;p&gt;Before you call the setup done:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add the MCP server.&lt;/li&gt;
&lt;li&gt;Confirm it appears in &lt;code&gt;/mcp&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Run one live SERP prompt.&lt;/li&gt;
&lt;li&gt;Run one production-shaped content brief prompt.&lt;/li&gt;
&lt;li&gt;Save the working prompt in your repo or team docs.&lt;/li&gt;
&lt;li&gt;Add project/workflow metadata if multiple people will use it.&lt;/li&gt;
&lt;li&gt;Decide who reviews the SEO recommendation before it ships.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The last step matters.&lt;/p&gt;

&lt;p&gt;An SEO MCP server gives Claude Code fresher context. It does not remove judgment.&lt;/p&gt;

&lt;p&gt;The best workflow is not “agent writes, human publishes.”&lt;/p&gt;

&lt;p&gt;The better workflow is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;agent gathers live SEO context
agent drafts the recommendation
human checks the tradeoffs
agent helps implement the approved changes
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That is where MCP starts to feel useful.&lt;/p&gt;

&lt;p&gt;Not as another dashboard.&lt;/p&gt;

&lt;p&gt;As a tool layer inside the place where the work is already happening.&lt;/p&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Claude Code MCP docs: &lt;a href="https://code.claude.com/docs/en/mcp" rel="noopener noreferrer"&gt;https://code.claude.com/docs/en/mcp&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;MCP transport spec: &lt;a href="https://modelcontextprotocol.io/specification/2025-06-18/basic/transports" rel="noopener noreferrer"&gt;https://modelcontextprotocol.io/specification/2025-06-18/basic/transports&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;AgentSEO Claude Code integration: &lt;a href="https://www.agentseo.dev/integrations/claude-code" rel="noopener noreferrer"&gt;https://www.agentseo.dev/integrations/claude-code&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;AgentSEO MCP landing page: &lt;a href="https://www.agentseo.dev/seo-mcp-server" rel="noopener noreferrer"&gt;https://www.agentseo.dev/seo-mcp-server&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;AgentSEO npm package: &lt;a href="https://www.npmjs.com/package/@agentseo/mcp-server" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/@agentseo/mcp-server&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>mcp</category>
      <category>seo</category>
      <category>ai</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Building an SEO MCP server for Claude Code and Codex</title>
      <dc:creator>AgentSEO-dev</dc:creator>
      <pubDate>Mon, 20 Jul 2026 16:18:18 +0000</pubDate>
      <link>https://dev.to/agentseodev/building-an-seo-mcp-server-for-claude-code-and-codex-ghj</link>
      <guid>https://dev.to/agentseodev/building-an-seo-mcp-server-for-claude-code-and-codex-ghj</guid>
      <description>&lt;h1&gt;
  
  
  Building an SEO MCP server for Claude Code and Codex
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftvmxcs4x1h75z8b2lo0d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftvmxcs4x1h75z8b2lo0d.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Most SEO APIs were built for dashboards.&lt;/p&gt;

&lt;p&gt;That is not a criticism. Dashboards are useful. A marketer opens a report, checks rankings, reviews keywords, exports a CSV, and decides what to do next.&lt;/p&gt;

&lt;p&gt;But that is not how work feels inside Claude Code, Codex, Cursor, or a custom AI agent.&lt;/p&gt;

&lt;p&gt;Inside an agent workflow, the shape is different. You do not want to stop, open a separate SEO tool, copy data into the chat, ask the model to reason over it, then move back to your editor.&lt;/p&gt;

&lt;p&gt;You want the agent to ask for live search data directly.&lt;/p&gt;

&lt;p&gt;That is why we shipped AgentSEO as an MCP server.&lt;/p&gt;

&lt;p&gt;This post is a practical breakdown of what changed, how the server is installed, and why I think SEO APIs are going to move from dashboard-first products to agent-native workflow tools.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1raxczihu9yngz4bdchx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1raxczihu9yngz4bdchx.png" alt=" " width="799" height="434"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The buyer problem is not only data access
&lt;/h2&gt;

&lt;p&gt;SEO teams already have data.&lt;/p&gt;

&lt;p&gt;They have rank trackers, backlink tools, keyword databases, crawl reports, and a growing pile of AI visibility screenshots. The problem is that the data often stops one step before the work.&lt;/p&gt;

&lt;p&gt;A typical SEO API gives you a payload.&lt;/p&gt;

&lt;p&gt;Then your team still has to answer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Which result matters?&lt;/li&gt;
&lt;li&gt;Which page should we update first?&lt;/li&gt;
&lt;li&gt;What is the intent behind this SERP?&lt;/li&gt;
&lt;li&gt;What should the writer or developer actually change?&lt;/li&gt;
&lt;li&gt;Is this useful for an agent, or does it need another parser layer?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That last question is the one more API teams should ask.&lt;/p&gt;

&lt;p&gt;If the output still needs a parser layer, a polling layer, and a summarization layer before an agent can act, the API is not finished for agent workflows.&lt;/p&gt;

&lt;h2&gt;
  
  
  What an SEO MCP server should do
&lt;/h2&gt;

&lt;p&gt;MCP gives clients a standard way to discover and call tools. The official MCP registry describes itself as a list of MCP servers for clients, like an app store for MCP servers.&lt;/p&gt;

&lt;p&gt;That matters because the install surface is moving closer to the place where developers already work.&lt;/p&gt;

&lt;p&gt;For SEO, I do not think the best MCP server is just a thin wrapper around raw endpoints. That is a start, but it misses the point.&lt;/p&gt;

&lt;p&gt;A useful SEO MCP server should expose workflow-shaped tools.&lt;/p&gt;

&lt;p&gt;Instead of only returning raw SERP data, it should help an agent do jobs like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;analyze SERP intent&lt;/li&gt;
&lt;li&gt;find content gaps&lt;/li&gt;
&lt;li&gt;draft a content brief&lt;/li&gt;
&lt;li&gt;check local visibility&lt;/li&gt;
&lt;li&gt;review title and meta opportunities&lt;/li&gt;
&lt;li&gt;inspect AI Overview presence&lt;/li&gt;
&lt;li&gt;identify backlink opportunities&lt;/li&gt;
&lt;li&gt;QA a draft before publishing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The agent should be able to move from question to action without making the user become the integration layer.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we built into AgentSEO
&lt;/h2&gt;

&lt;p&gt;AgentSEO now exposes 45 MCP tools for live SEO workflows.&lt;/p&gt;

&lt;p&gt;The tools cover:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SERP analysis&lt;/li&gt;
&lt;li&gt;keyword research&lt;/li&gt;
&lt;li&gt;content briefs&lt;/li&gt;
&lt;li&gt;content refresh briefs&lt;/li&gt;
&lt;li&gt;backlink analysis&lt;/li&gt;
&lt;li&gt;rank tracking&lt;/li&gt;
&lt;li&gt;local SEO checks&lt;/li&gt;
&lt;li&gt;sitemap and technical QA&lt;/li&gt;
&lt;li&gt;AI Overview extraction&lt;/li&gt;
&lt;li&gt;AI search visibility monitoring&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The important part is not the number. A big tool count can become noise fast.&lt;/p&gt;

&lt;p&gt;The important part is that the tools map to repeatable SEO jobs. A developer, growth engineer, or technical SEO should be able to give the agent a real task and get back something useful enough to act on.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Use AgentSEO to analyze the SERP for "best seo api" in the United States.
Identify the dominant intent, list the strongest competing angles,
and create a content brief for a comparison page.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That is different from:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Fetch the SERP payload and make me figure out the rest.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The second version is data access. The first version is closer to workflow infrastructure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install path: hosted MCP
&lt;/h2&gt;

&lt;p&gt;For clients that support remote MCP servers, AgentSEO can run over hosted Streamable HTTP.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude mcp add &lt;span class="nt"&gt;--transport&lt;/span&gt; http agentseo https://www.agentseo.dev/mcp &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--header&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer sk_live_your_key"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--header&lt;/span&gt; &lt;span class="s2"&gt;"x-project-id: client-alpha"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--header&lt;/span&gt; &lt;span class="s2"&gt;"x-workflow-id: nightly-refresh"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The extra headers are optional workflow metadata. I like keeping them in the example because production agent workflows need traceability. When an agent calls a paid or rate-limited API, you eventually want to know which project and workflow made the call.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install path: local stdio MCP
&lt;/h2&gt;

&lt;p&gt;For local MCP clients, the npm package works through stdio.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"agentseo"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"npx"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"-y"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"@agentseo/mcp-server"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"env"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"AGENTSEO_API_KEY"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"sk_live_your_key"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"AGENTSEO_API_URL"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://www.agentseo.dev/api/v1"&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That gives teams a clean local path without forcing every client through the hosted endpoint.&lt;/p&gt;

&lt;h2&gt;
  
  
  The GTM lesson: MCP directories are becoming agent app stores
&lt;/h2&gt;

&lt;p&gt;The product work was only half the launch.&lt;/p&gt;

&lt;p&gt;The other half was distribution.&lt;/p&gt;

&lt;p&gt;If you ship an MCP server and only mention it in your docs, you are making discovery too hard. Developers are already browsing MCP directories to find tools their agents can use.&lt;/p&gt;

&lt;p&gt;For AgentSEO, we published or submitted to:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Surface&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Official MCP Registry&lt;/td&gt;
&lt;td&gt;Live as &lt;code&gt;dev.agentseo.www/agentseo-mcp&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;npm&lt;/td&gt;
&lt;td&gt;Live as &lt;code&gt;@agentseo/mcp-server&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Smithery&lt;/td&gt;
&lt;td&gt;Live, 45 tools detected&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Glama&lt;/td&gt;
&lt;td&gt;Hosted connector live, 45 tools verified&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;mcp.so&lt;/td&gt;
&lt;td&gt;Submitted&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;awesome-mcp-servers&lt;/td&gt;
&lt;td&gt;PR submitted&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PulseMCP&lt;/td&gt;
&lt;td&gt;Waiting on official registry sync&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MCP Market&lt;/td&gt;
&lt;td&gt;Submitted&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MCP Server Spot&lt;/td&gt;
&lt;td&gt;Submitted&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This is the new shelf space.&lt;/p&gt;

&lt;p&gt;Not all of it will convert. Some directories will send little traffic. Some will take weeks to index. Some will matter mostly as trust signals.&lt;/p&gt;

&lt;p&gt;But the intent is unusually clean.&lt;/p&gt;

&lt;p&gt;Someone browsing an MCP directory is not vaguely interested in AI. They are looking for a tool their agent can install.&lt;/p&gt;

&lt;p&gt;That is a better starting point than most launch traffic.&lt;/p&gt;

&lt;h2&gt;
  
  
  The product lesson: expose jobs, not endpoints
&lt;/h2&gt;

&lt;p&gt;This is the part I would underline for any API company.&lt;/p&gt;

&lt;p&gt;Do not start by asking, "How do we expose every endpoint through MCP?"&lt;/p&gt;

&lt;p&gt;Start with a smaller question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What are the 5 jobs an agent should be able to complete without leaving the workflow?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;For an SEO API, those jobs might be:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Analyze a live SERP.&lt;/li&gt;
&lt;li&gt;Find keyword or content gaps.&lt;/li&gt;
&lt;li&gt;Create an implementation-ready brief.&lt;/li&gt;
&lt;li&gt;QA a draft before publishing.&lt;/li&gt;
&lt;li&gt;Track whether visibility moved.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That is enough for a useful first version.&lt;/p&gt;

&lt;p&gt;The raw endpoint map can come later. If you start with the endpoint map, you risk shipping a server that is technically complete and practically annoying.&lt;/p&gt;

&lt;h2&gt;
  
  
  A simple checklist for API teams
&lt;/h2&gt;

&lt;p&gt;If you are thinking about turning your API into an MCP server, I would start here:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pick one user: developer, agency operator, growth engineer, analyst.&lt;/li&gt;
&lt;li&gt;Pick one repeatable workflow.&lt;/li&gt;
&lt;li&gt;Expose the few tools needed to complete that workflow.&lt;/li&gt;
&lt;li&gt;Make the install command copy-pasteable.&lt;/li&gt;
&lt;li&gt;Publish to the official MCP registry.&lt;/li&gt;
&lt;li&gt;Add one directory listing where your buyers already browse.&lt;/li&gt;
&lt;li&gt;Test with a real prompt, not only a protocol inspector.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The inspector can tell you the server works.&lt;/p&gt;

&lt;p&gt;A real prompt tells you whether the product works.&lt;/p&gt;

&lt;h2&gt;
  
  
  The larger shift
&lt;/h2&gt;

&lt;p&gt;APIs used to feed dashboards.&lt;/p&gt;

&lt;p&gt;Now they can feed agents.&lt;/p&gt;

&lt;p&gt;That does not make dashboards obsolete. It does mean API products need a second interface: one designed for software agents that can plan, call tools, inspect results, and continue the workflow.&lt;/p&gt;

&lt;p&gt;For AgentSEO, MCP is that interface.&lt;/p&gt;

&lt;p&gt;The bet is simple: if AI agents are where more technical SEO and growth work happens, then SEO infrastructure should be available inside those agents.&lt;/p&gt;

&lt;p&gt;Not as a pasted export.&lt;/p&gt;

&lt;p&gt;As a tool the agent can actually use.&lt;/p&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;AgentSEO MCP landing page: &lt;a href="https://www.agentseo.dev/seo-mcp-server" rel="noopener noreferrer"&gt;https://www.agentseo.dev/seo-mcp-server&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;AgentSEO quickstart: &lt;a href="https://www.agentseo.dev/docs/quickstart" rel="noopener noreferrer"&gt;https://www.agentseo.dev/docs/quickstart&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;npm package: &lt;a href="https://www.npmjs.com/package/@agentseo/mcp-server" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/@agentseo/mcp-server&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Official MCP registry docs: &lt;a href="https://github.com/modelcontextprotocol/registry/tree/main/docs" rel="noopener noreferrer"&gt;https://github.com/modelcontextprotocol/registry/tree/main/docs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Glama connector: &lt;a href="https://glama.ai/mcp/connectors/dev.agentseo.www/agentseo-mcp" rel="noopener noreferrer"&gt;https://glama.ai/mcp/connectors/dev.agentseo.www/agentseo-mcp&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Smithery listing: &lt;a href="https://smithery.ai/servers/agentseo/agentseo-mcp" rel="noopener noreferrer"&gt;https://smithery.ai/servers/agentseo/agentseo-mcp&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>mcp</category>
      <category>seo</category>
      <category>ai</category>
      <category>devtools</category>
    </item>
  </channel>
</rss>
