productivity

Sunsama

by robertn702

Discover the best app planner for daily tasks with Sunsama. Organize and manage tasks using the planner app best suited

Integrates Sunsama's task management and daily planning capabilities, enabling AI assistants to create, manage, and organize tasks through the Sunsama API.

github stars

47

Supports both stdio and HTTP transportsNo installation needed with npxComprehensive task lifecycle management

best for

  • / Sunsama users wanting AI-powered task management
  • / Automating daily planning workflows
  • / Integrating task creation with other productivity tools

capabilities

  • / Create tasks with notes, time estimates, and due dates
  • / Mark tasks complete and reschedule existing tasks
  • / Manage subtasks within parent tasks
  • / Retrieve tasks by day or from backlog
  • / Access user profile and stream information
  • / Delete tasks permanently from workspace

what it does

Connects AI assistants to Sunsama's task management platform to create, update, and organize tasks through the Sunsama API.

about

Sunsama is a community-built MCP server published by robertn702 that provides AI assistants with tools and capabilities via the Model Context Protocol. Discover the best app planner for daily tasks with Sunsama. Organize and manage tasks using the planner app best suited It is categorized under productivity.

how to install

You can install Sunsama in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.

license

MIT

Sunsama is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

readme

Sunsama MCP Server

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.

<a href="https://glama.ai/mcp/servers/@robertn702/mcp-sunsama"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@robertn702/mcp-sunsama/badge" /> </a>

Features

Task Management

  • Create Tasks - Create new tasks with notes, time estimates, due dates, stream assignments, and GitHub/Gmail integrations
  • Read Tasks - Get tasks by day with completion filtering, access backlog tasks, retrieve archived task history
  • Update Tasks - Mark tasks as complete with custom timestamps, reschedule tasks or move to backlog
  • Subtasks - Add, update, complete, and manage subtasks within tasks
  • Delete Tasks - Permanently remove tasks from your workspace

User & Stream Operations

  • User Information - Access user profile, timezone, and group details
  • Stream Management - Get streams/channels for project organization
  • Dual Transport - Support for both stdio and HTTP stream MCP transports

Installation

Prerequisites

  • Bun runtime (for development)
  • Sunsama account with API access

Using NPX (Recommended)

No installation required! Use directly with:

npx mcp-sunsama

Development Setup

  1. Clone the repository:
git clone https://github.com/robertn702/mcp-sunsama.git
cd mcp-sunsama
  1. Install dependencies:
bun install
  1. Set up your environment variables:
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)
  • TRANSPORT_MODE - Transport type: stdio (default) or http
  • PORT - Server port for HTTP transport (default: 8080)
  • HTTP_ENDPOINT - MCP endpoint path (default: /mcp)
  • SESSION_TTL - Session timeout in milliseconds (default: 3600000 / 1 hour)
  • CLIENT_IDLE_TIMEOUT - Client idle timeout in milliseconds (default: 900000 / 15 minutes)
  • MAX_SESSIONS - Maximum concurrent sessions for HTTP transport (default: 100)

Usage

Transport Modes

This server supports two transport modes:

Stdio Transport (Default)

For local AI assistants (Claude Desktop, Cursor, etc.):

bun run dev
# or
TRANSPORT_MODE=stdio bun run src/main.ts

HTTP Stream Transport

For remote access and web-based integrations:

TRANSPORT_MODE=http PORT=8080 bun run src/main.ts

HTTP Endpoints:

  • MCP Endpoint: POST http://localhost:8080/mcp
  • Health Check: GET http://localhost:8080/

Authentication: HTTP requests require HTTP Basic Auth with your Sunsama credentials:

curl -X POST http://localhost:8080/mcp \
  -H "Authorization: Basic $(echo -n 'your-email:your-password' | base64)" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'

Claude Desktop Configuration

Add this configuration to your Claude Desktop MCP settings:

