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
| Field | Value |
|---|---|
| Server URL | https://vike.io/mcp |
| Name | vike, the name the rest of these docs uses |
| Transport | Streamable HTTP, JSON-RPC 2.0 (MCP 2025-03-26) |
| Credential | X-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 400A 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.