OAUTH 2.1
SEO AUDITS
OpenSEO MCP gives your agent SEO audits, rank tracking, keyword and SERP research, local business data, and Google Analytics and Search Console reports per project.
For more tools, view docs.
import { ScalekitClient } from "@scalekit-sdk/node";
import { createReactAgent } from "@langchain/langgraph/prebuilt";
const sk = new ScalekitClient(env.SCALEKIT_ENV_URL, env.SCALEKIT_CLIENT_ID, env.SCALEKIT_CLIENT_SECRET);
// OpenSEO MCP tools scoped to this user
const { tools } = await sk.tools.listScopedTools("user_123", {
filter: { connectionNames: ["openseomcp"], toolNames: [
"openseomcp_run_site_audit",
"openseomcp_get_audit_issues",
"openseomcp_get_search_opportunities"] },
pageSize: 100,
});
const agent = createReactAgent({ llm, tools });
await agent.invoke({ messages: [{ role: "user", content: "Show the top issues from my latest site audit" }] });import OpenAI from "openai";
import { ScalekitClient } from "@scalekit-sdk/node";
const sk = new ScalekitClient(env.SCALEKIT_ENV_URL, env.SCALEKIT_CLIENT_ID, env.SCALEKIT_CLIENT_SECRET);
const openai = new OpenAI();
const { tools } = await sk.tools.listScopedTools("user_123", {
filter: { connectionNames: ["openseomcp"] }, pageSize: 100,
});
const res = await openai.chat.completions.create({
model: "gpt-5",
messages: [{ role: "user", content: "Show the top issues from my latest site audit" }],
tools,
});
// Execute the tool call with the user's vaulted OpenSEO token
await sk.tools.executeTool(res.choices[0].message.tool_calls[0], "user_123");import Anthropic from "@anthropic-ai/sdk";
import { ScalekitClient } from "@scalekit-sdk/node";
const sk = new ScalekitClient(env.SCALEKIT_ENV_URL, env.SCALEKIT_CLIENT_ID, env.SCALEKIT_CLIENT_SECRET);
const anthropic = new Anthropic();
const { tools } = await sk.tools.listScopedTools("user_123", {
filter: { connectionNames: ["openseomcp"] }, pageSize: 100,
});
const msg = await anthropic.messages.create({
model: "claude-sonnet-5",
max_tokens: 1024,
messages: [{ role: "user", content: "Show the top issues from my latest site audit" }],
tools,
});
// Tool call runs with the user's vaulted OpenSEO token
await sk.tools.executeTool(msg.content, "user_123");import { Agent } from "@google/adk/agents";
import { ScalekitClient } from "@scalekit-sdk/node";
const sk = new ScalekitClient(env.SCALEKIT_ENV_URL, env.SCALEKIT_CLIENT_ID, env.SCALEKIT_CLIENT_SECRET);
const { tools } = await sk.tools.listScopedTools("user_123", {
filter: { connectionNames: ["openseomcp"] }, pageSize: 100,
});
const agent = new Agent({
name: "seo_agent",
model: "gemini-2.5-pro",
instruction: "OpenSEO MCP tools scoped to this user",
tools,
});
await agent.run("Show the top issues from my latest site audit");// shared token
audit → bot_service_account
// scalekit
audit → user_abc ✓