{
  "mcpServers": {
    "sunsama": {
      "command": "npx",
      "args": ["mcp-sunsama"],
      "env": {
        "SUNSAMA_EMAIL": "your-email@example.com",
        "SUNSAMA_PASSWORD": "your-password"
      }
    }
  }
}

Claude Code Configuration

Add the Sunsama MCP server using the Claude Code CLI:

claude mcp add sunsama --scope user \
  -e SUNSAMA_EMAIL=your-email@example.com \
  -e SUNSAMA_PASSWORD=your-password \
  -- npx mcp-sunsama

Scope Options:

  • --scope user - Available across all projects (recommended)
  • --scope project - Only available in the current project

After adding the server, restart Claude Code to connect to the Sunsama MCP server.

API Tools

Task Management

  • create-task - Create new tasks with optional properties including GitHub issue/PR and Gmail integration
  • get-tasks-by-day - Get tasks for a specific day with completion filtering
  • get-tasks-backlog - Get backlog tasks
  • get-archived-tasks - Get archived tasks with pagination (includes hasMore flag for LLM context)
  • get-task-by-id - Get a specific task by its ID
  • update-task-complete - Mark tasks as complete
  • update-task-planned-time - Update the planned time (time estimate) for tasks
  • update-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 tasks
  • update-task-stream - Update the stream/channel assignment for tasks
  • update-task-snooze-date - Reschedule tasks to different dates
  • update-task-backlog - Move tasks to the backlog
  • delete-task - Delete tasks permanently

Subtask Management

  • add-subtask - Create a subtask with a title in one call (recommended for single subtask creation)
  • create-subtasks - Create multiple subtasks for a task (low-level API for bulk operations)
  • update-subtask-title - Update the title of a subtask
  • complete-subtask - Mark a subtask as complete with optional completion timestamp
  • uncomplete-subtask - Mark a subtask as incomplete

User & Stream Operations

  • get-user - Get current user information
  • get-streams - Get streams/channels for project organization

Integration Examples

The create-task tool supports linking tasks to external services like GitHub and Gmail.

GitHub Integration

Link a task to a GitHub issue:

{
  "text": "Fix authentication bug",
  "integration": {
    "service": "github",
    "identifier": {
      "id": "I_kwDOO4SCuM7VTB4n",
      "repositoryOwnerLogin": "robertn702",
      "repositoryName": "mcp-sunsama",
      "number": 42,
      "type": "Issue",
      "url": "https://github.com/robertn702/mcp-sunsama/issues/42",
      "__typename": "TaskGithubIntegrationIdentifier"
    },
    "__typename": "TaskGithubIntegration"
  }
}

Link a task to a GitHub pull request:

{
  "text": "Review API refactoring PR",
  "integration": {
    "service": "github",
    "identifier": {
      "id": "PR_kwDOO4SCuM7VTB5o",
      "repositoryOwnerLogin": "robertn702",
      "repositoryName": "mcp-sunsama",
      "number": 15,
      "type": "PullRequest",
      "url": "https://github.com/robertn702/mcp-sunsama/pull/15",
      "__typename": "TaskGithubIntegrationIdentifier"
    },
    "__typename": "TaskGithubIntegration"
  }
}

Gmail Integration

Link a task to a Gmail email:

{
  "text": "Respond to project update email",
  "integration": {
    "service": "gmail",
    "identifier": {
      "id": "19a830b40fd7ab7d",
      "messageId": "19a830b40fd7ab7d",
      "accountId": "user@example.com",
      "url": "https://mail.google.com/mail/u/user@example.com/#inbox/19a830b40fd7ab7d",
      "__typename": "TaskGmailIntegrationIdentifier"
    },
    "__typename": "TaskGmailIntegration"
  }
}

Note: All integration parameters are optional. Tasks can be created without integrations for standard task management.

Development

Running in Development

bun run dev

Testing with MCP Inspector

bun run inspect

Then connect the MCP Inspector to test the tools interactively.

Testing

