Connect Cady
For the agent: follow this guide in the current conversation. Do not ask the user to paste another setup prompt.
Cady MCP endpoint: https://app.cadyworks.com/mcp
Use the endpoint in the user's setup request when it supplies one; otherwise use the endpoint above.
Steps
1. Check existing connections first and reuse Cady. If configured but disconnected, authenticate or reload it. Do not add a duplicate, install another route, or replace unrelated settings. On Claude Code, the recommended plugin below includes skills. On Codex, skills are optional: a sandboxed agent can call get_cady_context with its task and follow the method core inline in the plan, without installing or fetching a skill from the web. In Claude Code the cady@cady plugin is the one route, and the claude.ai Cady connector must be switched off inside Claude Code so Cady is not connected twice. Where the app allows it, add Cady yourself with the matching instructions below; otherwise give the user only the matching settings instructions in one short message.
2. The user signs in and approves the intended company and access in the browser. Tell them to return to this conversation. Resume the same request when tools become available and do not ask for another setup prompt. If the app requires a reload or new chat, explain that requirement without claiming automatic resume across it.
3. First read, by intent. For first company setup in Cady, whether the business is a new idea or already operating, call get_cady_context({area:"ops/onboarding"}) once. Do not make a plain context read first. Follow company_setup.setup, or load the method at company_setup.method when its text is absent. Follow any recorded completed-review instruction instead of repeating setup. For reconnection, joining an existing Cady company, or a current task, call get_cady_context({task:"<the user request in one sentence>"}) and follow its plan. With no task yet, call get_cady_context({}) and follow its general plan.
4. Before any writes, confirm that the returned company matches the requested name, domain or legal entity. Ask once if ambiguous. If it is wrong, stop company work and reconnect to the intended company. Claim connection success only after a successful context read, and saved work only after verifying its result.
Browser apps
Claude web/desktop and ChatGPT web need Cady added through their settings. A prompt cannot install a connection in these apps. Use the matching instructions in the app dropdown or this help section, including OAuth automatic or dynamic registration.
Skills (once per AI app; recommended on Claude Code and Codex)
Cady methods are skills in a library the agent loads. Claude Code: run claude plugin marketplace add malcolmai/cady-skills, then claude plugin install cady@cady, then claude plugin install cady-core@cady, and install the group plugins your agents use (cady-company, cady-gtm, cady-finance, cady-product, cady-engineering). Codex: no installation is needed to begin. Without confirmed installed skills, get_cady_context serves the selected method core inline; plan.method.more offers read_cady for the full text inside Cady. Sandboxed agents can follow that plan even without shell network or write access to the skills folder. For an optional local install when those are available, skills live under $CODEX_HOME/skills (default ~/.codex/skills). Run git clone --depth 1 https://github.com/malcolmai/cady-skills "${CODEX_HOME:-$HOME/.codex}/cady-skills", then mkdir -p "${CODEX_HOME:-$HOME/.codex}/skills/cady" && cp -R "${CODEX_HOME:-$HOME/.codex}/cady-skills/plugins/cady/skills/cady/." "${CODEX_HOME:-$HOME/.codex}/cady-skills/library" "${CODEX_HOME:-$HOME/.codex}/cady-skills/references" "${CODEX_HOME:-$HOME/.codex}/skills/cady/", check that "${CODEX_HOME:-$HOME/.codex}/skills/cady/SKILL.md" exists, then start a new Codex session. claude.ai: upload cady.zip from the latest release at github.com/malcolmai/cady-skills/releases/latest as a skill. Other apps: Cady has no verified skill install for them; get_cady_context returns the selected method core inline in its plan, with a full in-Cady read on request.
Several companies, one connection
One connection covers all your companies. Sign-in preselects your last choice, else the first by name. Keep it if this app mainly works there; a project header overrides that default, and orgId on a call overrides both. Choose "No default" only if every call names its company. Company ids are in the Cady app under Settings.
Claude Code: the cady@cady plugin carries the server without headers. Choose the company with orgId on each call, or use the connection default chosen at sign-in. Do not add a company header: Claude Code keys its OAuth token store by the server configuration, including headers, so each header value splits the saved sign-in.
Codex: in [mcp_servers.cady] of $CODEX_HOME/config.toml (default ~/.codex/config.toml) add env_http_headers = { "X-Cady-Company" = "CADY_COMPANY" } then export CADY_COMPANY=<company id> in the shell that starts Codex. Edit only that table and keep its other settings. Start a new session and confirm the company in the first read before any write. A static alternative is http_headers = { "X-Cady-Company" = "<company id>" }.
claude.ai and ChatGPT: they send no header. Cady uses the default company you chose at sign-in; to change it, reconnect and choose another.
Changing a project's company takes a session restart in the host, not a reconnect, because tools and instructions are per company.
A connection needs a fresh sign-in every 90 days, and after 30 days unused. Scheduled agents hit the same limit.
If connecting does not work
One address serves every company, whichever region holds its data. If a saved connection uses an older regional address, replace it with the main address and authenticate again. Do not add a second connection. If approval expires or fails, restart authentication on the existing connection. Do not create another company to repair a connection. If the returned company is wrong, stop dependent work and reconnect with the intended company.
Claude web or desktop
Open Claude web → Customize → Connectors → + Add → Add custom connector. Desktop: Settings → Connectors. Name it Cady, enter the URL, choose OAuth, sign in now and Register automatically. A chat prompt cannot install it.
Name: Cady
URL: https://app.cadyworks.com/mcp
Approve your company in the browser, then return here with Cady enabled.
ChatGPT web or desktop
Open ChatGPT on the web → Plugins → + → Add custom MCP server. Name it Cady, enter the URL, choose OAuth with dynamic registration, review the warning and create the plugin. Workspace controls may apply.
Name: Cady
URL: https://app.cadyworks.com/mcp
Install it, approve your company in the browser, then return here with Cady enabled.
Claude Code
Install the cady plugin; it adds the Cady server and the skills. Run once in a terminal:
claude plugin marketplace add malcolmai/cady-skills
claude plugin install cady@cady
claude plugin install cady-core@cady
Restart Claude Code, sign in in the browser when prompted, then check /mcp. If the claude.ai Cady connector is on in Claude Code, switch it off there; both together show Cady twice.
Codex CLI or desktop
In a terminal, run these commands, or add Cady under Settings → MCP servers:
codex mcp add cady --url 'https://app.cadyworks.com/mcp'
codex mcp login cady
Sign in and approve the company in your browser. If Cady tools are missing, reconnect Cady and start a new session. Set default_tools_approval_mode to "approve" for Cady only to reduce repeated write prompts; do not change global approval settings.
Gemini CLI
Merge this entry into the existing mcpServers object in Gemini CLI settings, preserving other servers:
{
"mcpServers": {
"cady": {
"httpUrl": "https://app.cadyworks.com/mcp"
}
}
}
Then run /mcp auth cady and complete sign-in in the browser.
Antigravity
Merge this entry into ~/.gemini/config/mcp_config.json, preserving other servers:
{
"mcpServers": {
"cady": {
"serverUrl": "https://app.cadyworks.com/mcp"
}
}
}
Sign in in the browser when asked.
Grok
On grok.com open Connectors → New Connector → Custom and enter https://app.cadyworks.com/mcp. Or in a terminal, run:
grok mcp add --transport http cady 'https://app.cadyworks.com/mcp'
Sign in in the browser when asked.
Hermes Agent
Add this to ~/.hermes/config.yaml, preserving other servers:
mcp_servers:
cady:
url: "https://app.cadyworks.com/mcp"
auth: oauth
Then run hermes mcp login cady and approve the company in the browser.
Cursor
Settings → Tools & MCP → add Cady, or configure .cursor/mcp.json using the current documented format. Check the format against your installed version.
VS Code / GitHub Copilot
In VS Code, run MCP: Add Server, or merge this server into .vscode/mcp.json. Copilot portable config uses a different format; follow its documentation.
{
"servers": {
"cady": {
"type": "http",
"url": "https://app.cadyworks.com/mcp"
}
}
}
Sign in in the browser when asked.
Cline
Use the MCP Servers panel → Remote Servers, or its CLI to add Cady. Follow the current Cline steps to sign in.
cline mcp add cady 'https://app.cadyworks.com/mcp' --transport http --yes
Roo Code
Roo Code supports remote MCP servers. Cady has not been verified with Roo Code; check that your version supports remote connections and browser sign-in.
{
"mcpServers": {
"cady": {
"type": "streamable-http",
"url": "https://app.cadyworks.com/mcp"
}
}
}
Goose
Not yet verified with Cady. Check that your version supports remote HTTP and browser sign-in.
Zed
Settings → AI → MCP Servers → Add Server → Add Remote Server. Zed supports browser sign-in when the server does not require a separate authorization header.
{
"context_servers": {
"cady": {
"url": "https://app.cadyworks.com/mcp"
}
}
}
OpenCode
Run this command, then authenticate in the browser:
opencode mcp add cady --url 'https://app.cadyworks.com/mcp'
opencode mcp auth cady
Windsurf / legacy Cascade
The available Cascade instructions apply to legacy Cascade; do not treat them as current Windsurf defaults. Follow the current product’s MCP documentation.
Other agent apps
Add https://app.cadyworks.com/mcp as a remote HTTP MCP server named cady. Follow the app’s steps to connect and sign in. Use fixed-client settings only when Cady provides them for this connection; never copy identifiers from another deployment.