
Sunsama
STDIOMCP server for Sunsama task management, enabling AI assistants to manage productivity workflow.
MCP server for Sunsama task management, enabling AI assistants to manage productivity workflow.
A Model Context Protocol (MCP) server that provides comprehensive task management capabilities through the Sunsama API. This server enables AI assistants to access Sunsama tasks, create new tasks, mark tasks complete, and manage your productivity workflow.
No installation required! Use directly with:
npx mcp-sunsama
git clone https://github.com/robertn702/mcp-sunsama.git cd mcp-sunsama
bun install
cp .env.example .env # Edit .env and add your Sunsama credentials
Environment variables:
SUNSAMA_EMAIL
- Your Sunsama account email (required for stdio transport)SUNSAMA_PASSWORD
- Your Sunsama account password (required for stdio transport)SUNSAMA_SESSION_TOKEN
- Alternative session token authentication (optional)PORT
- Server port for HTTP transport (default: 3002)MCP_TRANSPORT
- Transport type: stdio
or httpStream
(default: stdio)Stdio Transport (default):
bun run src/main.ts
HTTP Stream Transport:
MCP_TRANSPORT=httpStream PORT=3002 bun run src/main.ts
Add this configuration to your Claude Desktop MCP settings:
{ "mcpServers": { "sunsama": { "command": "npx", "args": ["mcp-sunsama"], "env": { "SUNSAMA_EMAIL": "[email protected]", "SUNSAMA_PASSWORD": "your-password" } } } }
create-task
- Create new tasks with optional propertiesget-tasks-by-day
- Get tasks for a specific day with completion filteringget-tasks-backlog
- Get backlog tasksget-archived-tasks
- Get archived tasks with pagination (includes hasMore flag for LLM context)get-task-by-id
- Get a specific task by its IDupdate-task-complete
- Mark tasks as completeupdate-task-planned-time
- Update the planned time (time estimate) for tasksupdate-task-notes
- Update task notes content (requires either html
or markdown
parameter, mutually exclusive)update-task-due-date
- Update the due date for tasks (set or clear due dates)update-task-text
- Update the text/title of tasksupdate-task-stream
- Update the stream/channel assignment for tasksupdate-task-snooze-date
- Reschedule tasks to different datesupdate-task-backlog
- Move tasks to the backlogdelete-task
- Delete tasks permanentlyget-user
- Get current user informationget-streams
- Get streams/channels for project organizationbun run dev
bun run inspect
Then connect the MCP Inspector to test the tools interactively.
bun run build # Compile TypeScript to dist/ bun run typecheck # Run TypeScript type checking bun run typecheck:watch # Watch mode type checking
The server is organized with a modular, resource-based architecture:
src/
├── tools/
│ ├── shared.ts # Common utilities and patterns
│ ├── user-tools.ts # User operations (get-user)
│ ├── task-tools.ts # Task operations (14 tools)
│ ├── stream-tools.ts # Stream operations (get-streams)
│ └── index.ts # Export all tools
├── resources/
│ └── index.ts # API documentation resource
├── auth/ # Authentication strategies
├── config/ # Environment configuration
├── utils/ # Utilities (filtering, trimming, etc.)
└── main.ts # Server setup (47 lines vs 1162 before refactoring)
Key Features:
Stdio Transport: Requires SUNSAMA_EMAIL
and SUNSAMA_PASSWORD
environment variables.
HTTP Transport: The Sunsama credentials are passed in the HTTP request. No environment variables needed.
This project is licensed under the MIT License - see the LICENSE file for details.