Brain Dump - AI Voice-Powered Todo Organizer LogoBrain DumpBETA

Connect an AI Agent (MCP)

Brain Dump hosts a remote Model Context Protocol server, so Claude - or any MCP client - can work your todo list directly: read it, add and update items, and turn a raw brain dump of free-form text into prioritized todos. No glue code; the agent gets tools.

Server URL: https://braindump.latentedge.io/api/v1/mcp

Setup

  1. Activate API access: an active $5/month API subscription or lifetime beta access. Without it the connection fails with 402 SUBSCRIPTION_REQUIRED.
  2. Create an API key (starts with bdk_) in Settings. It is shown once - store it safely.
  3. Add the server to your agent with the key as a bearer header (below).

With Claude Code

claude mcp add --transport http braindump \
  https://braindump.latentedge.io/api/v1/mcp \
  --header "Authorization: Bearer bdk_your_key_here"

Or in any MCP client that supports remote HTTP servers

{
  "mcpServers": {
    "braindump": {
      "type": "http",
      "url": "https://braindump.latentedge.io/api/v1/mcp",
      "headers": { "Authorization": "Bearer bdk_your_key_here" }
    }
  }
}

Verify with curl

curl -sS -X POST "https://braindump.latentedge.io/api/v1/mcp" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $BRAINDUMP_API_KEY" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Tools

Every tool is scoped to the account that owns the API key. Priorities run 1=urgent, 2=high, 3=medium, 4=low.

list_todosAll todos on the account, oldest first.
create_todoOne todo: text, priority, category, optional duration estimate.
update_todoPartial update by id - only the fields passed change.
delete_todoDelete by id. Permanent.
structure_dumpThe core Brain Dump flow: raw free-form text in, structured todos out. Creates them on the account by default; pass autoCreate: false to review proposals first.

Things to ask it

Once connected, the agent picks the right tools on its own:

"What's on my list today? Anything urgent?"
"Add: renew the car insurance, high priority."
"Here's my morning brain dump - turn it into todos: ..."
"I finished the tax paperwork, take it off the list."

Give your agent the skill

The tools tell an agent what it can call; the skill tells it how to work them well - sensible defaults, confirmation before bulk deletes, and the REST fallback for runtimes without MCP. It is plain Markdown, hosted at /skills/brain-dump-api/SKILL.md.

View SKILL.md contents
---
name: brain-dump-api
description: Use the Brain Dump API from agents and automations. Trigger when an agent needs to access a user's Brain Dump todos programmatically, connect the Brain Dump MCP server at https://braindump.latentedge.io/api/v1/mcp, configure bdk_ API key authentication, call https://braindump.latentedge.io/api/v1/todos CRUD endpoints, install the downloadable Brain Dump API skill, or use the bundled todo helper script.
---

# Brain Dump API

## Core Rules

- Use API base `https://braindump.latentedge.io` unless the user explicitly provides `BRAINDUMP_API_BASE` for another environment.
- Authenticate todo CRUD requests with a user-created Brain Dump API key that starts with `bdk_`.
- Send the key as `Authorization: Bearer $BRAINDUMP_API_KEY`. `X-API-Key: $BRAINDUMP_API_KEY` is also supported, but bearer auth is preferred.
- Use `/api/v1/todos` only for the account owned by the API key. Never ask for, infer, or use another user's key.
- Keep API keys out of source control, logs, screenshots, transcripts, and committed config.
- Use the OpenAPI contract for extra detail when needed: `https://braindump.latentedge.io/api/v1/openapi.json`.
- Prefer the MCP server over raw HTTP when the agent runtime supports MCP.

## MCP Server

Brain Dump hosts a remote MCP (Model Context Protocol) server at `https://braindump.latentedge.io/api/v1/mcp`.
It authenticates with the same `bdk_` API key and exposes five tools: `list_todos`, `create_todo`, `update_todo`, `delete_todo`, and `structure_dump` (turn a raw brain dump of free-form text into structured todos - the core product flow).

Connect from Claude Code:

```bash
claude mcp add --transport http braindump https://braindump.latentedge.io/api/v1/mcp --header "Authorization: Bearer $BRAINDUMP_API_KEY"
```

Or add it to any MCP client's `mcpServers` config:

```json
{
  "mcpServers": {
    "braindump": {
      "type": "http",
      "url": "https://braindump.latentedge.io/api/v1/mcp",
      "headers": { "Authorization": "Bearer bdk_your_key_here" }
    }
  }
}
```

Notes:

- The server is stateless streamable HTTP: tools only, no server push.
- The same subscription gate applies: without an active API subscription or beta entitlement the connection fails with `402`.
- `structure_dump` spends the account's shared AI quota (default 20/minute, 300/day). A leaked key can spend that quota, so rotate keys promptly if exposed.
- Todo reads, writes, and AI calls share their rate-limit buckets with the REST endpoints.

## Install This Skill

Install on another Codex or agent machine by downloading the zip and unpacking it into the agent's skills directory:

```bash
SKILLS_DIR="${CODEX_HOME:-$HOME/.codex}/skills"
mkdir -p "$SKILLS_DIR"
curl -L "https://braindump.latentedge.io/skills/brain-dump-api-skill.zip" -o /tmp/brain-dump-api-skill.zip
unzip -o /tmp/brain-dump-api-skill.zip -d "$SKILLS_DIR"
chmod +x "$SKILLS_DIR/brain-dump-api/scripts/braindump_todos.py"
```

For non-Codex agents, copy the `brain-dump-api` folder into that agent's custom skills/prompts directory and include `SKILL.md` as the API usage guide.

## Secrets Setup

Set the API key in the shell environment before running helper scripts or curl examples:

```bash
export BRAINDUMP_API_KEY="bdk_your_key_here"
export BRAINDUMP_API_BASE="https://braindump.latentedge.io"
```

For persistent local use, store those exports in a private shell profile or a local `.env` file that is ignored by git. Do not commit the key.

## Helper Script

Use the bundled helper when shell access is available and Python 3 is installed:

```bash
python "$SKILLS_DIR/brain-dump-api/scripts/braindump_todos.py" list
python "$SKILLS_DIR/brain-dump-api/scripts/braindump_todos.py" create --text "Send project update" --priority 2 --category work --minutes 25
python "$SKILLS_DIR/brain-dump-api/scripts/braindump_todos.py" update 123 --text "Send final project update" --priority 1
python "$SKILLS_DIR/brain-dump-api/scripts/braindump_todos.py" delete 123
```

The helper prints JSON by default. Add `--summary` before the command for readable text output.

## HTTP Examples

Use these examples when the helper is not available.

### List Todos

```bash
curl -sS "https://braindump.latentedge.io/api/v1/todos" \
  -H "Authorization: Bearer $BRAINDUMP_API_KEY"
```

### Create Todo

```bash
curl -sS -X POST "https://braindump.latentedge.io/api/v1/todos" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $BRAINDUMP_API_KEY" \
  -d '{"text":"Send project update","priority":2,"category":"work","estimatedDurationMinutes":25}'
```

### Update Todo

```bash
curl -sS -X PUT "https://braindump.latentedge.io/api/v1/todos/123" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $BRAINDUMP_API_KEY" \
  -d '{"text":"Send final project update","priority":1}'
```

### Delete Todo

```bash
curl -sS -X DELETE "https://braindump.latentedge.io/api/v1/todos/123" \
  -H "Authorization: Bearer $BRAINDUMP_API_KEY"
```

## Todo Fields

- `id`: integer todo ID returned by the API.
- `text`: required string, 1 to 5000 characters.
- `priority`: required integer from `1` to `4`; `1` is urgent and `4` is low priority.
- `category`: required string, usually a short label such as `work`, `home`, `errands`, or `general`.
- `estimatedDurationMinutes`: optional integer minutes or `null`.
- `createdAt`: Unix timestamp in seconds.

Create requires `text`, `priority`, and `category`. Update accepts any subset of `text`, `priority`, `category`, and `estimatedDurationMinutes`.

## Agent Workflow

- List todos first when the user references a todo by description instead of ID.
- For create requests without an explicit priority or category, use `priority: 3` and `category: "general"`, then tell the user those defaults were used.
- For update/delete requests, operate on the exact todo ID when available.
- Ask for confirmation before bulk deletes or broad updates unless the user gave an explicit, unambiguous instruction.
- After a create, update, or delete, summarize the changed todo ID and text.

## Common Errors

- `401`: Missing, malformed, expired, or revoked API key. Ask the user to create or provide a valid `bdk_` key.
- `402`: API subscription or lifetime beta entitlement is required.
- `404`: Todo ID does not exist for this API key's account.
- `429`: Rate limit hit. Wait before retrying.

Good to know

  • Transport is stateless streamable HTTP - one POST per JSON-RPC message, no session to manage.
  • Rate limits are shared with the REST API: 60 MCP requests/minute, 120 todo reads/minute, 60 todo writes/minute per account.
  • structure_dump spends the account's AI quota (20/minute, 300/day), shared with the app. Rotate the key in Settings if it ever leaks.
  • Every MCP call is audited against the API key, and revoking the key cuts the agent off immediately.

Building a pipeline instead of connecting an agent? The same key drives the REST API.