bun test                   # Run unit tests only
bun test:unit              # Run unit tests only (alias)
bun test:integration       # Run integration tests (requires credentials)
bun test:all               # Run all tests
bun test:watch             # Watch mode for unit tests

Build and Type Checking

bun run build              # Compile TypeScript to dist/
bun run typecheck          # Run TypeScript type checking
bun run typecheck:watch    # Watch mode type checking

Release Process

For information on creating releases and publishing to npm, see CONTRIBUTING.md.

Code Architecture

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 (15 tools)
│   ├── stream-tools.ts    # Stream operations (get-streams)
│   └── index.ts           # Export all tools
├── resources/
│   └── index.ts           # API documentation resource
├── auth/                  # Authentication strategies
│   ├── stdio.ts           # Stdio transport authentication
│   ├── http.ts            # HTTP Basic Auth parsing
│   └── types.ts           # Shared auth types
├── transports/
│   ├── stdio.ts           # Stdio transport implementation
│   └── http.ts            # HTTP Stream transport with session management
├── session/
│   └── session-manager.ts # Session lifecycle management
├── config/                # Environment configuration
│   ├── transport.ts       # Transport mode configuration
│   └── session-config.ts  # Session TTL configuration
├── utils/                 # Utilities (filtering, trimming, etc.)
│   ├── client-resolver.ts # Transport-agnostic client resolution
│   ├── task-filters.ts    # Task completion filtering
│   ├── task-trimmer.ts    # Response size optimization
│   └── to-tsv.ts          # TSV formatting utilities
├── schemas.ts             # Zod validation schemas
└── main.ts                # Server setup (47 lines vs 1162 before refactoring)

__tests__/
├── unit/                  # Unit tests (no auth required)
│   ├── auth/              # Auth utility tests
│   ├── config/            # Configuration tests
│   └── session/           # Session management tests
└── integration/           # Integration tests (requires credentials)
    └── http-transport.test.ts

Key Features:

  • Type Safety: Full TypeScript typing w

FAQ

What is the Sunsama MCP server?
Sunsama is a Model Context Protocol (MCP) server profile on explainx.ai. MCP lets AI hosts (e.g. Claude Desktop, Cursor) call tools and resources through a standard interface; this page summarizes categories, install hints, and community ratings.
How do MCP servers relate to agent skills?
Skills are reusable instruction packages (often SKILL.md); MCP servers expose live capabilities. Teams frequently combine both—skills for workflows, MCP for APIs and data. See explainx.ai/skills and explainx.ai/mcp-servers for parallel directories.
How are reviews shown for Sunsama?
This profile displays 10 aggregated ratings (sample rows for discoverability plus signed-in user reviews). Average score is about 4.5 out of 5—verify behavior in your own environment before production use.
MCP server reviews

Ratings

4.510 reviews
  • Shikha Mishra· Oct 10, 2024

    Sunsama is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.

  • Piyush G· Sep 9, 2024

    We evaluated Sunsama against two servers with overlapping tools; this profile had the clearer scope statement.

  • Chaitanya Patil· Aug 8, 2024

    Useful MCP listing: Sunsama is the kind of server we cite when onboarding engineers to host + tool permissions.

  • Sakshi Patil· Jul 7, 2024

    Sunsama reduced integration guesswork — categories and install configs on the listing matched the upstream repo.

  • Ganesh Mohane· Jun 6, 2024

    I recommend Sunsama for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.

  • Oshnikdeep· May 5, 2024

    Strong directory entry: Sunsama surfaces stars and publisher context so we could sanity-check maintenance before adopting.

  • Dhruvi Jain· Apr 4, 2024

    Sunsama has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.

  • Rahul Santra· Mar 3, 2024

    According to our notes, Sunsama benefits from clear Model Context Protocol framing — fewer ambiguous “AI plugin” claims.

  • Pratham Ware· Feb 2, 2024

    We wired Sunsama into a staging workspace; the listing’s GitHub and npm pointers saved time versus hunting across READMEs.

  • Yash Thakker· Jan 1, 2024

    Sunsama is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.