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
Set explicitly to https://mcp.keyngdev.com. Add https://mcp.keyngdev.com/oauth/callback as an authorized redirect URI on the Google OAuth client.
Present and usable: an encrypt/decrypt round trip succeeded.
Connecting runs a Google consent flow. Register this exact redirect URI on the Google client: https://mcp.keyngdev.com/oauth/callback
Search Console and GA4 tools are enabled. Ads depends additionally on a developer token.
Reachable, and the "mcp" schema is complete. Nothing outside that schema is touched.
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.
Calls are capped at $0.5 each via the X-AISA-Max-Price-USD header.
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.
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.
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.
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.
SITE_DATABASE_URL is not set, so site_* tools are not advertised.
Environment variables
Presence only. No values are shown.
| Variable | Set | Required for |
|---|---|---|
PUBLIC_BASE_URL | yes | OAuth issuer and resource identity (falls back to VERCEL_URL) |
DATABASE_URL | yes | token store |
TOKEN_ENCRYPTION_KEY | yes | encrypting Google refresh tokens at rest |
GOOGLE_CLIENT_ID | yes | Search Console, GA4 and Ads tools (optional — omit both Google vars to run image-generation only) |
GOOGLE_CLIENT_SECRET | yes | Search Console, GA4 and Ads tools (optional) |
MCP_ACCESS_CODE | yes | authenticating connections when Google is not configured |
AISA_IMAGE_MODEL | no | default image model (optional; defaults to gpt-image-2) |
AISA_CHAT_MODEL | no | default chat model (optional; defaults to gpt-5) |
GOOGLE_ADS_DEVELOPER_TOKEN | no | Google Ads tools (optional; tools disable themselves without it) |
DATAFORSEO_LOGIN | no | DataForSEO fallback when AIsa is unset (optional) |
DATAFORSEO_PASSWORD | no | DataForSEO fallback when AIsa is unset (optional) |
AISA_API_KEY | yes | DataForSEO via the AIsa gateway (the intended path) |
AISA_BASE_URL | no | overriding the AIsa gateway root (optional; defaults to https://api.aisa.one/apis/v1/dataforseo) |
AISA_MAX_PRICE_USD | yes | capping the cost of a single AIsa call (optional but recommended) |
SITE_DATABASE_URL | no | site_* read tools (optional) |
SITE_DATABASE_WRITE_URL | no | site_draft_post (optional) |
ALLOWED_GOOGLE_EMAILS | no | restricting who may connect (optional) |
SETUP_DIAGNOSTIC_TOKEN | no | guarding this diagnostic page (optional but recommended) |