Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

Dav MCP

de PhilflowIOversión 5.0.0i★ –iSe ejecuta en tu computadora
Nombre en el registroio.github.PhilflowIO/dav-mcp

Instalar

Resumen

Descripción del creador (original en inglés)

AI-orchestrated calendars, contacts & tasks across any DAV platform. 27 tools, field-agnostic.

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en tu computadora
  • Transporte: stdio
  • Categoría: Otros
  • Debes completar: CALDAV_SERVER_URL, CALDAV_USERNAME, CALDAV_PASSWORD, GOOGLE_CLIENT_SECRET, GOOGLE_REFRESH_TOKEN

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

  • Revisiones básicas: 1 de 1 superadas
  • Se ejecuta en tu computadora con los permisos de tu usuario (archivos, red, apps).
  • Debes completar tú: CALDAV_SERVER_URL, CALDAV_USERNAME, CALDAV_PASSWORD, AUTH_METHOD, GOOGLE_SERVER_URL, GOOGLE_USER, GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GOOGLE_REFRESH_TOKEN, GOOGLE_TOKEN_URL

Los valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.

Necesitas

  • npmNode.js instalado (para el comando npx)

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json

{
  "mcpServers": {
    "dav": {
      "command": "npx",
      "args": [
        "-y",
        "dav-mcp"
      ],
      "env": {
        "CALDAV_SERVER_URL": "your-value",
        "CALDAV_USERNAME": "your-value",
        "CALDAV_PASSWORD": "your-value",
        "AUTH_METHOD": "your-value",
        "GOOGLE_SERVER_URL": "your-value",
        "GOOGLE_USER": "your-value",
        "GOOGLE_CLIENT_ID": "your-value",
        "GOOGLE_CLIENT_SECRET": "your-value",
        "GOOGLE_REFRESH_TOKEN": "your-value",
        "GOOGLE_TOKEN_URL": "your-value"
      }
    }
  }
}

Ejecuta esto en tu terminal

claude mcp add dav --env CALDAV_SERVER_URL=your-value --env CALDAV_USERNAME=your-value --env CALDAV_PASSWORD=your-value --env AUTH_METHOD=your-value --env GOOGLE_SERVER_URL=your-value --env GOOGLE_USER=your-value --env GOOGLE_CLIENT_ID=your-value --env GOOGLE_CLIENT_SECRET=your-value --env GOOGLE_REFRESH_TOKEN=your-value --env GOOGLE_TOKEN_URL=your-value -- npx -y dav-mcp

