Cofounder CLI
Connect an Agent
Point any MCP-compatible agent at Cofounder's hosted MCP server; no CLI install required. Covers Claude Code, Codex, Cursor, and other clients.
Cofounder runs a hosted MCP server, and your agent talks to it directly:
https://api.superoptimizers.cofounder.co/mcpPoint a compatible client at that URL and it gets the full tool surface: roughly 340 tools covering companies, knowledge, providers, deploys, communication, and operations. No CLI install, no local process to babysit. These are the same operations the CLI and API expose.
One-click install
-
Cursor: Add Cofounder to Cursor opens Cursor with an "Install MCP server?" dialog prefilled with the Cofounder URL.
-
VS Code: Add Cofounder to VS Code opens VS Code's MCP install prompt.
-
Claude Code: requires Claude Code 2.1.292 or later.
claude plugin install cofounder --marketplace General-Intelligence-Company/cofounder-plugin -
Claude app: under Customize → Connectors → Add custom connector, paste
https://api.superoptimizers.cofounder.co/mcp/claude. -
Codex: if the Cofounder plugin is installed, open Plugins → Cofounder → Authenticate; otherwise use the manual Codex configuration below.
After installing, sign in when prompted and ask your agent: "Get started with Cofounder."
Your browser asks before opening the Cursor or VS Code link. These links work only with the app installed on the same machine.
Install with your agent
If you cannot use a link above, copy this prompt into your MCP-compatible agent's chat:
Please install the Cofounder MCP: https://api.superoptimizers.cofounder.co/mcp
then please trigger oauth signin and follow https://app.cofounder.co/mcp-onboarding/skill.md to onboard me onto CofounderYour agent will use it to connect to Cofounder, start OAuth sign-in, and follow the onboarding guide. Complete any installation, sign-in, or consent steps the client asks you to confirm. Copying the prompt alone does not install the server or sign you in.
This prompt connects to production Cofounder.
If your client cannot register an MCP server from a chat prompt, use its supported setup flow. The CLI and manual configuration options below are alternatives. The prompt is chat text, not a shell command or a JSON configuration file.
The fast way: cofounder mcp setup
If you have the CLI installed, it writes the config for you:
cofounder mcp setupIt configures Claude Code and Codex by default and leaves your other MCP
servers alone. Pass --client claude, --client codex, or
--client cursor to pick one, and --print to see what it would write
without touching anything.
- Claude Code:
.mcp.jsonin the current directory (project scope) - Codex:
$CODEX_HOME/config.toml, defaulting to~/.codex/config.toml(user-global) - Cursor:
~/.cursor/mcp.json(user-global)
Adding it by hand
Every client stores its MCP servers in a JSON or TOML file, so you can add a
cofounder entry yourself.
Where the entry goes controls where the server shows up. .mcp.json is
checked into your project, so the server loads there and for collaborators who
clone it (each signs in separately). The Codex and Cursor paths below are
user-global: the server loads in every project on your machine. Prefer the
project-scoped config unless you want Cofounder in every project. For
Claude Code that's user scope:
claude mcp add --scope user --transport http cofounder https://api.superoptimizers.cofounder.co/mcpClaude Code — .mcp.json in your project:
{
"mcpServers": {
"cofounder": {
"type": "http",
"url": "https://api.superoptimizers.cofounder.co/mcp"
}
}
}Codex — $CODEX_HOME/config.toml (~/.codex when unset):
[mcp_servers.cofounder]
url = "https://api.superoptimizers.cofounder.co/mcp"Then run codex mcp login cofounder to sign in through your browser. Codex
stores the OAuth credential. A headless agent skips the login and names a
bearer environment variable instead:
[mcp_servers.cofounder]
url = "https://api.superoptimizers.cofounder.co/mcp"
bearer_token_env_var = "COFOUNDER_API_TOKEN"cofounder mcp setup writes that field automatically when
COFOUNDER_API_TOKEN holds a company API key (a cfk_ value, or an opaque
placeholder marked with COFOUNDER_API_TOKEN_KIND=company_api_key).
Cursor — ~/.cursor/mcp.json:
{
"mcpServers": {
"cofounder": {
"url": "https://api.superoptimizers.cofounder.co/mcp"
}
}
}For any other client, use the streamable-HTTP URL with native MCP OAuth. The Claude app (desktop or claude.ai) is one of them. It keeps no config file: paste the URL under Settings → Connectors → Add custom connector.
Signing in
Run codex mcp login cofounder, authenticate through Claude Code's /mcp,
or connect through Cursor's MCP settings. In the Claude app, choose
Connect on the Cofounder connector (in Settings → Connectors, or /mcp
in the chat). The app opens the browser sign-in itself; no terminal is
involved. Each host stores its own OAuth credential. Do not export a CLI
token into the host's MCP configuration. Signing in to the CLI does not sign
in to an MCP host.
For an agent that cannot open a browser (CI, a cloud box, a company-owned
agent), authenticate with a company API key instead. Export the key in
COFOUNDER_API_TOKEN in the agent's environment and run cofounder mcp setup: each entry then reads the key from that variable as its bearer
credential, so nothing signs in and no token lands in a config file. Codex
uses bearer_token_env_var, Claude Code an Authorization header
referencing ${COFOUNDER_API_TOKEN}, and Cursor ${env:COFOUNDER_API_TOKEN}.
Other token values in COFOUNDER_API_TOKEN keep the OAuth setup above, since
only company keys authenticate the hosted MCP without sign-in.
A company key acts as its own key identity inside its company: pass that
company's org_id as company_id on company-scoped calls.
A localhost callback is a temporary listener started by the signing-in client. Use a browser on the same computer. If the listener has stopped or the login was started in a remote terminal, restart login in the intended client.
The connected token identifies the user. Before acting, use user_get and
company_memberships_list to identify the intended company; pass its org_id
as company_id on company-scoped tools. Ask when the target is ambiguous.
user_get returns the connected user's stable id and display email.
The ID stays the same across token refresh, reconnection, and email changes;
it does not identify or select a company. OpenAI hosts can discover this tool
as the authenticated profile source. Credential failures include an OAuth
challenge so supported hosts can prompt you to reconnect. A company-permission
or vendor-authentication error does not request a new Cofounder sign-in.
To use a different Cofounder account with the same Codex server entry, run
codex mcp logout cofounder, switch to the desired account in your browser,
then run codex mcp login cofounder. Start a new Codex session after switching.
Codex does not offer an account picker for one MCP server entry.
If the consent screen shows the wrong account, choose Use another account. This cancels the pending connection and signs out of Cofounder in that browser. Restart the agent's sign-in to choose the other account. Supabase binds a pending request to its first account, so it cannot be reused after switching. An existing consent may skip this screen; in that case, use the logout steps above.
Revoke a connection
On servers with MCP OAuth connection management enabled, use a separate CLI user login to list and revoke a connection, even if its original client is lost:
cofounder auth connections list --json
cofounder auth connections revoke --connection-id <connection-id> --jsonThe list contains connection metadata, never tokens. Client names are supplied by the connecting application. Revocation blocks subsequent authentication, including refresh; it cannot cancel an operation already authorized. Logging out in a client may only remove its saved credential, so use revocation when you need to disconnect it. Company API keys cannot manage account connections. Older direct Supabase connections must reconnect before appearing in this list.
Transport and company switching
HTTP is the supported hosted transport; stdio is not required. Switching companies within the same account needs no new token: select the company's ID on each call. A directory name or the CLI's default company does not establish the target for an MCP task. This is an account-wide connection: permissions also cover companies you join later. Use a company-bound API key for an unattended CLI job.
The older cofounder mcp stdio bridge forwards the CLI's credential. A
company API key in COFOUNDER_API_TOKEN authenticates on any endpoint. A
saved user login only works with legacy server authentication and cannot
authenticate to the OAuth proxy, so user sessions should use
cofounder mcp setup and complete native OAuth.
More than tools
Tools are most of the surface, not all of it. The server also exposes your
company's skills (skill://) and Library files as resources, prompts that
show up as slash commands, and the CRM board and domain purchaser, covered
in MCP Beyond Tools.
A few capabilities aren't on MCP today, including minting API keys and provider credentials. Pages mark them where they come up; the CLI covers them.
Give local agents context
Agents running in your checkout work better when they know which company they serve and how to reach it:
The Cofounder plugin includes cofounder-company-work, a reusable skill for
reading current company context and sharing meaningful findings, decisions,
blockers, and completed work through company events. ChatGPT, Codex, and
Claude can discover it when you work on a company connected to Cofounder.
Connecting an MCP server by itself adds tools, not this skill.
For CLI-only use, install the skill for your local agent. Choose the command for your host:
# Codex: ~/.agents/skills/cofounder-company-work/SKILL.md
cofounder instructions install-skill --client codex
# Claude Code: ~/.claude/skills/cofounder-company-work/SKILL.md
cofounder instructions install-skill --client claudeInstallation works offline without signing in. --print previews the target
and content without writing. Repeating installation leaves an identical skill
unchanged; replacing different content requires --replace. Keep the bundled
skill when the plugin already supplies it rather than installing a duplicate.
Local installation does not add a skill to your ChatGPT or Claude cloud account;
install the Cofounder plugin through that host's plugin settings instead.
Use cofounder instructions setup --company-id <org-id> from your project
folder to bind its instructions to the verified company. It also adds guidance
to read relevant state and post concise updates about company work. Skills are
selected by the host when relevant; project instructions help keep the company
binding available in later chats.
| MCP | CLI | What it does |
|---|---|---|
| — | cofounder instructions setup | Write Cofounder guidance into AGENTS.md and CLAUDE.md in the current directory (--print to preview) |
| — | cofounder instructions install-skill --client codex | Install the company-work skill locally; use --client claude for Claude Code |
| — | cofounder onboarding | Print the hosted onboarding skills; works before you sign in |
plugin_context_get | cofounder plugin context get | Confirm which account and company the agent is acting as |
plugin_setup_get | cofounder plugin setup get | Read the environment the CLI and plugins need |
| — | cofounder skills list | List your skills, including Cofounder's defaults and ones you wrote |
| — | cofounder skills show <name> | Print one skill's current instructions |
| — | cofounder skills get --skill-name <name> | Read one skill's instructions plus the list of files that come with it |
| — | cofounder agent set-context <text> | Leave a short note (up to 2,000 characters) for other agents on this machine |
| — | cofounder agent get-context | Read the note |
| — | cofounder agent clear-context | Remove the note |
The coordination note lives only on your machine, is never sent to
Cofounder, and shows up in cofounder auth whoami, so parallel agents can
see what the others are doing. Each company keeps its own note, and all
three commands work offline.