Doozy MCP server: connect Claude, Cursor, Codex
Doozy has a hosted MCP server. Nothing to install, nothing to run: point your client at https://api.usedoozy.com/mcp with your API key. It uses Streamable HTTP and the same API key as /api/v1; one key opens exactly one workspace.
Create a key in Settings > API keys to get your own one-click install links. These examples use a placeholder key.
Test either install button by asking “list my active todos”. A correct answer lists active todos from the key’s workspace, or says there are none.
Claude Desktop and claude.ai
Claude Desktop and claude.ai do not provide a deep link for remote servers or accept a custom bearer header. Their remote connectors support OAuth or no authentication, while Doozy MCP currently requires a bearer API key. Doozy OAuth support is coming.
Customize > Connectors > + > Add custom connector
Server URL: https://api.usedoozy.com/mcpThis will not connect until Doozy adds OAuth support. Test it after OAuth is available by asking “list my active todos”. A correct answer lists active todos from the connected workspace, or says there are none.
Claude Code
claude mcp add --transport http doozy https://api.usedoozy.com/mcp --header "Authorization: Bearer doozy_sk_..."Test it: ask “list my active todos”. A correct answer lists active todos from the key’s workspace, or says there are none.
Cursor and other MCP clients
Use Add to Cursor above for one-click setup, or add this to mcp.json for Cursor or another compatible client:
{
"mcpServers": {
"doozy": {
"url": "https://api.usedoozy.com/mcp",
"headers": { "Authorization": "Bearer doozy_sk_..." }
}
}
}Test it: ask “list my active todos”. A correct answer lists active todos from the key’s workspace, or says there are none.
Codex CLI
The current Codex CLI uses --url for Streamable HTTP and reads the bearer token from the environment variable named by --bearer-token-env-var:
export DOOZY_API_KEY="doozy_sk_..."
codex mcp add doozy --url https://api.usedoozy.com/mcp --bearer-token-env-var DOOZY_API_KEYThe equivalent ~/.codex/config.toml entry is:
[mcp_servers.doozy]
url = "https://api.usedoozy.com/mcp"
bearer_token_env_var = "DOOZY_API_KEY"Test it: ask “list my active todos”. A correct answer lists active todos from the key’s workspace, or says there are none.
ChatGPT
ChatGPT does not provide a deep link for remote servers. Its manual connector path is:
Settings > Connectors > Create
Server URL: https://api.usedoozy.com/mcpChatGPT custom connectors currently support OAuth or no authentication. Doozy MCP currently requires a bearer API key, and the ChatGPT connector setup does not accept a custom Authorization header. This setup will not connect until Doozy adds OAuth support. It is listed plainly here so you do not mistake an authentication limitation for a bad key.
Test it after OAuth support is available: ask “list my active todos”. A correct answer lists active todos from the connected workspace, or says there are none.
Check the connection
curl https://api.usedoozy.com/mcp \
-X POST \
-H "Authorization: Bearer doozy_sk_..." \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
--data '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'The response contains result.tools. You should see names such as list_todos, get_chat, run_todo, and create_skill.
Tools
| Name | Scope | readOnly | destructive | Description |
|---|---|---|---|---|
list_todos | todos:read | true | false | List todos with filtered counts and workspace totals. |
get_todo | todos:read, chats:read | true | false | Read a todo, its latest run, chat id, and optional new messages. |
create_todo | todos:write | false | false | Create a todo and optionally assign and run an agent. |
update_todo | todos:write | false | false | Update fields on a todo. |
complete_todo | todos:write | false | false | Mark a todo complete. |
reopen_todo | todos:write | false | false | Reopen a completed todo. |
archive_todo | todos:write | false | false | Archive a todo without erasing it. |
unarchive_todo | todos:write | false | false | Return an archived todo to the active list. |
run_todo | todos:write | false | false | Hand a todo to an agent and return its run and chat ids. |
list_chats | chats:read | true | false | List conversations with agents. |
get_chat | chats:read | true | false | Read a chat and poll for new messages by cursor or sequence. |
create_chat | chats:write | false | false | Start a conversation with an agent and a first message. |
send_chat_message | chats:write | false | false | Send a follow-up into an existing chat. |
stop_chat | chats:write | false | false | Stop a chat that is taking too long or is no longer useful. |
list_agents | agents:read | true | false | List workspace agents. |
get_agent | agents:read | true | false | Read an agent with instructions, model selection, and skills. |
create_agent | agents:write | false | false | Create an agent. |
update_agent | agents:write | false | false | Update, archive, or restore an agent. |
list_skills | agents:read | true | false | List skills for one agent or the workspace. |
get_skill | agents:read | true | false | Read one skill and its full instructions. |
create_skill | agents:write | false | false | Teach an agent a named skill. |
update_skill | agents:write | false | false | Update, archive, or restore a skill. |
list_captures | captures:read | true | false | List captures with their tags. |
get_capture | captures:read | true | false | Read a capture with its transcript, notes, and tags. |
update_capture | captures:write | false | false | Update a capture title, tags, or notes. |
start_capture | captures:write | true | false | Return the workspace recording page link. |
list_todo_lists | todos:read | true | false | List workspace todo lists. |
upsert_todo_list | todos:write | false | false | Create, update, archive, or restore a todo list. |
Get a key
Open Settings > API keys in Doozy. Choose only the scopes the agent needs. Authentication and keys explains key creation, storage, rotation, and revocation.