Connect Mursa to Claude, Cursor, or any MCP client.
Two steps, sixty seconds. Grab a key in Mursa, run one command, and your agent can read and update your tasks, calendar, goals, notes, habits, projects, and Gmail — with exactly the access you grant.
Get your key
- In Mursa, open Settings → API keys and click New key.
- Copy it — it starts with
mursa_mcp_and shows only once.
Just trying it out? Grant everything and skip the expiry. For real use, limit the scopes and set an expiry when you create the key.
Run one command
Paste this in your terminal with your key. It sets Mursa up in Claude Code, Claude Desktop, and Cursor automatically — no config files to hand-edit. Node 18+ is the only requirement.
npx -y mursa-mcp setup --key=mursa_mcp_…
Prefer to edit the config yourself?
Add this to your client's MCP config — Claude Code ~/.claude.json, Claude Desktop claude_desktop_config.json, or Cursor → Settings → MCP — and drop your key into MURSA_API_KEY:
{
"mcpServers": {
"mursa": {
"command": "npx",
"args": ["-y", "mursa-mcp"],
"env": { "MURSA_API_KEY": "mursa_mcp_…" }
}
}
}Restart and verify
Restart your AI client, then ask it to run whoami — it should return your Mursa account. That's it, you're connected.
What your agent can do
28 tools across 7 resources. Every tool is gated by its scope — keys without the matching scope get a clean 403, never your data.
| Tool | Scope |
|---|---|
whoami Sanity-check the key resolves to your user. | (any key) |
list_inbox / list_myday / list_schedule / search_tasks Read your tasks. | tasks:read |
create_task / update_task / complete_task / defer_task / schedule_task Mutate tasks. | tasks:write |
list_calendar / create_calendar_event Time-blocked tasks. | calendar:read · calendar:write |
list_goals / create_goal / update_goal / delete_goal Your goals. | goals:* |
list_notes / search_notes / create_note / update_note Your notes. | notes:* |
list_habits · list_projects Read-only for now. | habits:read · projects:read |
list_emails / get_email / get_attachment / search_emails Read Gmail (requires Gmail connected in Settings). | email:read |
send_email / reply_email Send Gmail. Rate-limited to 5/min. Attachments ≤3MB each, ≤10MB total. | email:send |
Security
- Hashed at rest — only sha256(key) is stored. Lose the key, mint a new one.
- Per-key scopes + expiry — pick exactly what each key can do and how long it lives.
- Hard revocation — revoke from the dashboard and the next call fails instantly.
- Per-action rate limits — 60/min reads, 30/min writes, 5/min email sends.
- Audit log — every call recorded (action, status, latency, IP) for 90 days, no payload.
- One public URL — the Supabase function is behind a proxy with a shared secret; direct hits get 403.
Prefer to run from source?
git clone https://github.com/Murali1889/Prod-Mursa.git cd Prod-Mursa/mcp-servers/mursa npm install echo 'MURSA_API_KEY=mursa_mcp_…' > .env
Then point your client at the absolute path:
{
"mcpServers": {
"mursa": {
"command": "node",
"args": ["/absolute/path/to/mcp-servers/mursa/server.js"]
}
}
}Ready to wire it up?
Mint your first key in the dashboard.
Open dashboard