KeyNG SEO MCP — setup

Edition private. 0 failing, 3 warning, 9 passing.

This page is unauthenticated. Set SETUP_DIAGNOSTIC_TOKEN to require a token.

Connect this server

Add this URL as a custom connector in your MCP client:

https://mcp.keyngdev.com/api/mcp

Claude mobile can use a connector added on claude.ai, but cannot add one — add it on the web first.

Checks

OKPublic base URL

Set explicitly to https://mcp.keyngdev.com. Add https://mcp.keyngdev.com/oauth/callback as an authorized redirect URI on the Google OAuth client.

OKToken encryption key

Present and usable: an encrypt/decrypt round trip succeeded.

OKIdentity provider: Google

Connecting runs a Google consent flow. Register this exact redirect URI on the Google client: https://mcp.keyngdev.com/oauth/callback

OKGoogle tool families

Search Console and GA4 tools are enabled. Ads depends additionally on a developer token.

OKToken store (Postgres)

Reachable, and the "mcp" schema is complete. Nothing outside that schema is touched.

OKDataForSEO via AIsa

Routing through https://api.aisa.one/apis/v1/dataforseo. The DataForSEO credential stays on the gateway. This page does not call the API, because every call costs credit.

OKAIsa per-call cost cap

Calls are capped at $0.5 each via the X-AISA-Max-Price-USD header.

WARNAIsa endpoint coverage

The gateway does not expose 3 DataForSEO endpoints this server can otherwise use (ranked_keywords, domain_intersection, competitors_domain). The matching tools are not advertised; dfs_keywords_for_site and dfs_serp_competitors cover most of the same ground.

OKImage generation

Enabled via https://api.aisa.one/v1/images/generations, default model gpt-image-2 ($0.03 per image). Billed per image against the AIsa prepaid balance.

OKText generation

Enabled via https://api.aisa.one/v1/chat/completions, default model gpt-5. Billed per input and output token against the AIsa prepaid balance. The default model is not verified here — chat_models lists what the gateway actually routes.

WARNGoogle Ads

GOOGLE_ADS_DEVELOPER_TOKEN is not set, so ads_* tools are not advertised. Everything else works without it. A developer token requires an application, and the default Explorer Access can only query test accounts.

WARNSite database

SITE_DATABASE_URL is not set, so site_* tools are not advertised.

Environment variables

Presence only. No values are shown.

VariableSetRequired for
PUBLIC_BASE_URLyesOAuth issuer and resource identity (falls back to VERCEL_URL)
DATABASE_URLyestoken store
TOKEN_ENCRYPTION_KEYyesencrypting Google refresh tokens at rest
GOOGLE_CLIENT_IDyesSearch Console, GA4 and Ads tools (optional — omit both Google vars to run image-generation only)
GOOGLE_CLIENT_SECRETyesSearch Console, GA4 and Ads tools (optional)
MCP_ACCESS_CODEyesauthenticating connections when Google is not configured
AISA_IMAGE_MODELnodefault image model (optional; defaults to gpt-image-2)
AISA_CHAT_MODELnodefault chat model (optional; defaults to gpt-5)
GOOGLE_ADS_DEVELOPER_TOKENnoGoogle Ads tools (optional; tools disable themselves without it)
DATAFORSEO_LOGINnoDataForSEO fallback when AIsa is unset (optional)
DATAFORSEO_PASSWORDnoDataForSEO fallback when AIsa is unset (optional)
AISA_API_KEYyesDataForSEO via the AIsa gateway (the intended path)
AISA_BASE_URLnooverriding the AIsa gateway root (optional; defaults to https://api.aisa.one/apis/v1/dataforseo)
AISA_MAX_PRICE_USDyescapping the cost of a single AIsa call (optional but recommended)
SITE_DATABASE_URLnosite_* read tools (optional)
SITE_DATABASE_WRITE_URLnosite_draft_post (optional)
ALLOWED_GOOGLE_EMAILSnorestricting who may connect (optional)
SETUP_DIAGNOSTIC_TOKENnoguarding this diagnostic page (optional but recommended)