Set up GetItDone in Codex
Let Codex do it: paste this sentence and it follows the setup prompt itself. The steps below are the same ones, by hand.
Fetch and execute the appropriate instructions to set me up for GetItDone from https://nowgetitdone.com/agent-setup/prompt.md1. Get an API key
Create a key at Profile → API Keys and store it in your project's .env as GETITDONE_API_KEY=gid_…. Keep .env in .gitignore.
2. Connect the MCP server
Config: ~/.codex/config.toml
- Append the block below to
~/.codex/config.toml(create the file if needed; skip it if a[mcp_servers.getitdone]table is already there). It names the variable, never the key. - This agent reads
GETITDONE_API_KEYfrom the environment it was started in, not from.env. Tell the user to addexport GETITDONE_API_KEY=<key>to their shell profile, or to start the agent from this project after runningset -a; . ./.env; set +a. - Tell the user to restart Codex so the
getitdoneserver loads.
[mcp_servers.getitdone]
url = "https://app.nowgetitdone.com/api/mcp"
bearer_token_env_var = "GETITDONE_API_KEY"No key? Leave out the bearer_token_env_var line, then run codex mcp login getitdone and sign in to GetItDone in the browser.
3. Tell Codex about GetItDone
Append this block to AGENTS.md.
- Add
.envto.gitignoreif it is not already there, so the key never lands in a commit.
## GetItDone
GetItDone is the task manager this project talks to.
- MCP server: `getitdone` at https://app.nowgetitdone.com/api/mcp. Prefer it for tasks, projects and workspaces: call `search_tools` first, then run one `execute_typescript` program that calls the tools it found. When the connection reaches more than one workspace, pass the `workspaceId` from `list_workspaces`.
- REST API for everything else: base URL https://app.nowgetitdone.com/v1
- Auth: send the key from the GETITDONE_API_KEY environment variable as `Authorization: Bearer <key>`
- OpenAPI spec (source of truth for paths and payloads): https://nowgetitdone.com/docs/api/openapi.json
- Human reference: https://nowgetitdone.com/docs/api
- Errors are RFC 9457 problem+json: switch on `code`, back off on 429 honouring `Retry-After`, and send an `Idempotency-Key` on POSTs that create something.
Never print the key. Prefer reading the spec over guessing an endpoint.4. Verify
set -a; . ./.env; set +a
curl -s -H "Authorization: Bearer $GETITDONE_API_KEY" https://app.nowgetitdone.com/v1/organizations
curl -s -X POST https://app.nowgetitdone.com/api/mcp -H "Authorization: Bearer $GETITDONE_API_KEY" -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'The first command lists the workspace the key belongs to; the second lists the MCP tools, including search_tools and execute_typescript. A 401 means the key is missing, revoked or mistyped.
Every client and the full tool list: MCP server guide.