vike
Client setup

ChatGPT

What the Vike data server needs from ChatGPT, which credential can work today, and the registration error ChatGPT's OAuth sign-in currently hits.

ChatGPT connects to a remote MCP server by URL, and the URL is the same for every client: https://vike.io/mcp, Streamable HTTP, POST only. This page states what the server needs and what it refuses. It does not reproduce ChatGPT's own menus, which change between plans and releases and which this page cannot check: add the server through ChatGPT's remote-MCP / connector settings and use the values below.

What the server needs

FieldValue
Server URLhttps://vike.io/mcp
Namevike, the name the rest of these docs uses
TransportStreamable HTTP, JSON-RPC 2.0 (MCP 2025-03-26)
CredentialX-API-KEY: vk_... request header, or an OAuth 2.1 bearer token

An unauthenticated request gets HTTP 401 with a WWW-Authenticate: Bearer resource_metadata=... header. That header is what starts OAuth discovery in a client that supports it, so a ChatGPT surface that offers OAuth will find the authorization server on its own from the URL.

Which credential

An API key, where ChatGPT lets you send a custom header. Create a key under Account → API Keys and send it as X-API-KEY: vk_.... This is the same credential the Cursor and Gemini CLI pages use, and it reaches all 50 tools. If the ChatGPT surface you are using has no field for a custom header, it cannot carry this credential.

OAuth sign-in is refused for ChatGPT today. The server's registration endpoint (POST /oauth/register) accepts a client only when every redirect_uris entry is on https://claude.ai/*, https://claude.com/* or a loopback address (http://localhost, http://127.0.0.1, http://[::1]). Any other redirect is answered with invalid_redirect_uri, and the connector setup stops before the browser approval opens. The server's 401 discovery header is written for OAuth clients in general, ChatGPT apps among them, but the redirect list is what decides, and it does not name a ChatGPT host. This page will describe an OAuth flow for ChatGPT once the list does.

Verify the key before you add it

Whichever way ChatGPT is configured, prove the credential outside it first with the raw HTTP tools/list call:

curl -s https://vike.io/mcp \
  -H "X-API-KEY: $VIKE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | head -c 400

A working key returns a result carrying the tool list. A bad key returns a JSON-RPC error at HTTP 401.

What fails

invalid_redirect_uri during sign-in. The OAuth path above. Nothing to fix on your side; use an API key.

Every call returns 401. The header did not reach the server, or the key was deleted. Run the curl above with the same key: if that works, the connector is not sending the header. A deleted key can keep authenticating for up to 45 seconds, the credential cache window.

HTTP 200 with an error in the body. An unknown tool or a failed tool call is a JSON-RPC error inside a 200 response, so a client that checks only the status code reports success.

The server is added but the tools are never used. Name one in the prompt, for example "use the vike token_search tool for PEPE".

"Hourly rate limit exceeded". The counter is shared by the MCP server and the REST API. See Rate limits.

Verify

Search for PEPE token using Vike

That calls token_search, which costs 0 credits, so a failed attempt costs nothing.

On this page