CalDAV calendars
Rank #9,872io.github.ni-c/caldav-mcp
Read and write CalDAV calendars: events, tasks and journal entries over the open standard
CalDAV calendars is a Model Context Protocol (MCP) server published by ni-c. It ranks #9,872 of 132,046 servers tracked on MCP Toplist. CalDAV calendars is listed across 2 registries — Official MCP and Glama, with 4 tracked versions. It was first listed on Sep 5, 2026 and most recently updated on Sep 8, 2026.
Ranks ahead of 122,174 of 132,046 servers on MCP Toplist.
Use CalDAV calendars
Requires user-supplied configuration before first use — typically an API key, token or connection string set via environment variables.
claude mcp add caldav-mcp -e "CALDAV_URL=<your CALDAV_URL>" -e "CALDAV_USERNAME=<your CALDAV_USERNAME>" -e "CALDAV_PASSWORD=<your CALDAV_PASSWORD>" -e "CALDAV_TOKEN=<your CALDAV_TOKEN>" -e "CALDAV_CALENDARS=<your CALDAV_CALENDARS>" -e "CALDAV_TIMEZONE=<your CALDAV_TIMEZONE>" -e "CALDAV_USER_EMAIL=<your CALDAV_USER_EMAIL>" -e "CALDAV_MAX_EVENTS=<your CALDAV_MAX_EVENTS>" -e "CALDAV_READ_ONLY=<your CALDAV_READ_ONLY>" -e "CALDAV_INSECURE_TLS=<your CALDAV_INSECURE_TLS>" -e "CALDAV_ALLOW_PLAINTEXT=<your CALDAV_ALLOW_PLAINTEXT>" -e "CALDAV_ALLOW_TOOLS=<your CALDAV_ALLOW_TOOLS>" -e "CALDAV_DENY_TOOLS=<your CALDAV_DENY_TOOLS>" -e "ELICITATION=<your ELICITATION>" -- npx -y @ni-c/caldav-mcpReplace each placeholder with your own value before saving.
claude mcp add caldav-mcp -e "CALDAV_URL=<your CALDAV_URL>" -e "CALDAV_USERNAME=<your CALDAV_USERNAME>" -e "CALDAV_PASSWORD=<your CALDAV_PASSWORD>" -e "CALDAV_TOKEN=<your CALDAV_TOKEN>" -e "CALDAV_CALENDARS=<your CALDAV_CALENDARS>" -e "CALDAV_TIMEZONE=<your CALDAV_TIMEZONE>" -e "CALDAV_USER_EMAIL=<your CALDAV_USER_EMAIL>" -e "CALDAV_MAX_EVENTS=<your CALDAV_MAX_EVENTS>" -e "CALDAV_READ_ONLY=<your CALDAV_READ_ONLY>" -e "CALDAV_INSECURE_TLS=<your CALDAV_INSECURE_TLS>" -e "CALDAV_ALLOW_PLAINTEXT=<your CALDAV_ALLOW_PLAINTEXT>" -e "CALDAV_ALLOW_TOOLS=<your CALDAV_ALLOW_TOOLS>" -e "CALDAV_DENY_TOOLS=<your CALDAV_DENY_TOOLS>" -e "ELICITATION=<your ELICITATION>" -- docker run -i --rm ghcr.io/ni-c/caldav-mcp:0.1.4Replace each placeholder with your own value before saving.
[mcp_servers.caldav-mcp]
command = "npx"
args = ["-y", "@ni-c/caldav-mcp"]
[mcp_servers.caldav-mcp.env]
CALDAV_URL = "<your CALDAV_URL>"
CALDAV_USERNAME = "<your CALDAV_USERNAME>"
CALDAV_PASSWORD = "<your CALDAV_PASSWORD>"
CALDAV_TOKEN = "<your CALDAV_TOKEN>"
CALDAV_CALENDARS = "<your CALDAV_CALENDARS>"
CALDAV_TIMEZONE = "<your CALDAV_TIMEZONE>"
CALDAV_USER_EMAIL = "<your CALDAV_USER_EMAIL>"
CALDAV_MAX_EVENTS = "<your CALDAV_MAX_EVENTS>"
CALDAV_READ_ONLY = "<your CALDAV_READ_ONLY>"
CALDAV_INSECURE_TLS = "<your CALDAV_INSECURE_TLS>"
CALDAV_ALLOW_PLAINTEXT = "<your CALDAV_ALLOW_PLAINTEXT>"
CALDAV_ALLOW_TOOLS = "<your CALDAV_ALLOW_TOOLS>"
CALDAV_DENY_TOOLS = "<your CALDAV_DENY_TOOLS>"
ELICITATION = "<your ELICITATION>"Add to ~/.codex/config.toml. Replace each placeholder with your own value before saving.
[mcp_servers.caldav-mcp]
command = "docker"
args = ["run", "-i", "--rm", "ghcr.io/ni-c/caldav-mcp:0.1.4"]
[mcp_servers.caldav-mcp.env]
CALDAV_URL = "<your CALDAV_URL>"
CALDAV_USERNAME = "<your CALDAV_USERNAME>"
CALDAV_PASSWORD = "<your CALDAV_PASSWORD>"
CALDAV_TOKEN = "<your CALDAV_TOKEN>"
CALDAV_CALENDARS = "<your CALDAV_CALENDARS>"
CALDAV_TIMEZONE = "<your CALDAV_TIMEZONE>"
CALDAV_USER_EMAIL = "<your CALDAV_USER_EMAIL>"
CALDAV_MAX_EVENTS = "<your CALDAV_MAX_EVENTS>"
CALDAV_READ_ONLY = "<your CALDAV_READ_ONLY>"
CALDAV_INSECURE_TLS = "<your CALDAV_INSECURE_TLS>"
CALDAV_ALLOW_PLAINTEXT = "<your CALDAV_ALLOW_PLAINTEXT>"
CALDAV_ALLOW_TOOLS = "<your CALDAV_ALLOW_TOOLS>"
CALDAV_DENY_TOOLS = "<your CALDAV_DENY_TOOLS>"
ELICITATION = "<your ELICITATION>"Add to ~/.codex/config.toml. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"caldav-mcp": {
"command": "npx",
"args": [
"-y",
"@ni-c/caldav-mcp"
],
"env": {
"CALDAV_URL": "<your CALDAV_URL>",
"CALDAV_USERNAME": "<your CALDAV_USERNAME>",
"CALDAV_PASSWORD": "<your CALDAV_PASSWORD>",
"CALDAV_TOKEN": "<your CALDAV_TOKEN>",
"CALDAV_CALENDARS": "<your CALDAV_CALENDARS>",
"CALDAV_TIMEZONE": "<your CALDAV_TIMEZONE>",
"CALDAV_USER_EMAIL": "<your CALDAV_USER_EMAIL>",
"CALDAV_MAX_EVENTS": "<your CALDAV_MAX_EVENTS>",
"CALDAV_READ_ONLY": "<your CALDAV_READ_ONLY>",
"CALDAV_INSECURE_TLS": "<your CALDAV_INSECURE_TLS>",
"CALDAV_ALLOW_PLAINTEXT": "<your CALDAV_ALLOW_PLAINTEXT>",
"CALDAV_ALLOW_TOOLS": "<your CALDAV_ALLOW_TOOLS>",
"CALDAV_DENY_TOOLS": "<your CALDAV_DENY_TOOLS>",
"ELICITATION": "<your ELICITATION>"
}
}
}
}Add to claude_desktop_config.json (Settings → Developer → Edit Config). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"caldav-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/ni-c/caldav-mcp:0.1.4"
],
"env": {
"CALDAV_URL": "<your CALDAV_URL>",
"CALDAV_USERNAME": "<your CALDAV_USERNAME>",
"CALDAV_PASSWORD": "<your CALDAV_PASSWORD>",
"CALDAV_TOKEN": "<your CALDAV_TOKEN>",
"CALDAV_CALENDARS": "<your CALDAV_CALENDARS>",
"CALDAV_TIMEZONE": "<your CALDAV_TIMEZONE>",
"CALDAV_USER_EMAIL": "<your CALDAV_USER_EMAIL>",
"CALDAV_MAX_EVENTS": "<your CALDAV_MAX_EVENTS>",
"CALDAV_READ_ONLY": "<your CALDAV_READ_ONLY>",
"CALDAV_INSECURE_TLS": "<your CALDAV_INSECURE_TLS>",
"CALDAV_ALLOW_PLAINTEXT": "<your CALDAV_ALLOW_PLAINTEXT>",
"CALDAV_ALLOW_TOOLS": "<your CALDAV_ALLOW_TOOLS>",
"CALDAV_DENY_TOOLS": "<your CALDAV_DENY_TOOLS>",
"ELICITATION": "<your ELICITATION>"
}
}
}
}Add to claude_desktop_config.json (Settings → Developer → Edit Config). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"caldav-mcp": {
"command": "npx",
"args": [
"-y",
"@ni-c/caldav-mcp"
],
"env": {
"CALDAV_URL": "<your CALDAV_URL>",
"CALDAV_USERNAME": "<your CALDAV_USERNAME>",
"CALDAV_PASSWORD": "<your CALDAV_PASSWORD>",
"CALDAV_TOKEN": "<your CALDAV_TOKEN>",
"CALDAV_CALENDARS": "<your CALDAV_CALENDARS>",
"CALDAV_TIMEZONE": "<your CALDAV_TIMEZONE>",
"CALDAV_USER_EMAIL": "<your CALDAV_USER_EMAIL>",
"CALDAV_MAX_EVENTS": "<your CALDAV_MAX_EVENTS>",
"CALDAV_READ_ONLY": "<your CALDAV_READ_ONLY>",
"CALDAV_INSECURE_TLS": "<your CALDAV_INSECURE_TLS>",
"CALDAV_ALLOW_PLAINTEXT": "<your CALDAV_ALLOW_PLAINTEXT>",
"CALDAV_ALLOW_TOOLS": "<your CALDAV_ALLOW_TOOLS>",
"CALDAV_DENY_TOOLS": "<your CALDAV_DENY_TOOLS>",
"ELICITATION": "<your ELICITATION>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"caldav-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/ni-c/caldav-mcp:0.1.4"
],
"env": {
"CALDAV_URL": "<your CALDAV_URL>",
"CALDAV_USERNAME": "<your CALDAV_USERNAME>",
"CALDAV_PASSWORD": "<your CALDAV_PASSWORD>",
"CALDAV_TOKEN": "<your CALDAV_TOKEN>",
"CALDAV_CALENDARS": "<your CALDAV_CALENDARS>",
"CALDAV_TIMEZONE": "<your CALDAV_TIMEZONE>",
"CALDAV_USER_EMAIL": "<your CALDAV_USER_EMAIL>",
"CALDAV_MAX_EVENTS": "<your CALDAV_MAX_EVENTS>",
"CALDAV_READ_ONLY": "<your CALDAV_READ_ONLY>",
"CALDAV_INSECURE_TLS": "<your CALDAV_INSECURE_TLS>",
"CALDAV_ALLOW_PLAINTEXT": "<your CALDAV_ALLOW_PLAINTEXT>",
"CALDAV_ALLOW_TOOLS": "<your CALDAV_ALLOW_TOOLS>",
"CALDAV_DENY_TOOLS": "<your CALDAV_DENY_TOOLS>",
"ELICITATION": "<your ELICITATION>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project). Replace each placeholder with your own value before saving.
{
"servers": {
"caldav-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@ni-c/caldav-mcp"
],
"env": {
"CALDAV_URL": "<your CALDAV_URL>",
"CALDAV_USERNAME": "<your CALDAV_USERNAME>",
"CALDAV_PASSWORD": "<your CALDAV_PASSWORD>",
"CALDAV_TOKEN": "<your CALDAV_TOKEN>",
"CALDAV_CALENDARS": "<your CALDAV_CALENDARS>",
"CALDAV_TIMEZONE": "<your CALDAV_TIMEZONE>",
"CALDAV_USER_EMAIL": "<your CALDAV_USER_EMAIL>",
"CALDAV_MAX_EVENTS": "<your CALDAV_MAX_EVENTS>",
"CALDAV_READ_ONLY": "<your CALDAV_READ_ONLY>",
"CALDAV_INSECURE_TLS": "<your CALDAV_INSECURE_TLS>",
"CALDAV_ALLOW_PLAINTEXT": "<your CALDAV_ALLOW_PLAINTEXT>",
"CALDAV_ALLOW_TOOLS": "<your CALDAV_ALLOW_TOOLS>",
"CALDAV_DENY_TOOLS": "<your CALDAV_DENY_TOOLS>",
"ELICITATION": "<your ELICITATION>"
}
}
}
}Save as .vscode/mcp.json in your workspace. Replace each placeholder with your own value before saving.
{
"servers": {
"caldav-mcp": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/ni-c/caldav-mcp:0.1.4"
],
"env": {
"CALDAV_URL": "<your CALDAV_URL>",
"CALDAV_USERNAME": "<your CALDAV_USERNAME>",
"CALDAV_PASSWORD": "<your CALDAV_PASSWORD>",
"CALDAV_TOKEN": "<your CALDAV_TOKEN>",
"CALDAV_CALENDARS": "<your CALDAV_CALENDARS>",
"CALDAV_TIMEZONE": "<your CALDAV_TIMEZONE>",
"CALDAV_USER_EMAIL": "<your CALDAV_USER_EMAIL>",
"CALDAV_MAX_EVENTS": "<your CALDAV_MAX_EVENTS>",
"CALDAV_READ_ONLY": "<your CALDAV_READ_ONLY>",
"CALDAV_INSECURE_TLS": "<your CALDAV_INSECURE_TLS>",
"CALDAV_ALLOW_PLAINTEXT": "<your CALDAV_ALLOW_PLAINTEXT>",
"CALDAV_ALLOW_TOOLS": "<your CALDAV_ALLOW_TOOLS>",
"CALDAV_DENY_TOOLS": "<your CALDAV_DENY_TOOLS>",
"ELICITATION": "<your ELICITATION>"
}
}
}
}Save as .vscode/mcp.json in your workspace. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"caldav-mcp": {
"command": "npx",
"args": [
"-y",
"@ni-c/caldav-mcp"
],
"env": {
"CALDAV_URL": "<your CALDAV_URL>",
"CALDAV_USERNAME": "<your CALDAV_USERNAME>",
"CALDAV_PASSWORD": "<your CALDAV_PASSWORD>",
"CALDAV_TOKEN": "<your CALDAV_TOKEN>",
"CALDAV_CALENDARS": "<your CALDAV_CALENDARS>",
"CALDAV_TIMEZONE": "<your CALDAV_TIMEZONE>",
"CALDAV_USER_EMAIL": "<your CALDAV_USER_EMAIL>",
"CALDAV_MAX_EVENTS": "<your CALDAV_MAX_EVENTS>",
"CALDAV_READ_ONLY": "<your CALDAV_READ_ONLY>",
"CALDAV_INSECURE_TLS": "<your CALDAV_INSECURE_TLS>",
"CALDAV_ALLOW_PLAINTEXT": "<your CALDAV_ALLOW_PLAINTEXT>",
"CALDAV_ALLOW_TOOLS": "<your CALDAV_ALLOW_TOOLS>",
"CALDAV_DENY_TOOLS": "<your CALDAV_DENY_TOOLS>",
"ELICITATION": "<your ELICITATION>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"caldav-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/ni-c/caldav-mcp:0.1.4"
],
"env": {
"CALDAV_URL": "<your CALDAV_URL>",
"CALDAV_USERNAME": "<your CALDAV_USERNAME>",
"CALDAV_PASSWORD": "<your CALDAV_PASSWORD>",
"CALDAV_TOKEN": "<your CALDAV_TOKEN>",
"CALDAV_CALENDARS": "<your CALDAV_CALENDARS>",
"CALDAV_TIMEZONE": "<your CALDAV_TIMEZONE>",
"CALDAV_USER_EMAIL": "<your CALDAV_USER_EMAIL>",
"CALDAV_MAX_EVENTS": "<your CALDAV_MAX_EVENTS>",
"CALDAV_READ_ONLY": "<your CALDAV_READ_ONLY>",
"CALDAV_INSECURE_TLS": "<your CALDAV_INSECURE_TLS>",
"CALDAV_ALLOW_PLAINTEXT": "<your CALDAV_ALLOW_PLAINTEXT>",
"CALDAV_ALLOW_TOOLS": "<your CALDAV_ALLOW_TOOLS>",
"CALDAV_DENY_TOOLS": "<your CALDAV_DENY_TOOLS>",
"ELICITATION": "<your ELICITATION>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"caldav-mcp": {
"command": "npx",
"args": [
"-y",
"@ni-c/caldav-mcp"
],
"env": {
"CALDAV_URL": "<your CALDAV_URL>",
"CALDAV_USERNAME": "<your CALDAV_USERNAME>",
"CALDAV_PASSWORD": "<your CALDAV_PASSWORD>",
"CALDAV_TOKEN": "<your CALDAV_TOKEN>",
"CALDAV_CALENDARS": "<your CALDAV_CALENDARS>",
"CALDAV_TIMEZONE": "<your CALDAV_TIMEZONE>",
"CALDAV_USER_EMAIL": "<your CALDAV_USER_EMAIL>",
"CALDAV_MAX_EVENTS": "<your CALDAV_MAX_EVENTS>",
"CALDAV_READ_ONLY": "<your CALDAV_READ_ONLY>",
"CALDAV_INSECURE_TLS": "<your CALDAV_INSECURE_TLS>",
"CALDAV_ALLOW_PLAINTEXT": "<your CALDAV_ALLOW_PLAINTEXT>",
"CALDAV_ALLOW_TOOLS": "<your CALDAV_ALLOW_TOOLS>",
"CALDAV_DENY_TOOLS": "<your CALDAV_DENY_TOOLS>",
"ELICITATION": "<your ELICITATION>"
}
}
}
}Replace each placeholder with your own value before saving.
{
"mcpServers": {
"caldav-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/ni-c/caldav-mcp:0.1.4"
],
"env": {
"CALDAV_URL": "<your CALDAV_URL>",
"CALDAV_USERNAME": "<your CALDAV_USERNAME>",
"CALDAV_PASSWORD": "<your CALDAV_PASSWORD>",
"CALDAV_TOKEN": "<your CALDAV_TOKEN>",
"CALDAV_CALENDARS": "<your CALDAV_CALENDARS>",
"CALDAV_TIMEZONE": "<your CALDAV_TIMEZONE>",
"CALDAV_USER_EMAIL": "<your CALDAV_USER_EMAIL>",
"CALDAV_MAX_EVENTS": "<your CALDAV_MAX_EVENTS>",
"CALDAV_READ_ONLY": "<your CALDAV_READ_ONLY>",
"CALDAV_INSECURE_TLS": "<your CALDAV_INSECURE_TLS>",
"CALDAV_ALLOW_PLAINTEXT": "<your CALDAV_ALLOW_PLAINTEXT>",
"CALDAV_ALLOW_TOOLS": "<your CALDAV_ALLOW_TOOLS>",
"CALDAV_DENY_TOOLS": "<your CALDAV_DENY_TOOLS>",
"ELICITATION": "<your ELICITATION>"
}
}
}
}Replace each placeholder with your own value before saving.
Show your rank
Maintain this server? Add the live rank badge to your README — it updates automatically as the leaderboard changes.
[](https://mcptoplist.com/server/io.github.ni-c%2Fcaldav-mcp)<a href="https://mcptoplist.com/server/io.github.ni-c%2Fcaldav-mcp"><img src="https://mcptoplist.com/badge/io.github.ni-c%2Fcaldav-mcp.svg" alt="MCP Toplist: Top 10% of 132,046" /></a>Variants: append ?metric=score or ?metric=stars to the image URL.
Listed on 2 registries
ni-c
Other servers by ni-c
- mcp-hub#3,790 · 16 vers
- FreshRSS#5,244 · 9 vers
- Hetzner DNS#5,552 · 9 vers
- wg-easy#5,639 · 8 vers
- Audiobookshelf#5,866 · 7 vers
- Linkwarden#5,867 · 7 vers
- Opengist#5,924 · 7 vers
- Calibre-Web#6,360 · 6 vers
- Mealie MCP Server#6,557 · 5 vers
- OpenStreetMap#6,697 · 5 vers
- Rustpad MCP Server#6,786 · 5 vers
- Wiki.js#6,813 · 5 vers
Available versions (4)
| Version | Published |
|---|---|
| 0.1.4 | Sep 8, 2026 |
| 0.1.3 | Sep 7, 2026 |
| 0.1.2 | Sep 6, 2026 |
| 0.1.0 | Sep 5, 2026 |
Frequently asked questions
- Who maintains CalDAV calendars?
- CalDAV calendars is maintained by ni-c, which publishes 20 MCP servers (118 total versions) tracked on MCP Toplist.
- Is CalDAV calendars listed on the Official MCP Registry?
- Yes — CalDAV calendars is listed on the Official MCP Registry, alongside Glama.
- How many versions does CalDAV calendars have?
- MCP Toplist tracks 4 versions of CalDAV calendars, most recently published on Sep 8, 2026.
- Where can I find the source code for CalDAV calendars?
- The source code for CalDAV calendars is hosted at github.com/ni-c/caldav-mcp.
Do you run this server?
Community projects list the MCP servers behind real agents and apps. Publish yours and this page will link to it.