SSEO MCP

SEO MCP Security and Permissions

Learn how SEO MCP limits access with OAuth, scoped tokens, project authorization, rate limits, bounded filters, and explicit confirmation.

SEO MCP is designed around least-privilege access and explicit user intent. A successful connection does not give an AI agent unrestricted control of a Screpy account.

Security model

LayerProtection
ConnectionHTTPS remote MCP endpoint
AuthorizationOAuth authorization code with PKCE
Token scopemcp:use
AccountAuthenticated member context
ProjectOwnership or shared-access check on every call
Data queriesTyped, allowlisted fields and operators
Result sizeBounded pagination
MutationsExplicit request and confirmation rules
Abuse controlEndpoint and operation rate limits

Member isolation

The server manages only the authenticated member’s account and accessible projects. A project may be owned or shared, but access is resolved at call time. A previously valid UID does not bypass a later permission change.

Identifier safety

Agents must:

  1. Call list_projects.
  2. Use a returned project UID.
  3. Call list_crawls for crawl work.
  4. Use a returned crawl UID.

This prevents guessed IDs and reduces confusion between public identifiers, internal database IDs, and external run IDs.

Query safety

Page, link, and image tools accept a bounded set of typed filter fields and operators. They do not expose unrestricted database queries. Cursor pagination and maximum result sizes keep calls controlled.

State-changing actions

Creating or deleting a project, updating settings, and starting a crawl can change account state or usage. The server instructs agents not to perform these actions without an explicit user request.

Where a tool uses confirm=true, the user must confirm:

  • The exact tool action.
  • The exact target.
  • The expected effect.
  • Any relevant settings or scope.
Default to read-only analysis.
Before any action that changes account state, show the exact target,
current value, proposed change, expected effect, and risk.
Wait for my explicit confirmation of that action.

Reporting a security issue

Do not include access tokens, credentials, private project data, or sensitive URLs in public reports. If you suspect unauthorized access, revoke the client authorization and contact Screpy through its official support channel.

Related documentation

On this page