That SEO Agent
자신의 사이트에 대해 AI에게 브리핑하는 것을 중단하세요.
문서
ONE WAY IN, AND IT IS ON YOUR MACHINE.
The server runs on your machine and listens on a loopback address, so connecting a client is one command with no key to paste and no account to approve. Clone it, start it, and point Claude Code or Cursor at it.
git clone --depth 1 https://github.com/thatseoagent/mcp.git
Node 24 or newer · pnpm · nothing to sign up for
Looking for the plugin, the claude.ai connector or an API key? Those reached a hosted server that no longer exists. What is below replaces all of them.
Three commands, start to connected
Clone, build, connect. The server listens on your loopback address, so the client points at your own machine and not at us. There is no key to paste and no grant to approve.
- 01 · Clone it
git clone --depth 1 https://github.com/thatseoagent/mcp.gitCopy A shallow clone: you want the tools, not the history. Everything the server needs lives in the repository. - 02 · Build and start it
pnpm install && pnpm build && pnpm startCopy It listens on http://127.0.0.1:3737/mcp, and if that port is taken it refuses to start instead of quietly moving elsewhere and leaving your client pointed at nothing. - 03 · Point a client at it
claude mcp add --transport http thatseoagent http://127.0.0.1:3737/mcpCopy Claude Code shown. Any client that speaks HTTP MCP works identically, because the address is all it needs.
For a client that takes JSON instead of a command: Cursor, and anything else that accepts an MCP URL
{
"mcpServers": {
"thatseoagent": {
"type": "http",
"url": "http://127.0.0.1:3737/mcp"
}
}
}
The same single address, in the other notation. There is no Authorization header, because there is nothing between your client and your own machine. The type field also accepts streamable-http as an alias for http if your client insists on it.
Which clients can reach it
A loopback address is only reachable from your own machine. That one fact decides the whole table: a client that connects from its vendor's cloud cannot see your server, however well it speaks MCP.
- Claude Code claude mcp add --transport http The documented syntax takes any URL, including a loopback one.
- Cursor url in mcp.json Point it at http://127.0.0.1:3737/mcp the same way you would a remote server.
- Claude Desktop stdio only Its local mechanism spawns a child process from claude_desktop_config.json — command and args, with no field for a local HTTP address. Its connectors are fetched from Anthropic's cloud.
- claude.ai, Cowork, mobile cloud-side connector Anthropic's help centre is explicit: a custom connector is reached from their cloud infrastructure rather than from your device, and local MCP servers are not available in Cowork or claude.ai at all.
- ChatGPT public HTTPS required A connector URL has to be remotely reachable; a localhost address is refused as unsafe.
Anything not listed follows the same rule: if the client opens the connection from your machine, it works; if it opens the connection from someone's server, it cannot.
Create a Desktop-app client
In Google Cloud Console, under APIs & Services, then Credentials. Desktop app is the type that permits the loopback redirect this login uses. Enable the Search Console API and the Google Analytics Data API on the same project.
Put the two values in.env
GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET, in a.env file at the root of the server. The file is gitignored, is read once at startup, and a variable already set in your shell wins over it.
Log in once
The command prints the two scopes it asks for and what stops working without each, opens your browser, receives the redirect on an ephemeral loopback port and stops listening. Both scopes are read-only. Re-run it to switch accounts.
pnpm login
What never leaves your machine
Running the server yourself moves the sensitive parts onto your own disk. That is what changes here, more than the licence.
Your Google tokens
Stored in a local SQLite database under the server's own directory, gitignored. Nothing is transmitted to us, because there is no us in the request path any more.
Your audit history
Site records, audit runs, metric readings and a cache of results, in the same local file. It is created and migrated on first use, and it is optional: switch it off and every credential-free tool still works.
The listening socket
It binds 127.0.0.1 and refuses cross-origin requests, so a web page cannot reach it. There is no authentication either. On your own laptop that is the right trade; on a machine other people can log into, it is not.
The setup guide lives with the code
The repository ships a setup document that takes a clean machine to a working server and a full report, including the Google Cloud steps, and maps every common failure message to its fix. It is written in three stages and says so: the first one needs no accounts and no keys, and you can stop after it. It is maintained next to the thing it describes, which is why this page links it rather than copying it.