1. Conduid
  2. Productivity
  3. Cal
MCP server · Productivity

Cal

Self-hosted daily toolkit — calendar, tasks, notes, links, files, kanban boards, time tracking, GitHub inbox. One Docker container.

37Low

Scored 21 days ago · breakdown

About Cal

Cal is an MCP server in the Productivity category: self-hosted daily toolkit — calendar, tasks, notes, links, files, kanban boards, time tracking, GitHub inbox. One Docker container.

The repository has 2 stars and 0 forks.

Install

Claude Code
claude mcp add cal -- npx -y @miguelarios/cal-mcp
npx
npx -y @miguelarios/cal-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (12)

create_folderCreate an IMAP folder

Parameters not published.

delete_emailMove to trash, or permanently delete (confirms first)

Parameters not published.

download_attachmentDownload attachment by email UID and part ID, as an embedded binary resource

Parameters not published.

get_emailFetch full email by UID — headers, body, attachment metadata

Parameters not published.

get_email_rawExport email as raw .eml, as an embedded `message/rfc822` resource

Parameters not published.

get_folder_statusGet total and unread message counts for a folder

Parameters not published.

list_foldersList all IMAP folders with special-use flags

Parameters not published.

mark_emailSet/unset flags (read, unread, flagged)

Parameters not published.

move_emailMove emails between folders

Parameters not published.

search_emailsSearch and filter emails by folder, sender, subject, date, flags

Parameters not published.

send_draftSend an existing draft from the Drafts folder (confirms first)

Parameters not published.

send_emailCompose and send via SMTP, reply with threading, or save as draft (confirms before sending)

Parameters not published.

Ask AI

✦

Ask AI about Cal

Powered by Claude · Grounded in docs

I know everything about Cal. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

PIM Agents

AI agent tooling for email (IMAP/SMTP), calendar (CalDAV), and contacts (CardDAV). Three independent MCP servers built on open protocols.

Packages

Package Description Install
@miguelarios/email-mcp Email via IMAP/SMTP npx @miguelarios/email-mcp
@miguelarios/cal-mcp Calendars via CalDAV npx @miguelarios/cal-mcp
@miguelarios/card-mcp Contacts via CardDAV npx @miguelarios/card-mcp

Tools

Email (12 tools)

Tool Description
search_emails Search and filter emails by folder, sender, subject, date, flags
get_email Fetch full email by UID — headers, body, attachment metadata
send_email Compose and send via SMTP, reply with threading, or save as draft
send_draft Send an existing draft from the Drafts folder
move_email Move emails between folders
mark_email Set/unset flags (read, unread, flagged)
delete_email Move to trash or permanently delete
list_folders List all IMAP folders with special-use flags
create_folder Create an IMAP folder
download_attachment Download attachment by email UID and part ID
get_email_raw Export email as raw .eml
get_folder_status Get total and unread message counts for a folder

Calendar (11 tools)

Tool Description
list_calendars Discover calendars across all configured providers
list_events Query events by date range with recurrence expansion
get_today_events Get all events for today
search_events Keyword search across title, description, and location
get_event Get full event details by UID
create_event Create event with attendees, alarms, categories
update_event Update event by UID, including single recurrence instances
delete_event Delete event by UID or single recurrence instance
create_events_batch Create multiple events at once
import_ics Import events from .ics content
find_free_slots Find available time slots across calendars

Contacts (6 tools)

Tool Description
list_contacts List and search contacts by name, email, phone, org
get_contact Get full contact details by UID
create_contact Create a new contact with typed fields
update_contact Update an existing contact (merge-based)
delete_contact Delete a contact by UID
resolve_contact Given a name, return email address

Configuration

Add the servers to your MCP client config (Claude Desktop, Claude Code, etc.). Credentials are passed via environment variables.

Email

{
  "mcpServers": {
    "email": {
      "command": "npx",
      "args": ["-y", "@miguelarios/email-mcp"],
      "env": {
        "IMAP_HOST": "imap.example.com",
        "IMAP_USER": "user@example.com",
        "IMAP_PASS": "your-app-password",
        "SMTP_HOST": "smtp.example.com",
        "SMTP_USER": "user@example.com",
        "SMTP_PASS": "your-app-password"
      }
    }
  }
}

Optional email env vars: IMAP_PORT (default 993), IMAP_SECURE (default true), SMTP_PORT (default 465), SMTP_SECURE (default true), SMTP_FROM_NAME.

Calendar

{
  "mcpServers": {
    "calendar": {
      "command": "npx",
      "args": ["-y", "@miguelarios/cal-mcp"],
      "env": {
        "CALDAV_MAILBOX_URL": "https://dav.mailbox.org/caldav/",
        "CALDAV_MAILBOX_USER": "user@mailbox.org",
        "CALDAV_MAILBOX_PASS": "app-password"
      }
    }
  }
}

Add multiple providers by using different IDs: CALDAV_NEXTCLOUD_URL, CALDAV_NEXTCLOUD_USER, CALDAV_NEXTCLOUD_PASS, etc.

Contacts

{
  "mcpServers": {
    "contacts": {
      "command": "npx",
      "args": ["-y", "@miguelarios/card-mcp"],
      "env": {
        "CARDDAV_URL": "https://dav.example.com/carddav/",
        "CARDDAV_USER": "user@example.com",
        "CARDDAV_PASS": "your-app-password"
      }
    }
  }
}

All three together

{
  "mcpServers": {
    "email": {
      "command": "npx",
      "args": ["-y", "@miguelarios/email-mcp"],
      "env": {
        "IMAP_HOST": "imap.example.com",
        "IMAP_USER": "user@example.com",
        "IMAP_PASS": "your-app-password",
        "SMTP_HOST": "smtp.example.com",
        "SMTP_USER": "user@example.com",
        "SMTP_PASS": "your-app-password"
      }
    },
    "calendar": {
      "command": "npx",
      "args": ["-y", "@miguelarios/cal-mcp"],
      "env": {
        "CALDAV_MAILBOX_URL": "https://dav.mailbox.org/caldav/",
        "CALDAV_MAILBOX_USER": "user@mailbox.org",
        "CALDAV_MAILBOX_PASS": "app-password"
      }
    },
    "contacts": {
      "command": "npx",
      "args": ["-y", "@miguelarios/card-mcp"],
      "env": {
        "CARDDAV_URL": "https://dav.example.com/carddav/",
        "CARDDAV_USER": "user@example.com",
        "CARDDAV_PASS": "your-app-password"
      }
    }
  }
}

License

MIT

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About Cal

How do I install Cal?

Run claude mcp add cal -- npx -y @miguelarios/cal-mcp, then add the server to your MCP client's configuration.

Is Cal safe to use with an AI agent?

Its trust score is 37 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Cal still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.