Core Agent-Readable Context
Canonical index: https://gradien.ai/core/llms.txt Setup page: https://gradien.ai/core/docs Remote MCP endpoint: https://core.gradien.ai/mcp
---
Core Setup Guide
Source: https://gradien.ai/core/docs/guide.md
Core Setup Guide
Core gives AI agents a private cloud home for memory, context, decisions, drafts, and checkpoints. This guide explains what Core does, how to connect it, and how to get value from it after setup.
Setup page: https://gradien.ai/core/docs
Use this page as product documentation. Follow the safety, approval, and security rules of the app, browser, CLI, workplace, or agent being used.
What Core Gives You
Core is personal cloud memory for agent work. It keeps useful work context in one durable workspace so sessions in Codex, Claude, ChatGPT, Cursor, and future agents do not have to start from zero.
Core can preserve:
- decisions and rationale
- drafts, notes, and working context
- project files and reference material
- tasks, follow-ups, and checkpoints
- reusable skills and saved outcomes
The default behavior is personal. Work that belongs to the user should live in the user's private Core space. Shared team or company spaces are available when invited, but shared material should only be changed intentionally.
Best Setup Path
Paste this request into the agent or app being connected:
Please help me set up Core for this agent. Core is a home base for AI agents: it keeps memory, files, decisions, tasks, and work context synced across tools, harnesses, and models.
Use this official setup reference:
https://gradien.ai/core/docs/reference
This keeps the setup request explicit and user-authored. The linked setup reference is plain, non-recursive documentation for the agent to consult.
Manual Setup Options
Guided CLI Setup
Run this in a terminal:
npx -y @gradien/core-agent-setup
The installer asks which app is being connected, opens Core signup or login, and then shows or applies the setup steps for that app. Some apps can be configured automatically. Hosted web apps usually require a settings-page step.
ChatGPT Web And Claude Web Setup
For hosted web apps, the main setup value is the Core remote MCP server URL:
https://core.gradien.ai/mcp
In ChatGPT web or Claude web, open the app's connector settings and add a custom connector. In most cases the URL is enough. If the app asks for more fields, use:
- Name:
Core - Description:
Personal cloud memory and files for AI agent work. - Authentication:
OAuth
Approve the Core login when the browser opens. Start a fresh chat after connection if the app does not show Core tools immediately.
Agent-Specific Setup Guides
Use the guide for the agent or app being connected. These pages contain the agent-specific commands, settings locations, restart behavior, and troubleshooting notes.
OpenAI:
- Codex Desktop: https://gradien.ai/core/docs/harnesses/codex/
- Codex CLI: https://gradien.ai/core/docs/harnesses/codex/
- ChatGPT: https://gradien.ai/core/docs/harnesses/chatgpt/
Anthropic:
- Claude Code Desktop: https://gradien.ai/core/docs/harnesses/claude-code/
- Claude Code CLI: https://gradien.ai/core/docs/harnesses/claude-code/
- Claude web: https://gradien.ai/core/docs/harnesses/claude-web/
- Claude Desktop: https://gradien.ai/core/docs/harnesses/claude-desktop/
Editors and IDE agents:
- Cursor: https://gradien.ai/core/docs/harnesses/cursor/
- VS Code / Copilot: https://gradien.ai/core/docs/harnesses/vscode/
- Windsurf / Devin Cascade: https://gradien.ai/core/docs/harnesses/windsurf/
Other agent harnesses:
- Hermes: https://gradien.ai/core/docs/harnesses/hermes/
- OpenCode: https://gradien.ai/core/docs/harnesses/opencode/
- Generic MCP clients: https://gradien.ai/core/docs/harnesses/generic/
Troubleshooting: https://gradien.ai/core/docs/troubleshooting/
How To Use Core After Setup
Core should mostly disappear into the background. Keep asking for normal work:
- Pick up the project where we left off.
- Remember this decision for future work.
- Review this against the direction I have been shaping.
- Draft the next version and keep the working notes private.
- Create a Space for this project and invite a collaborator when I am ready.
Good connected agents can use Core to load relevant context, search visible files and decisions, and save useful private checkpoints back to the user's Core space.
The user does not need to mention Core in every prompt. Explicit Core prompts are still useful when the user wants to be precise, for example:
- Search Core for prior decisions about pricing.
- Save this as a private checkpoint.
- Create a read-only Space for my class notes.
Privacy And Collaboration Model
- Personal work is private by default.
- Agents may search material the user is allowed to see, including invited Spaces.
- Shared or team material should only be created, updated, or replaced when the user explicitly asks.
- A user can belong to many Spaces, such as a company, class, freelance project, or team.
- Space owners can invite people and choose read or write permissions.
Developer Reference
- Setup page: https://gradien.ai/core/docs
- Remote MCP endpoint: https://core.gradien.ai/mcp
- OAuth protected resource metadata: https://core.gradien.ai/.well-known/oauth-protected-resource/mcp
- Agent-readable summary: https://gradien.ai/core/llms.txt
- Full agent-readable context: https://gradien.ai/core/llms-full.txt
- What Core is: https://gradien.ai/core/docs/what-is-core/
- Why Core matters: https://gradien.ai/core/docs/why-core/
- How to use Core: https://gradien.ai/core/docs/how-to-use-core/
- FAQ: https://gradien.ai/core/docs/faq/
---
What Is Core
Source: https://gradien.ai/core/docs/what-is-core/
What Is Core
Core is personal cloud memory for AI-native work. It is where a user's agent checkpoints, drafts, decisions, tasks, skills, memory, and saved work can persist across Codex, Claude, ChatGPT, Cursor, and future agents.
The key idea is simple: agents change, models change, and harnesses change. Your useful context should not disappear when you switch from Codex to Claude, ChatGPT, Cursor, or the next tool.
Core gives external agents a place to read visible context and write private memory back through MCP. An agent can start by loading context the user is allowed to see, do work in its own harness, then record useful private outcomes, decisions, risks, tests, and follow-up tasks back into Core.
Core is not trying to replace every app. It sits underneath the tools and agents a user already uses so their work compounds into personal cloud memory. Teams can also add shared company material for agents to reference, but agents should only change shared material when explicitly asked.
---
Why Core Matters
Source: https://gradien.ai/core/docs/why-core/
Why Core Matters
AI agents are powerful, but their work is often trapped inside a single chat, model, or local coding harness. That creates repeated context setup, lost decisions, duplicated research, and agents that start from scratch.
Core solves the persistence problem. It gives every agent durable personal memory plus access to shared material the user can see, and a consistent way to save useful private state back.
Core is valuable when:
- a team uses more than one agent or model
- important decisions are scattered across chats
- repeated work requires the same personal or company context
- research, docs, tasks, and files should be reused by future agents
- a founder or small team wants agent memory from day one
The user should feel that Core makes agents easier to use, not harder to configure.
---
How To Use Core
Source: https://gradien.ai/core/docs/how-to-use-core/
How To Use Core
Core should mostly disappear after setup. Keep asking for normal work. A connected agent can use Core automatically when visible context, prior decisions, files, tasks, or saved private outcomes would help.
Good user prompts after setup are just normal work prompts:
- Update the landing page copy.
- Find what we decided about pricing.
- Continue the onboarding work from last time.
- Review this PR against our product direction.
The Core loop is meant to happen in the background:
- Use
core_start_workwhen current visible Core context would improve the work. - Use
core_searchandcore_readto pull exact visible context. - Do the work in the current agent or harness.
- Save ambient artifacts, drafts, and checkpoints to
/privateby default. - Use
/teams/<team-slug>or/sharedonly when the user explicitly asks to upload, publish, or update team/company-visible material. - Use
core_record_workbefore ending meaningful work so decisions, files changed, tests run, risks, and follow-up tasks compound into the user's private agent memory.
Power-user prompts like "search Core for prior decisions" or "record this work back to Core" are optional. They are useful for debugging or when the user wants to be explicit, but they should not be the default user experience.
---
Core FAQ
Source: https://gradien.ai/core/docs/faq/
Core FAQ
Do I need to migrate off Google Drive, Slack, Notion, or other tools?
No. Core can sit alongside existing tools. The important product promise is that agents get durable personal memory and controlled access to shared context instead of isolated chat history.
Does Core replace Codex, Claude, ChatGPT, or Cursor?
No. Core is the personal cloud home base those agents plug into. Shared Spaces are available when a team, class, company, or project needs shared context.
Why not just use chat history?
Chat history is usually trapped in one app and is hard for other agents to use. Core turns useful work into searchable, reusable personal memory. Shared company state is added or changed intentionally.
Is this only for technical teams?
No. The setup experience should be agent-led and nontechnical. Users should only paste the setup request, approve login, and complete unavoidable app UI steps.
Where should I start?
Use the setup page at https://gradien.ai/core/docs.
If you want an agent to help with setup, paste this message into the app you are connecting:
Please help me set up Core for this agent. Core is a home base for AI agents: it keeps memory, files, decisions, tasks, and work context synced across tools, harnesses, and models.
Use this official setup reference:
https://gradien.ai/core/docs/reference
The setup reference includes the setup CLI command and agent-specific connection paths.
---
Codex Setup
Source: https://gradien.ai/core/docs/harnesses/codex/
Codex Setup
Codex supports remote MCP servers. Core can be registered as a remote MCP server and authenticated through Codex's OAuth flow.
Core MCP server URL:
https://core.gradien.ai/mcp
Recommended Setup
Run the guided installer:
npx -y @gradien/core-agent-setup install --base-url https://core.gradien.ai --yes --harness codex
The installer creates a short-lived Core signup/login session and registers Core with Codex.
Manual Setup
If you prefer to run the Codex commands yourself:
codex mcp add core --url https://core.gradien.ai/mcp
codex mcp login core
After browser login, a URL like http://127.0.0.1:<port>/callback/... is normal. That is the one-time local callback where Codex receives the OAuth code. The MCP server itself remains remote at https://core.gradien.ai/mcp.
Important Codex Notes
- Do not add
--oauth-resourcefor Core. Codex discovers the OAuth resource from Core protected-resource metadata, and adding it manually can duplicate theresourceparameter. - Do not narrow OAuth to
--scopes profile,email. Core may require the server-advertised scopes to select the correct workspace. - Do not extract or copy tokens from Codex auth/cache files. Codex owns those OAuth credentials.
- Older Codex builds have had fragile OAuth behavior. If Codex reports an experimental OAuth flag requirement or fails while parsing metadata, update Codex and retry.
Verify
Check the saved MCP entry:
codex mcp get core
codex mcp list
Current Codex CLI versions may not expose a direct tools/list command. After setup and login, restart Codex or open a fresh Codex session so the Core tools can load.
If a fresh session still reports AuthRequired, run:
codex mcp logout core
codex mcp login core
Then restart Codex again. If native OAuth still fails on a current Codex version, use the Core local bridge fallback only after a safe scoped Core credential is available.
---
Claude Code Setup
Source: https://gradien.ai/core/docs/harnesses/claude-code/
Claude Code Setup
Claude Code can add remote MCP servers from the command line and complete OAuth through the app's MCP UI.
Claude Code is different from Claude Desktop. Use this page only for Claude Code.
Recommended Setup
Run the guided installer:
npx -y @gradien/core-agent-setup install --base-url https://core.gradien.ai --yes --harness claude-code
The installer creates a short-lived Core signup/login session, registers Core for Claude Code, and prints any agent-specific next steps.
Core MCP server URL:
https://core.gradien.ai/mcp
Authentication
Claude Code may not show a newly added MCP server inside /mcp until the app restarts.
Use this order:
- Finish the installer.
- Fully quit and reopen Claude Code, or start a fresh Claude Code session.
- Run
/mcp. - Select Core.
- Choose Authenticate or Connect if prompted.
- Approve Core in the browser.
If Core is missing from /mcp before a restart, treat that as a stale Claude Code session rather than a failed install.
Verify
After authentication, Core should appear as a connected MCP server and expose Core tools in a fresh Claude Code session. If tools are still missing, restart Claude Code once more before reinstalling.
---
Claude Web Setup
Source: https://gradien.ai/core/docs/harnesses/claude-web/
Claude Web Setup
Claude web connects to Core through a custom connector in Claude settings. Claude's cloud service must be able to reach the MCP server over public HTTPS.
Core MCP server URL:
https://core.gradien.ai/mcp
Setup
- Open Claude in your browser.
- Open Settings or Customize.
- Go to Connectors.
- Choose Add custom connector.
- Enter name:
Core. - Paste
https://core.gradien.ai/mcp. - Approve the Core login or permissions screen.
- Start a fresh Claude chat if the connector does not appear in the current chat.
For Team or Enterprise plans, an Owner may need to add the connector under Organization settings first. Members can then connect Core individually from their own Claude connector settings.
Optional CLI Signup
The Core setup CLI can create or link your Core account before you add the connector:
npx -y @gradien/core-agent-setup install --base-url https://core.gradien.ai --yes --harness claude-web
This CLI step is optional for Claude web. The key setting in Claude is still the remote MCP URL above.
Troubleshooting
If Claude shows Authorization with the MCP server failed, check the Core troubleshooting page. Common causes include OAuth metadata, dynamic client registration, redirect URI allowlists, token scopes, or token audience/resource mismatch.
---
Claude Desktop Setup
Source: https://gradien.ai/core/docs/harnesses/claude-desktop/
Claude Desktop Setup
Claude Desktop may support Core through remote custom connectors or through a desktop extension package, depending on the current Claude plan and app version.
Claude Desktop is different from Claude Code. Do not use claude mcp add or Claude Code config commands for Claude Desktop.
Remote Connector
If Claude Desktop offers custom connectors:
- Open Claude Desktop.
- Open Settings.
- Go to Connectors.
- Choose Add custom connector.
- Name the connector
Core. - Paste this URL:
https://core.gradien.ai/mcp
- Approve the Core login or permissions screen.
- Restart Claude Desktop if the tools do not appear.
Desktop Extension
If your Core account provides a Claude Desktop extension:
- Download the Core desktop extension from Core.
- Open Claude Desktop.
- Open Settings.
- Go to Extensions.
- Install the downloaded Core extension.
- Paste a Core connector key only if Claude Desktop asks for it.
- Restart Claude Desktop.
Verify
Open a fresh Claude Desktop chat after setup. Core tools should appear in the available connector/tool list once the connector is loaded and authenticated.
---
ChatGPT Setup
Source: https://gradien.ai/core/docs/harnesses/chatgpt/
ChatGPT Setup
ChatGPT connects to Core through a remote MCP connector. This is configured in ChatGPT settings, not by editing local files.
Core MCP server URL:
https://core.gradien.ai/mcp
Setup
- Open ChatGPT.
- Open Settings.
- Go to Apps, Connectors, or Developer Mode, depending on the current ChatGPT UI.
- Add a custom app, custom connector, or remote MCP connector.
- Choose Server URL, not Tunnel.
- Paste
https://core.gradien.ai/mcp. - Choose OAuth for authentication.
- Approve Core when ChatGPT opens the login or consent screen.
Use Tunnel only for a private/local MCP server such as localhost, a dev machine, or a server hidden behind a firewall. Hosted Core uses the public HTTPS Server URL path.
If Connection Fails
ChatGPT may show a generic error if the OAuth handshake fails. The most common causes are:
- OAuth scopes requested by ChatGPT are not allowed by the provider.
- The ChatGPT redirect URI is not accepted by the authorization server.
- Dynamic Client Registration or the equivalent client registration path is not available.
- The issued access token is rejected by the Core MCP server because the token audience, resource, issuer, expiry, or organization claims do not match.
For production Core, do not switch to No Authentication. Core contains user memory and should be protected by OAuth. No Authentication is only appropriate for a separate disposable smoke-test server.
Verify
After ChatGPT says the connector is connected, start a fresh chat and check whether Core tools are available. ChatGPT may expose compatibility tools such as search/fetch as well as standard Core MCP tools, depending on current ChatGPT connector support.
---
Cursor Setup
Source: https://gradien.ai/core/docs/harnesses/cursor/
Cursor Setup
Cursor supports remote MCP servers through Cursor settings and mcp.json. Core should usually be configured globally so it follows you across projects.
Core MCP server URL:
https://core.gradien.ai/mcp
Global config path:
~/.cursor/mcp.json
Project config path:
.cursor/mcp.json
Recommended Setup
Run the guided installer:
npx -y @gradien/core-agent-setup
The installer creates a Core signup/login session, backs up existing Cursor MCP config, and adds Core where Cursor can load it.
Manual Config
The expected global config shape is:
{
"mcpServers": {
"core": {
"url": "https://core.gradien.ai/mcp"
}
}
}
If the file already contains other MCP servers, preserve them and add only the core entry.
Do not put bearer tokens or connector keys in Cursor config unless OAuth is impossible and you intentionally choose that fallback.
Load and Authenticate
Cursor may not hot-load new MCP servers in an existing chat.
- Reload Cursor with
Cmd+Shift+P->Developer: Reload Window, or fully quit and relaunch Cursor. - Open Cursor Settings.
- Go to Features -> Model Context Protocol.
- Find Core. It may appear as
coreoruser-core. - Click Connect or Authenticate.
- Approve Core in the browser.
If only an mcp_auth tool is visible, Core is present but not authenticated yet. Complete the OAuth step from Cursor settings or by using the visible auth tool.
If Cursor Hangs During OAuth
If Cursor stays on Waiting for callback... or Exchanging token... after the browser returned to Cursor:
- Stop clicking Connect/Allow repeatedly.
- Fully quit and relaunch Cursor.
- Try Connect once more.
- Check Cursor MCP Logs in the Output panel:
Cmd+Shift+U->MCP Logs.
Repeated unauthenticated requests to /mcp mean Cursor can reach Core but did not complete or store OAuth. That is usually an OAuth callback state issue, not a bad URL.
Fallback
If OAuth keeps hanging after one clean relaunch, a scoped Core connector key can be used as a fallback. Store it as locally and narrowly as possible, prefer environment-variable interpolation if Cursor supports it, and rotate the key later.
---
VS Code Setup
Source: https://gradien.ai/core/docs/harnesses/vscode/
VS Code Setup
VS Code and GitHub Copilot use their own MCP server configuration shape. Do not copy Cursor's mcp.json format into VS Code unless the current VS Code docs explicitly say to do so.
Core MCP server URL:
https://core.gradien.ai/mcp
Setup
- Open the current VS Code MCP server documentation.
- Open the user or workspace MCP configuration location documented by VS Code.
- Back up the existing config before editing it.
- Add Core using the current VS Code
serversshape for remote MCP servers. - Use
https://core.gradien.ai/mcpas the server URL. - Save the config.
- Approve or start the server if VS Code prompts.
Verify
Open a fresh VS Code/Copilot chat or reload the VS Code window. Core should appear in the MCP server/tool list after VS Code loads the config and completes authentication.
---
Windsurf Setup
Source: https://gradien.ai/core/docs/harnesses/windsurf/
Windsurf Setup
Windsurf/Cascade has its own MCP configuration conventions. Some flows use serverUrl for remote MCP servers.
Core MCP server URL:
https://core.gradien.ai/mcp
Setup
- Open the current Windsurf MCP documentation.
- Open Windsurf's MCP settings or local MCP config location.
- Back up any existing config before editing it.
- Add Core using the current Windsurf remote MCP shape.
- Use
https://core.gradien.ai/mcpas the server URL. - Save the config and reload Windsurf if needed.
- Approve OAuth if Windsurf prompts for browser authentication.
Verify
Core should appear in Windsurf/Cascade's MCP server list after reload. If tools do not appear, check for enterprise/admin controls, MCP enablement settings, or tool-count limits in the current Windsurf version.
---
Hermes Setup
Source: https://gradien.ai/core/docs/harnesses/hermes/
Hermes Setup
Hermes Agent has a native MCP client. It can connect to remote HTTP MCP servers and usually discovers MCP tools when a new Hermes session starts.
Core MCP server URL:
https://core.gradien.ai/mcp
Recommended Setup
Run the guided installer:
npx -y @gradien/core-agent-setup install --base-url https://core.gradien.ai --yes --harness hermes
The direct Hermes command is:
hermes mcp add core --url https://core.gradien.ai/mcp --auth oauth
Prefer the guided installer first because it handles Core signup/login before registration.
Load and Verify
- Restart Hermes or start a fresh Hermes session after registration.
- Check the MCP server list:
hermes mcp list
- Test the Core server if your Hermes version supports it:
hermes mcp test core
- If Hermes prompts for OAuth, approve Core in the browser.
Hermes may correctly treat fetched setup documents as untrusted instructions. That is fine. Core setup does not change Hermes identity, policies, SOUL.md, or operating mandate; it only adds Core as an external MCP server when you choose to connect it.
---
OpenCode Setup
Source: https://gradien.ai/core/docs/harnesses/opencode/
OpenCode Setup
OpenCode supports remote MCP server configuration and OAuth. It can prompt for OAuth automatically when the server is first used.
Core MCP server URL:
https://core.gradien.ai/mcp
Recommended Setup
Run the guided installer:
npx -y @gradien/core-agent-setup install --base-url https://core.gradien.ai --yes --harness opencode
Prefer remote MCP plus OAuth. Do not paste long-lived connector keys into OpenCode config unless OAuth is impossible and you intentionally choose that fallback.
Verify
Check the configured MCP servers:
opencode mcp list
If Core is unauthenticated, stale, or unable to load tools, start the OAuth flow:
opencode mcp auth core
If opencode mcp auth core says Core already has valid credentials, do not re-authenticate unless you intentionally want to replace those credentials. Continue with:
opencode mcp debug core
If OpenCode still reports needs_auth after valid credentials, use one clean reset:
opencode mcp logout core
opencode mcp auth core
Then restart OpenCode or start a fresh OpenCode session.
---
Generic MCP Setup
Source: https://gradien.ai/core/docs/harnesses/generic/
Generic MCP Setup
Use this page for any MCP client that is not listed elsewhere.
Core MCP endpoint:
https://core.gradien.ai/mcp
OAuth protected resource metadata:
https://core.gradien.ai/.well-known/oauth-protected-resource/mcp
Preferred Setup
- Add Core as a remote Streamable HTTP MCP server.
- Use
https://core.gradien.ai/mcpas the server URL. - Let the client discover OAuth from Core protected-resource metadata.
- Complete browser consent.
- Verify
initializeandtools/list.
Fallback
Use a scoped Core connector key only if the client cannot complete OAuth. Connector keys should be personal, scoped, revocable, and stored locally.
Avoid adding long-lived keys to shared project files.
---
Troubleshooting
Source: https://gradien.ai/core/docs/troubleshooting/
Core MCP Troubleshooting
Start with the failure class, then use the smallest recovery path.
MCP server does not appear
- Confirm the harness config file or settings entry was saved.
- Restart or reload the app if that harness discovers MCP servers only at startup.
- Reopen the current agent-specific guide and compare the saved config shape.
Tools are missing
- Call
tools/listif the harness exposes diagnostics. - Confirm the endpoint is Core MCP, not the website root.
- Confirm the user completed OAuth or the bearer key is present.
- For local harnesses, explain that
localhostor127.0.0.1OAuth callback URLs are expected and are not the MCP server location.
OAuth failed
- Fetch the protected resource metadata.
- Confirm the authorization server is present.
- Confirm the client requested Core-advertised
scopes_supported; for Core this includes OpenID sign-in identity plus workspace/org selection consent where the authorization server supports it. - For Claude web, remember Claude connects from Anthropic cloud infrastructure. The MCP server must be publicly reachable from Anthropic, not just from the user's device.
- For Claude web, if the UI shows
Authorization with the MCP server failedwith anofid_...reference, treat that reference as a support/correlation id that may be Anthropic-side unless it appears in Core logs. Do not assume it is a Core log id. - For Claude web, confirm the auth server supports Dynamic Client Registration or that the user entered configured OAuth Client ID/Secret in Claude Advanced settings. Also confirm Claude's redirect URI is accepted by the OAuth provider.
- For ChatGPT web, confirm the auth server supports one ChatGPT client registration path: Client ID Metadata Documents, Dynamic Client Registration, or predefined OAuth client credentials. Also confirm the ChatGPT callback URL is allowlisted.
- For Cursor, an unauthenticated Core server may expose only
mcp_auth. Use that tool or Cursor Settings -> Features -> Model Context Protocol -> Connect/Authenticate to finish OAuth. - If a Codex build says OAuth requires an experimental flag or fails parsing metadata, update Codex instead of enabling experimental OAuth flags.
- For OpenCode, do not run
opencode mcp auth <name>just because it was printed as an available command. Run it only when OpenCode reports missing/stale auth. - Retry browser consent once after checking the metadata and app state.
- Fall back to a scoped connector key only if the harness cannot complete OAuth.
Claude Code failed
- If setup registered Core but
/mcpdoes not show Core, do not assume auth failed. Claude Code may not load newly added MCP servers into the current session. - Fully quit/relaunch Claude Code or start a fresh Claude Code session, then run
/mcpagain. - Authenticate only after Core appears in
/mcp. - If
/mcpshows Core but says it needs authentication, select Core and approve browser login. If browser auth completes but Core remains unauthenticated, restart Claude Code once and check/mcpagain.
Claude web failed
- Confirm the user pasted the exact remote MCP server URL:
https://core.gradien.ai/mcp. - Confirm the user chose Add custom connector. For Team or Enterprise plans, an Owner may need to add it in Organization settings before members can connect.
- Fetch
/.well-known/oauth-protected-resource/mcp; it must be valid JSON and includeauthorization_servers. - Fetch the authorization server metadata; it must include authorization and token endpoints, PKCE S256 support, and Dynamic Client Registration or a configured Claude OAuth client.
- If Claude gives an
ofid_...reference, search Core/Fly logs for it, but if no match exists, treat it as Anthropic-side and continue with metadata, DCR/client credentials, redirect URI, scope, and audience checks. - If no Core logs show
/mcpdiscovery or auth challenge traffic after this PR is deployed, suspect network reachability from Anthropic cloud or a failure before Claude reached Core.
Cursor failed
- Confirm
~/.cursor/mcp.jsoncontains"core": { "url": "https://core.gradien.ai/mcp" }undermcpServers, while preserving any other servers. - Reload Cursor with Cmd+Shift+P -> Developer: Reload Window, or open a new Cursor window.
- If Core appears as
user-core, unauthenticated, or with onlymcp_auth, finish OAuth by runningmcp_authfrom chat or clicking Connect/Authenticate in Cursor Settings -> Features -> Model Context Protocol. - If Cursor stays on
Waiting for callback...orExchanging token...after the user clicks Allow and opens Cursor, do not keep clicking Connect or Allow. Fully quit/relaunch Cursor once, then check Cursor MCP Logs. - If Fly/Core logs show repeated unauthenticated
/mcprequests with aCursor/<version>user agent but no authenticated requests, Core is reachable and Cursor did not complete/store OAuth. - Check MCP Logs from the Output panel (Cmd+Shift+U) -> MCP Logs for connection, OAuth, or JSON parse errors.
- Fetch Core protected-resource metadata and the auth-server metadata. Cursor supports remote Streamable HTTP servers, OAuth, static OAuth client credentials, and a fixed redirect URI
cursor://anysphere.cursor-mcp/oauth/callback; compare those docs before changing config shape. - If native OAuth keeps hanging after one clean relaunch, fall back only with explicit user approval: create a scoped Core connector key, then configure Cursor remote headers as
Authorization: Bearer <key>orBearer ${env:CORE_CONNECTOR_KEY}if that Cursor version resolves header interpolation. - Do not paste long-lived Core connector keys into
mcp.jsonunless OAuth is impossible, the user explicitly approves that fallback, and you explain the local plaintext storage/rotation tradeoff.
OpenCode failed
- Run
opencode mcp listto inspect auth status before starting auth. - If OpenCode asks
core already has valid credentials. Re-authenticate?, choose No unless verification still shows auth is broken. - If Core tools are missing after choosing No, run
opencode mcp debug coreand check whether the failure is discovery, OAuth, token exchange, or tool listing. - If
opencode mcp debug coresays authenticated but the server returns401 after successful authentication, suspect a stale or under-scoped token. Check the token scope only through safe metadata/debug output; do not print, paste, curl with, or store the raw access token. - If OpenCode says credentials are valid but the server still shows
needs_auth, runopencode mcp logout core, thenopencode mcp auth coreonce. - If auth loops continue, fetch Core protected-resource metadata and confirm
scopes_supportedincludesuser:org:read, then check OpenCode's stored credentials file only at a metadata level; do not print tokens.
Codex failed
- Verify
codex mcp get core. - Confirm the config URL is the Core MCP endpoint, for example
https://core.gradien.ai/mcp; local~/.codexpaths andlocalhostOAuth callbacks are normal Codex client state, not the Core server. - Do not add
--oauth-resourcefor Core. If you see an OAuth error sayingresourceappears more than once, remove that config and return tocodex mcp add core --url <baseUrl>/mcp. - Do not retry with
--scopes profile,email; let Codex use Core metadata. If a stale token was minted before metadata changed, runcodex mcp logout core, thencodex mcp login core. - If Codex says remote OAuth requires an experimental setting, or OAuth metadata parsing fails on an old build, check
codex --versionand update Codex. Do not persist experimental OAuth flags as part of setup. - If
codex mcp login corereports success but a new Codex runtime still gets AuthRequired during tool discovery, update/restart Codex and retry once. Avoid repeated nestedcodex execprobes. - Prefer the Core local bridge path only after native OAuth fails with a clean config, clean login, fresh Codex session, and current Codex version.
- Verify the bridge can call Core
tools/listwhen using the bridge fallback.
ChatGPT web failed
- Use Server URL, not Tunnel, for hosted Core:
https://core.gradien.ai/mcp. - Use OAuth for production Core. Do not use No Authentication against user memory except on a separate disposable smoke-test server.
- Fetch
/.well-known/oauth-protected-resource/mcpand confirmauthorization_serversis present. - Fetch the authorization server metadata and confirm it has authorization and token endpoints, PKCE S256 support, and either Client ID Metadata Documents, Dynamic Client Registration, or a predefined OAuth client configured in ChatGPT.
- Confirm the ChatGPT redirect URL shown in app settings, usually
https://chatgpt.com/connector/oauth/{callback_id}, is allowlisted by the OAuth provider. - If ChatGPT redirects back with
error=invalid_scopeand says the OAuth client is not allowed to requestopenid, confirm Core protected-resource metadata advertisesopenidinscopes_supported, then delete/recreate the draft ChatGPT app or re-register OAuth so ChatGPT gets a new client allowed to request the updated scopes. - If ChatGPT shows only “There was a problem connecting Core. Try again later,” treat it as likely OAuth registration/redirect/provider metadata failure until proven otherwise.
Wrong workspace
- Confirm which Core workspace should be connected.
- Sign into the correct workspace in the browser.
- Do not reuse a connector key from another workspace.
If stuck, fetch the full context at https://gradien.ai/core/llms-full.txt and report the exact harness, command/config used, error text, and whether OAuth or bearer auth was attempted.