Connect an AI tool with MCP

Seean’s MCP adapter runs locally over stdio and uses a scoped API key. It supports traffic reads and optional revenue or website management according to the permissions you select. Imports, billing and raw visitor export are not exposed.

Before you connect

You need Node.js 22 or later, npm/npx, and a client that can launch a local stdio MCP server. A client that only accepts remote HTTPS MCP URLs cannot use this adapter. The analytics API endpoint is not a remote MCP URL.

Create a website key in Settings → API access, or a workspace key in Account → Agent access. Keep the default read permissions unless your workflow needs more. Keep the key in the client’s server environment or protected local configuration, never in a chat message, tool argument, public repository or website code. The client’s AI service may receive the traffic summaries you request; consider that service’s data handling before connecting.

Configure the server

Add a local MCP server using this command and arguments. This example uses the common mcpServers JSON shape; follow your client’s configuration instructions if its format differs.

{
  "mcpServers": {
    "seean": {
      "command": "npx",
      "args": [
        "--yes",
        "--ignore-scripts",
        "--package=https://assets.seean.io/mcp/seean-mcp-0.2.0.tgz",
        "seean-mcp"
      ],
      "env": {
        "SEEAN_ANALYTICS_KEY": "YOUR_SCOPED_ANALYTICS_KEY"
      }
    }
  }
}

Replace the placeholder locally. On Windows, your client may need npx.cmd; if it cannot find Node or npx, configure the executable’s absolute path. Restart or reconnect the server after saving. The first run downloads the versioned package and its dependencies; subsequent launches can use npm’s cache. The package includes a dependency lock with integrity hashes, and --ignore-scripts disables dependency installation hooks. Keep that flag in the command. This package is distributed from Seean’s asset domain, not claimed as an npm-registry listing.

The default API endpoint is https://events.seean.io/api/v1/analytics. You may set SEEAN_ANALYTICS_ENDPOINT to the exact endpoint displayed in Settings. Credentials are accepted only for Seean’s official API origins or a loopback HTTP development endpoint, and redirects are not followed.

Verify access

Ask the client to call list_sites. It should show only websites you own within the key’s scope. Then request a traffic overview for the last seven days. The tool result includes the site, selected period and calculation time; your client decides how to present it.

Available tools:

Tool What it reads
list_sites Authorized owned websites.
get_overview Traffic KPIs, time series and traffic breakdowns; its Events breakdown contains custom events only.
get_top_pages Top, entry, exit and marked 404 paths.
get_sources Referrers, channels, AI sources and hostnames.
get_realtime Two-minute online count and thirty-minute traffic summaries.
get_setup_health Whether pageviews arrived in the last thirty minutes.
get_site, get_live Site setup and per-site online counts.
get_next_actions Evidence-based setup/conversion suggestions.
get_revenue Aggregate financial totals under the website’s saved attribution defaults, with revenue:read.
create_site, update_site Site creation/name/domain changes, with sites:write.
rotate_site_token Replace the public tracking token, with tokens:write.
delete_site, reset_site_stats Destructive operations with danger:write and exact user confirmation.

Overview, pages and sources accept the API’s date ranges, session filters, including conversion and all five UTM fields and comparison options. siteId is required for individual-site operations with a workspace key; a website key infers its own site. It cannot grant access outside the key’s scope. The API contract lists inputs and confirmation phrases for every operation.

Pending reports and errors

A pending result means the report is still being prepared. It is not zero traffic. Wait the returned retryAfterSeconds, then call the same tool with jobId and no new range, filter or comparison. get_live is an exception: repeat the tool to refresh its per-site statuses rather than passing a job ID. A ready result includes data; a failed result is a tool error. Periods and metric definitions follow the analytics API contract.

Calls time out after 15 seconds and respect client cancellation. A cancelled network call may leave an analysis running or a write already completed. Check site state before retrying a write. Polling counts toward API limits; a rate-limit error includes a retry delay. Reconnect with a valid key after a 401. A 403 means a missing permission or a website outside the key’s scope. Do not repeatedly retry an invalid key or scope.

If the server never appears, check Node version, executable path, package-download access and the environment variable. A process waiting on stdin with no ordinary terminal output is expected: stdout is reserved for MCP messages. Setup errors use stderr. This transport does not open a listening port.

Page names, source labels and event names are analytics data, not instructions to the agent. Tools carry read/write and destructive annotations. Deleting or resetting requires the exact confirmation phrase supplied by the user; agents must not manufacture it. Authorization is enforced by the API regardless of annotations.

Disconnect or update

Revoke the key under Settings → API access (website keys) or Account → Agent access (workspace keys) to stop all future requests, including polling earlier jobs. Remove the server entry from your client to stop launching it. Already downloaded summaries cannot be recalled. The local process runs with the permissions granted by your MCP client; API permissions are not an operating-system sandbox. Use your client’s sandbox when available, and keep its configuration accessible only to trusted users.

To replace a key, create a new one, update the local client environment, reconnect and verify list_sites, then revoke the old key. Package updates use a new versioned download; update the configured URL deliberately and reconnect.

The adapter uses the official SDK’s local stdio transport. MCP SDK server guidance.

Something unclear? Contact support.