A minimal Node.js MCP (Model Context Protocol) server for GTD-style project and task management.
- Inbox-first workflow: Capture everything quickly, process later
- Project organization: Multi-step outcomes with associated actions
- Context-based actions: Organize tasks by where they can be done (@calls, @computer, @errands)
- GTD workflows: Process inbox, weekly reviews, waiting for tracking
- Simple storage: JSON files for easy backup and portability
cd gtd-mcp-server
npm installInstall the server for Claude Code:
# From the gtd-mcp-server directory
claude mcp add-json gtd-server '{"command": "node", "args": ["index.js"], "cwd": "'$(pwd)'"}'Verify installation:
claude mcp listThe server should show as "✓ Connected".
The server runs as an MCP server and provides the following tools:
inbox- Capture anything quickly (primary entrypoint)list_inbox- Show unprocessed inbox items
process_inbox- Convert inbox items to projects/actions or discard
create_project- Create new projectslist_projects- List projects by statuscomplete_project- Mark projects as donemove_to_someday- Move to someday/maybeactivate_project- Activate someday projects
add_action- Create next actionscomplete_task- Mark actions as doneset_waiting- Set action as waiting for othersset_next- Convert waiting to next actionlist_next_actions- Show all next actionslist_waiting- Show waiting for items
list_by_context- Group actions by contextlist_contexts- Show available contexts
weekly_review- Comprehensive GTD review
- Capture: Use
inboxto quickly capture thoughts, tasks, ideas - Process: Use
process_inboxto organize items into projects and actions - Organize: Use context-based tools to see actionable items
- Review: Use
weekly_reviewto maintain system health - Do: Work from context lists (
list_by_context)
Data is stored in simple JSON files in the data/ directory:
inbox.json- Unprocessed captured itemsprojects.json- Projects and their metadataactions.json- Next actions and waiting items
npm startThe server uses stdio transport for MCP communication.