# dav-mcp

MCP-сервер связывает ИИ-ассистентов с серверами CalDAV, CardDAV и VTODO. Позволяет управлять календарями, адресными книгами и списками задач через 27 встроенных инструментов.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 40
- Автор: PhilflowIO
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/PhilflowIO/dav-mcp
- Обновлён: 2026-10-10
- HTML: https://affpapa.org/nevibecode/mcp/dav-mcp

## Что делает

Сервер даёт агенту прямой доступ к контактам, событиям и делам на любых совместимых DAV-серверах. В набор входят 27 инструментов: 12 для CalDAV, 8 для CardDAV и 7 для списков задач VTODO. Вместо выгрузки всей базы сервер поддерживает точечные запросы через `calendar_query`, `addressbook_query` и `todo_query`.

Помимо стандартных полей сущностей можно менять произвольные свойства `X-*`, работать с «сырыми» данными iCal и vCard или запрашивать несколько записей пакетом через multi-get. Свободные слоты времени в календаре вычисляются на стороне клиента инструментом `freebusy_query`.

Если в календаре не задан часовой пояс, время плавающих событий берётся из переменной окружения `TZ` или системных часов хоста. Сервер работает локально через `npx`, как фоновый контейнер в Docker либо в режиме HTTP-сервиса с авторизацией по токену Bearer.

## Требования
- Нужно: Node.js (команды через npx)
- Переменные окружения: `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` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add dav-mcp -e CALDAV_SERVER_URL=<CALDAV_SERVER_URL> -e CALDAV_USERNAME=<CALDAV_USERNAME> -e CALDAV_PASSWORD=<CALDAV_PASSWORD> -e GOOGLE_CLIENT_SECRET=<GOOGLE_CLIENT_SECRET> -e GOOGLE_REFRESH_TOKEN=<GOOGLE_REFRESH_TOKEN> -- npx -y dav-mcp
```
Вместо <…> подставьте свои значения. Ещё 5 переменных окружения — в README сервера

### Codex

**Командой платформы**
```bash
codex mcp add dav-mcp --env CALDAV_SERVER_URL=<CALDAV_SERVER_URL> --env CALDAV_USERNAME=<CALDAV_USERNAME> --env CALDAV_PASSWORD=<CALDAV_PASSWORD> --env AUTH_METHOD=<AUTH_METHOD> --env GOOGLE_SERVER_URL=<GOOGLE_SERVER_URL> -- npx -y dav-mcp
```
Вместо <…> подставьте свои значения. Ещё 5 переменных окружения — в README сервера

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "dav-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "dav-mcp"
            ],
            "env": {
                "CALDAV_SERVER_URL": "<CALDAV_SERVER_URL>",
                "CALDAV_USERNAME": "<CALDAV_USERNAME>",
                "CALDAV_PASSWORD": "<CALDAV_PASSWORD>",
                "AUTH_METHOD": "<AUTH_METHOD>",
                "GOOGLE_SERVER_URL": "<GOOGLE_SERVER_URL>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 5 переменных окружения — в README сервера

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "dav-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "dav-mcp"
            ],
            "env": {
                "CALDAV_SERVER_URL": "<CALDAV_SERVER_URL>",
                "CALDAV_USERNAME": "<CALDAV_USERNAME>",
                "CALDAV_PASSWORD": "<CALDAV_PASSWORD>",
                "AUTH_METHOD": "<AUTH_METHOD>",
                "GOOGLE_SERVER_URL": "<GOOGLE_SERVER_URL>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 5 переменных окружения — в README сервера

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e CALDAV_SERVER_URL=<CALDAV_SERVER_URL> -e CALDAV_USERNAME=<CALDAV_USERNAME> -e CALDAV_PASSWORD=<CALDAV_PASSWORD> -e AUTH_METHOD=<AUTH_METHOD> -e GOOGLE_SERVER_URL=<GOOGLE_SERVER_URL> dav-mcp npx -y dav-mcp
```
Вместо <…> подставьте свои значения. Ещё 5 переменных окружения — в README сервера

## Когда брать
- искать встречи в календаре по дате, месту и тексту без выгрузки всех событий
- обновлять контакты vCard, включая почту, телефоны и пользовательские свойства `X-*`
- отслеживать и закрывать задачи VTODO с фильтрацией по статусу и сроку исполнения
- рассчитывать свободные интервалы времени перед назначением встреч

## Примеры запросов агенту
- Найди в календаре все встречи на следующую пятницу и покажи свободные окна.
- Создай в списке задач VTODO дело «Подготовить релиз» с дедлайном до завтра.
- Обнови телефон и организацию для контакта Иванов в адресной книге.

## Похожие
- [Reactive Resume](https://affpapa.org/nevibecode/mcp/reactive-resume.md) — MCP-сервер · ★ 44874
- [screenpipe](https://affpapa.org/nevibecode/mcp/screenpipe.md) — MCP-сервер · ★ 22053
- [Inbox Zero](https://affpapa.org/nevibecode/mcp/inbox-zero.md) — MCP-сервер · ★ 12791
- [kaneo](https://affpapa.org/nevibecode/mcp/kaneo.md) — MCP-сервер · ★ 9602
- [Mindwtr](https://affpapa.org/nevibecode/mcp/mindwtr.md) — MCP-сервер · ★ 2318
- [Azure DevOps (ADO)](https://affpapa.org/nevibecode/mcp/azure-devops-ado.md) — MCP-сервер · ★ 2067

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
