nirvana-mcp
MCP server that exposes NirvanaHQ (GTD task manager) to Claude Code, enabling task management and project tracking through natural language.
README
nirvana-mcp
MCP server that exposes NirvanaHQ — the GTD task manager — to Claude Code and other MCP-compatible clients.
Status: 17 read-only tools shipped (see docs/tools.html for the full reference). Writes are next. See PLAN.md for the roadmap.
Install into Claude Code
Prerequisites: Node.js 20 or newer (ships with npx) and the Claude Code CLI. Nothing needs to be cloned or globally installed — npx -y downloads the package on demand.
# 1. Get a Nirvana auth token. Prompts for username + password.
npx -y @sgoettschkes/nirvana-mcp login
# 2. Install the server. Paste the token from step 1.
claude mcp add nirvana \
--env NIRVANA_AUTH_TOKEN=<paste-token-here> \
-- npx -y @sgoettschkes/nirvana-mcp
# 3. Restart Claude Code, then ask: "What's in my Nirvana inbox?"
To remove: claude mcp remove nirvana.
Tools
| Tool | Description |
|---|---|
list_inbox |
Tasks in the Inbox (state=0) — unprocessed items not yet categorized. |
list_next_actions |
Tasks marked Next (state=1) — concrete, actionable next steps. |
list_waiting_for |
Tasks Waiting on someone else (state=2). |
list_scheduled |
Tasks deferred to a future start date (state=3). |
list_someday |
Tasks parked in Someday/Maybe (state=4). |
list_later |
Tasks in the Later list (state=5) — between Next and Someday. |
list_trash |
Soft-deleted tasks (state=6), still recoverable. |
list_logbook |
Completed tasks (state=7) — currently returns all-time history. |
list_recurring |
Recurring task templates (state=9) — the rules, not individual occurrences. |
list_focus |
Tasks flagged for Focus (seqt > 0), excluding completed/trashed items. |
list_projects |
Active projects (type=1, state=11). |
get_project |
One project plus its direct children (tasks and sub-projects). Identify by id or name. |
list_areas |
High-level life domains (e.g. "work", "personal"). |
list_tags |
Plain tags + contacts (with a kind field). In current Nirvana, GTD contexts are stored as plain tags. |
list_reference_lists |
Reference Lists (type=3, state=10) — top-level containers for non-actionable notes / lookup material. |
get_reference_list |
One Reference List plus all its items. Identify by id or name. |
search_tasks |
Filter tasks by text (name+note substring), tag, area, and/or state. At least one filter required. |
How it works
NirvanaHQ has an undocumented HTTP API at https://api.nirvanahq.com. This server:
- Calls
auth.newwith your username and the MD5 of your password to obtain a long-lived auth token. - Calls the bulk
everythingendpoint and filters the result client-side to answer each tool.
Your password is hashed locally and never stored. Only the auth token is persisted (in your MCP client's config). Revoke it any time by changing your Nirvana password.
Troubleshooting
Nirvana API error 98: Invalid Login Details— wrong username/password.Missing required env var: NIRVANA_AUTH_TOKEN— runnirvana-mcp loginfirst and put the token in yourclaude mcp addcommand.Nirvana API errorfrom a tool call — your token was probably revoked (changing your Nirvana password does this). Re-runnirvana-mcp login, thenclaude mcp remove nirvana && claude mcp add ...with the new token.
Development
git clone https://github.com/Sgoettschkes/nirvana_mcp
cd nirvana_mcp
asdf install # installs the pinned Node version
npm install
cp .env.example .env # creates .env with an empty NIRVANA_AUTH_TOKEN
npm run login # prompts for username + password,
# prints an auth token. Paste it as
# NIRVANA_AUTH_TOKEN in .env.
npm run dev # runs the server against your account
npm run inspect # builds, then opens MCP Inspector
When verifying the published install from inside this repo, the package.json name collides with the npm package, and npx -y @sgoettschkes/nirvana-mcp … will fail with command not found. Run from a different directory (cd ~ && npx …) or use the explicit form: npx -y --package=@sgoettschkes/nirvana-mcp nirvana-mcp ….
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.