Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/PhilflowIO/dav-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/plugins/philflowio/dav-mcp/claude-plugin)<a href="https://agentmods.dev/plugins/philflowio/dav-mcp/claude-plugin"><img src="https://agentmods.dev/badge/plugins/philflowio/dav-mcp/claude-plugin/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/plugins/philflowio/dav-mcp/claude-plugin"><img src="https://agentmods.dev/badge/plugins/philflowio/dav-mcp/claude-plugin.svg" alt="Reviewed on agentmods" width="80" height="20"></a>Grade A, and why
dav-mcp scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
{
"name": "dav-mcp",
"displayName": "dav-mcp: Calendars, Contacts & Tasks",
"version": "5.0.0",
"description": "Let Claude read and organize the calendars, contacts and tasks on your own CalDAV/CardDAV server: Nextcloud, iCloud, Baikal, Radicale and more.",
"icon": "./icon.png",
"author": {
"name": "Philflow",
"email": "[email protected]",
"url": "https://github.com/PhilflowIO"
},
"homepage": "https://github.com/PhilflowIO/dav-mcp#readme",
"repository": "https://github.com/PhilflowIO/dav-mcp",
"license": "MIT",
"keywords": [
"caldav",
"carddav",
"calendar",
"contacts",
"tasks",
"nextcloud",
"icloud",
"baikal",
"radicale"
],
"documentationUrl": "https://github.com/PhilflowIO/dav-mcp/tree/main/claude-plugin#readme",
"supportUrl": "https://github.com/PhilflowIO/dav-mcp/issues",
"privacyPolicyUrl": "https://github.com/PhilflowIO/dav-mcp/blob/main/PRIVACY.md",
"userConfig": {
"server_url": {
"type": "string",
"title": "Server URL",
"description": "Base URL of your CalDAV/CardDAV server, e.g. https://cloud.example.com/remote.php/dav/ (Nextcloud) or https://caldav.icloud.com/",
"required": true
},
"username": {
"type": "string",
"title": "Username",
"description": "Username for your DAV server",
"required": true
},
"password": {
"type": "string",
"title": "Password",
"description": "Password or app-specific password for your DAV server. Stored in your system's secure credential store.",
"sensitive": true,
"required": true
},
"auth_method": {
"type": "string",
"title": "Authentication method",
"description": "Basic or Digest (OAuth needs settings the plugin cannot pass). Basic works for almost every server and switches to Digest by itself when the server only offers Digest. Digest never sends the password.",
"default": "Basic"
}
}
}
What it installs
The manifest is a name and a version. 1 skill, 1 MCP server travel with it, and installing the plugin installs all of them — 147 tokens a session between them. Each is measured on its own page, and each can be installed alone.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago Changed · -4 lines e12e908c2d4f
- 9d ago Changed 2c6bfc18246d
- 10d ago Changed · +1 lines 0c6d8c0ad12f
- 11d ago First seen · 60 lines scan A 6bc6e58649e4
dav-mcp is a plugin published in the GitHub repository PhilflowIO/dav-mcp (40 stars, last pushed 9d ago), licensed MIT. Its token cost is not measured: this kind of file is read by the harness, not the model. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-08.
Other plugins, from other repositories
pear
Official Pear integration for Claude Code: iCloud Calendar, Contacts, Mail, and legacy CalDAV reminders through hosted MCP tools. Upgraded Apple Reminders are not supported.
apple-pim
Native macOS integration for Calendar, Reminders, Contacts, and Mail using EventKit, Contacts, and JXA frameworks.
outlook-assistant
Microsoft Outlook email, calendar and contacts for Claude: 22 tools via Microsoft Graph, with dry-run previews, send limits and recipient allowlists. Works with Outlook.com and Microsoft 365.
caldav-mcp
Manage iCloud and CalDAV calendars with native multi-VALARM support from Gemini CLI.
keeper-sh
Keeper.sh lets you connect your agent to all your calendars, Google, Outlook, Apple, Fastmail, CalDAV and ICS.
che-ical-mcp
A macOS server that lets a coding agent work with Apple Calendar and Reminders through EventKit, Apple's calendar and reminder framework.