Completa los valores vacíos antes de ejecutarlo.

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "dav": {
      "command": "npx",
      "args": [
        "-y",
        "dav-mcp"
      ],
      "env": {
        "CALDAV_SERVER_URL": "your-value",
        "CALDAV_USERNAME": "your-value",
        "CALDAV_PASSWORD": "your-value",
        "AUTH_METHOD": "your-value",
        "GOOGLE_SERVER_URL": "your-value",
        "GOOGLE_USER": "your-value",
        "GOOGLE_CLIENT_ID": "your-value",
        "GOOGLE_CLIENT_SECRET": "your-value",
        "GOOGLE_REFRESH_TOKEN": "your-value",
        "GOOGLE_TOKEN_URL": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "dav": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "dav-mcp"
      ],
      "env": {
        "CALDAV_SERVER_URL": "your-value",
        "CALDAV_USERNAME": "your-value",
        "CALDAV_PASSWORD": "your-value",
        "AUTH_METHOD": "your-value",
        "GOOGLE_SERVER_URL": "your-value",
        "GOOGLE_USER": "your-value",
        "GOOGLE_CLIENT_ID": "your-value",
        "GOOGLE_CLIENT_SECRET": "your-value",
        "GOOGLE_REFRESH_TOKEN": "your-value",
        "GOOGLE_TOKEN_URL": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Valores que debes completar

  • CALDAV_SERVER_URL obligatorio env
    Base URL of your CalDAV/CardDAV server (e.g. https://example.com/dav.php/)
  • CALDAV_USERNAME obligatorio env
    Username for DAV server authentication
  • CALDAV_PASSWORD secreto obligatorio env
    Password or app-specific password for DAV server authentication
  • AUTH_METHOD env
    Authentication method, case-insensitive: 'Basic' (default; switches to Digest by itself when the server only offers Digest), 'Digest' (Digest-only servers without ever sending the password) or 'OAuth…
  • GOOGLE_SERVER_URL env
    Google CalDAV endpoint; required when AUTH_METHOD=oauth2
  • GOOGLE_USER env
    Google account email; required when AUTH_METHOD=oauth2
  • GOOGLE_CLIENT_ID env
    OAuth2 client ID; required when AUTH_METHOD=oauth2
  • GOOGLE_CLIENT_SECRET secreto env
    OAuth2 client secret; required when AUTH_METHOD=oauth2
  • GOOGLE_REFRESH_TOKEN secreto env
    OAuth2 refresh token; required when AUTH_METHOD=oauth2
  • GOOGLE_TOKEN_URL env
    OAuth2 token endpoint for AUTH_METHOD=oauth2 (default: https://oauth2.googleapis.com/token)

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub PhilflowIO, dueña del repo

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Comparado con otros en Otrosi

  • Más estrellas que el 0% de los otros 32602 servidores de esta categoría
  • Publicado en el registro más recientemente que el 58% de los otros 32602 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 32602 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro Dav MCP?

Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

Debes completar: CALDAV_SERVER_URL, CALDAV_USERNAME, CALDAV_PASSWORD, GOOGLE_CLIENT_SECRET, GOOGLE_REFRESH_TOKEN

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (5.0.0) llegó al registro hace 28 días.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: Spec Driven Development, Remote Desktop Commander, Rystic

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

Spec Driven Development

de formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Se ejecuta en tu computadora★ 440MITActualizado hace 14 meses
Instalar

Remote Desktop Commander

de desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Se ejecuta en la nube★ 211Actualizado anteayer
Instalar

Rystic

de Rystic-Inc

Start, seed, clock, inspect and diff Rystic API simulators from your agent.

Se ejecuta en tu computadoraActualizado hoy
Instalar

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

dav-mcp

Give your AI agents the power of organization — Transform them into orchestrating assistants managing calendars, contacts, and tasks.

Built on 27 production-ready tools spanning CalDAV, CardDAV, and VTODO protocols.


Quick Start

One-click install (Claude Desktop)
  1. Download dav-mcp- .mcpb from the latest release. Releases from 4.1.2 on carry this file.
  2. Open it with Claude Desktop (macOS or Windows). Claude shows an install dialog.
  3. Enter your server URL, username and password. The password is stored as a secret. Leave the authentication method at Basic unless your server needs Digest.

The .mcpb file is an MCP Bundle: the server with its dependencies, so neither Node.js nor npx needs to be installed.

Claude Desktop / Cursor (Local)

Add to your MCP config file:

{

"mcpServers": { "dav-mcp": { "command": "npx", "args": ["-y", "dav-mcp"], "env": { "CALDAV_SERVER_URL": "https://dav.example.com", "CALDAV_USERNAME": "your_username", "CALDAV_PASSWORD": "your_password" } } } }

Config file locations:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Restart Claude Desktop after adding the configuration.


n8n (Remote HTTP)

Start the HTTP server:

CALDAV_SERVER_URL=https://dav.example.com \

CALDAV_USERNAME=your_username \ CALDAV_PASSWORD=your_password \ BEARER_TOKEN=your-secret-token \ npx dav-mcp --http

Then in n8n:

  1. Add AI Agent node
  2. Add MCP Client Tool node and connect to AI Agent
  3. Configure:
  • MCP Endpoint: http://localhost:3000/mcp
  • Authentication: Bearer
  • Token: your-secret-token

Custom port:

npx dav-mcp --http --port=8080

Docker

Pull the published image (distroless, runs as non-root, no shell):

docker run -d --name dav-mcp -p 3000:3000 --env-file .env \

ghcr.io/philflowio/dav-mcp:latest

Tags: latest, the exact release (5.0.0) and the minor line (5.0). Set PORT to serve on a different port; the healthcheck follows it.

Or build from source:

git clone https://github.com/PhilflowIO/dav-mcp.git

cd dav-mcp cp .env.example .env

Edit .env with your credentials

docker-compose up


The Orchestration

When partial tools force your AI to improvise, complete tools let it execute precise operations across all components.

Capabilitydav-mcpMost MCPs
Calendar ManagementFull CRUD (12 tools)Create + list only (2-3 tools)
Contact ManagementComplete CardDAV (8 tools)Often missing entirely
Task ManagementFull VTODO support (7 tools)Rarely included
Field-Based UpdatesAll RFC properties + custom fieldsRarely available
Free/BusyWorks on every server (client-side)Native REPORT, unsupported by most
Server-Side FilteringEfficient queriesDumps all data
Multi-ProviderAny CalDAV/CardDAV serverLimited provider support
Total Tools27 tools2-6 tools

Available Tools (27 Total)

CalDAV Tools (12 tools)
  1. list_calendars - List all available calendars
  2. list_events - List ALL events (use calendar_query for filtered searches)
  3. create_event - Create a new calendar event
  4. update_event - PREFERRED: Update any event field (SUMMARY, LOCATION, STATUS, custom X-* properties); move or convert an event with start_date/end_date/all_day
  5. update_event_raw - Update event with raw iCal data (advanced)
  6. delete_event - Delete an event permanently
  7. calendar_query - PREFERRED: Search and filter events efficiently by text, date range, or location
  8. make_calendar - Create a new calendar collection, optionally with a time zone (an IANA name such as Europe/Berlin, sent as a VTIMEZONE)
  9. update_calendar - Update calendar properties (display name, description, color, time zone)
  10. delete_calendar - Delete a calendar and all its events
  11. calendar_multi_get - Batch fetch multiple specific events by URLs
  12. freebusy_query - Find free and busy time in a range ("when am I free?"), calculated client-side
CardDAV Tools (8 tools)
  1. list_addressbooks - List all available address books
  2. list_contacts - List ALL contacts (use addressbook_query for filtered searches)
  3. create_contact - Create a new contact (vCard)
  4. update_contact - PREFERRED: Update any contact field (FN, EMAIL, TEL, ORG, ADR, custom X-* properties)
  5. update_contact_raw - Update contact with raw vCard data (advanced)
  6. delete_contact - Delete a contact permanently
  7. addressbook_query - PREFERRED: Search and filter contacts efficiently by name, email, or organization
  8. addressbook_multi_get - Batch fetch multiple specific contacts by URLs
VTODO Tools (7 tools)
  1. list_todos - List ALL todos/tasks (use todo_query for filtered searches)
  2. create_todo - Create a new todo/task with optional due date, priority, status
  3. update_todo - PREFERRED: Update any todo field (SUMMARY, STATUS, PRIORITY, DUE, PERCENT-COMPLETE, custom X-* properties)
  4. update_todo_raw - Update todo with raw VTODO iCal data (advanced)
  5. delete_todo - Delete a todo/task permanently
  6. todo_query - PREFERRED: Search and filter todos efficiently by status/due date
  7. todo_multi_get - Batch fetch multiple specific todos by URLs
Time zones

An event or todo written without a time zone (a "floating" time such as DTSTART:20261010T090000, or an all-day date) is read in its calendar's time zone, as CalDAV specifies (RFC 4791 §9.9): the zone set with make_calendar / update_calendar, which list_calendars shows. A calendar without one is read in the zone dav-mcp runs in: the TZ environment variable (for example TZ=Europe/Berlin in Docker or an HTTP deployment), else the system's. A time without a zone given to the create and update tools is read the same way, and an event stored without a zone stays without one when it is moved. freebusy_query prints its slots in the calendar's zone and names it.


Real-World Applications

n8n Automation Workflows
  • Meeting Management: "Show me all Friday meetings" → calendar_query with date filter returns only relevant events
  • Contact Search: "Find everyone at Google" → addressbook_query with org filter finds matches efficiently
  • Task Reporting: "Show overdue high-priority tasks" → todo_query with filters returns specific results
  • Scheduled Cleanup: Daily cron job deletes completed tasks using targeted queries
Claude Desktop Integration
  • Quick Event Creation: "Create team meeting tomorrow 2 PM" → create_event executes immediately
  • Contact Lookup: "What's Sarah's email?" → addressbook_query with name filter finds contact
  • Calendar Overview: "What's on my calendar next week?" → calendar_query with date range shows events
  • Calendar Management: "Create a new calendar called Project Luna" → make_calendar creates collection

Works Across All Major Providers

Works with any CalDAV/CardDAV server that follows RFC 4791 and RFC 6352:

  • Nextcloud - Full support
  • Baikal - Full support
  • Radicale - Full support
  • iCloud - Works with app-specific password
  • Any RFC-compliant server - Standard protocol support

Authentication

AUTH_METHOD selects how dav-mcp logs in (case-insensitive):

AUTH_METHODCredentialsUse for
Basic (default)CALDAV_USERNAME, CALDAV_PASSWORDAlmost every server. If the server only offers Digest (for example Baikal set to Digest), dav-mcp switches to Digest by itself — no setting needed.
DigestCALDAV_USERNAME, CALDAV_PASSWORDServers that only accept Digest (RFC 7616). Unlike the automatic switch under Basic, which first sends the password once Basic-encoded and is then rejected, Digest never sends the password — use it when the connection is not HTTPS.
OAuth (or OAuth2)GOOGLE_*, see belowGoogle Calendar

dav-mcp needs Node.js 22 or newer. A wrong configuration — an unknown AUTH_METHOD value, or missing credentials for the chosen method — stops the server at startup instead of falling back to Basic.


Google Calendar (OAuth2)

For Google Calendar, use OAuth2 authentication:

{

"mcpServers": { "dav-mcp": { "command": "npx", "args": ["-y", "dav-mcp"], "env": { "AUTH_METHOD": "OAuth", "GOOGLE_USER": "your@gmail.com", "GOOGLE_CLIENT_ID": "your-client-id", "GOOGLE_CLIENT_SECRET": "your-client-secret", "GOOGLE_REFRESH_TOKEN": "your-refresh-token" } } } }


Security

  • Input Validation: All inputs validated with Zod schemas before execution
  • Rate Limiting (HTTP mode): 100 requests per 15 minutes per client address, counted before the bearer token is checked. Clients on loopback or a private network (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) — another container on the same Docker network, for example — get 10,000. Limitation: dav-mcp sees the address of whatever connects to it. Behind a Docker port mapping or a reverse proxy that is the bridge gateway or the proxy, so all outside clients share that one address, its one counter and its raised limit. Rate-limit per client at the proxy if you expose the HTTP transport.
  • Bearer Auth: Token authentication for HTTP transport
  • No Credential Storage: Pass-through only, never logged or cached
  • Structured Logging: Audit trail with request IDs, no PII exposure
  • Tool-Call Log Off by Default: LOG_TOOL_CALLS=true records every tool call with its arguments, for debugging — to ~/.local/state/dav-mcp/tool-calls.jsonl (or $XDG_STATE_HOME, %LOCALAPPDATA% on Windows, or TOOL_CALL_LOG_FILE), readable by you only. TOOL_CALL_LOG_MODE=console sends it to stderr instead.
  • CORS Protection: Whitelist origins, block cross-site attacks

Privacy Policy

dav-mcp runs on your machine (or your own server) and talks only to the DAV server you configure. It has no telemetry and shares nothing with its maintainers or third parties. Tool results go to the AI assistant that called the tool. Credentials and calendar data are not stored by dav-mcp; the optional tool-call log is off by default. Full policy: PRIVACY.md. Contact: hello@philflow.io.


Documentation

  • [MCP Specification](https://modelcontextprotocol.io/specification/2025-03-26) - Model Context Protocol docs
  • [tsdav Docs](https://tsdav.vercel.app/docs/intro) - CalDAV/CardDAV library reference
  • [CalDAV RFC 4791](https://datatracker.ietf.org/doc/html/rfc4791) - CalDAV protocol specification
  • [CardDAV RFC 6352](https://datatracker.ietf.org/doc/html/rfc6352) - CardDAV protocol specification

Contributing

Pull requests are welcome! Please read CONTRIBUTING.md for guidelines.


License

MIT License - see LICENSE for details


Acknowledgments

Built with:

  • [tsdav](https://github.com/natelindev/tsdav) - Excellent TypeScript CalDAV/CardDAV library
  • [tsdav-utils](https://github.com/PhilflowIO/tsdav-utils) - Field-agnostic utility layer for RFC-compliant field updates
  • [MCP SDK](https://modelcontextprotocol.io) - Model Context Protocol by Anthropic
  • **[ical.js](https://github.com/kewisch/ical.

Solo se muestra el principio; lee el resto en el repo

Pregunta a PopNx