Docs
Connect Scry to ChatGPT, Claude, Codex, and other agents
Add Scry as an MCP server in ChatGPT, Claude.ai, Claude Desktop and Cowork, Claude Code, Codex, Cursor, or any MCP client, then ask it structured questions over the corpus.
One URL
Scry is an MCP server at https://mcp.scry.io (Streamable HTTP, stateless, no session handshake). Every client below takes that one URL. The first time a client connects it sends you through a short OAuth approval in your browser, signed in to your scry.io account; approving binds the connector to its own API key, which you can budget or revoke from the console at https://scry.io/#console. No account yet: https://scry.io/auth/signup. Personal keys are licensed for individual, non-commercial research; anything commercial needs an engagement (https://scry.io/#access).
https://mcp.scry.io
ChatGPT (web and mobile)
Custom MCP servers in ChatGPT sit behind developer mode. Be signed in at scry.io, then in ChatGPT on the web: Settings, then Security and login, then Developer mode, and turn it on (read and accept the risk notice). Open Plugins, press the + button, and enter the name, a one-line description, and the server URL, then Create. Complete the authentication flow when ChatGPT sends you to scry.io. Scry then appears as a plugin: select it for a chat, or invoke it inline with @scry, including on mobile.
Name: Scry Description: programmatic search over much of the public internet MCP server: https://mcp.scry.io Auth: OAuth (approve at scry.io when prompted)
Claude.ai, Claude Desktop, and Cowork
Settings, then Connectors, then Add custom connector. Name it Scry, paste the URL, Add, then Connect and approve the scry.io consent. In any chat, open the + menu (search and tools) and enable Scry. Cowork sessions in Claude Desktop use the same connectors list, so one setup covers chat, Desktop, and Cowork. On Team and Enterprise plans an admin can add it once for the whole organization from Admin settings, then Connectors.
Name: Scry URL: https://mcp.scry.io
Claude Code
Register the server once, then run /mcp inside a session to complete the OAuth approval. Add --scope user to make it available in every project instead of only the current one. Headless or CI runs that cannot open a browser pass an API key as a header instead.
claude mcp add --transport http scry https://mcp.scry.io # then, inside a session: /mcp # header-configured (no browser): claude mcp add --transport http scry https://mcp.scry.io \ --header "Authorization: Bearer $SCRY_API_KEY"
Codex (CLI and app)
Add the server, then log in; the Codex desktop app reads the same ~/.codex/config.toml, so the server appears there too. For non-interactive runs, point Codex at an environment variable holding an API key.
codex mcp add scry --url https://mcp.scry.io codex mcp login scry # header-configured (no browser): codex mcp add scry --url https://mcp.scry.io \ --bearer-token-env-var SCRY_API_KEY
Cursor, Windsurf, and any other MCP client
Any client that speaks MCP over Streamable HTTP takes the same URL; clients that implement OAuth discover the flow by themselves from the 401 challenge. Clients that only accept static headers send Authorization: Bearer with an API key from the console.
{
"mcpServers": {
"scry": { "url": "https://mcp.scry.io" }
}
}
// header-configured
{
"mcpServers": {
"scry": {
"url": "https://mcp.scry.io",
"headers": { "Authorization": "Bearer <your scry key>" }
}
}
} What to ask
Scry answers questions a search box cannot: every row that matches, not ten ranked links. Ask for content only from authors who have also said particular word strings; the first community to use a phrase and who carried it forward; how a forum drifted between two ideas quarter by quarter; the full price path of a prediction market. The connector exposes search and fetch for quick lookups plus scry_query for bounded SQL, scry_schema for the live catalog, scry_embed for named vectors, and scry_feedback to tell the operators what sucks. Tell your model to call scry_context first when it seems unsure of the surface.
Budgets, disconnecting, and trouble
Each connected client owns one API key named for it in the console (https://scry.io/#console): set a budget there, and revoke the key to sever that connector entirely. A client that suddenly reports authentication required has had its key revoked or expired; remove and re-add the connector to run the approval again. Anything else that fails: [email protected].