CalDAV Nectcloud calendar integration. Manage calendars, events, attendees, etc.
A Model Context Protocol (MCP) server for Nextcloud Calendar integration.
The easiest way to use this package is with npx:
npx mcp-nextcloud-calendar
For development or local installation:
# Install globally
npm install -g mcp-nextcloud-calendar
# Or install locally
npm install mcp-nextcloud-calendar
To use with an MCP client (like Claude), add this configuration to your MCP client settings:
{
"mcpServers": {
"nextcloud-calendar": {
"command": "npx",
"args": ["-y", "mcp-nextcloud-calendar"],
"env": {
"NEXTCLOUD_BASE_URL": "https://your-nextcloud-server.com",
"NEXTCLOUD_USERNAME": "your-username",
"NEXTCLOUD_APP_TOKEN": "your-app-token"
}
}
}
}
You can pin to a specific version of the package:
{
"mcpServers": {
"nextcloud-calendar": {
"command": "npx",
"args": ["-y", "mcp-nextcloud-calendar@0.1.0"],
"env": {
"NEXTCLOUD_BASE_URL": "https://your-nextcloud-server.com",
"NEXTCLOUD_USERNAME": "your-username",
"NEXTCLOUD_APP_TOKEN": "your-app-token"
}
}
}
}
The server uses these environment variables, with defaults where possible:
Variable | Description | Default | Required |
---|---|---|---|
PORT | Server port | 3001 | No |
SERVER_NAME | MCP server identifier | nextcloud-calendar-server | No |
NODE_ENV | Environment (development/production) | development | No |
NEXTCLOUD_BASE_URL | Your Nextcloud server URL | - | Yes |
NEXTCLOUD_USERNAME | Your Nextcloud username | - | Yes |
NEXTCLOUD_APP_TOKEN | Your Nextcloud app token | - | Yes |
KEEP_ALIVE_INTERVAL | Keep-alive interval (ms) | 30000 | No |
For local development:
npm install
.env
file in the project root:cp .env.example .env
.env
file with your Nextcloud credentials..env
file# Build the project
npm run build
# Run in development mode
npm run dev
# Run tests
npm run test
# Run linting
npm run lint
# Format code
npm run format
/mcp
- Primary MCP endpoint (Streamable HTTP transport)/sse
and /messages
- Legacy MCP endpoints (HTTP+SSE transport)GET /health
- Health check endpointGET /api/calendars
- List all calendarsThe following MCP tools are registered and available to clients:
Tool | Description | Parameters |
---|---|---|
listCalendars | Retrieves all accessible calendars | None |
createCalendar | Creates a new calendar | displayName (required), color (optional), category (optional), focusPriority (optional) |
updateCalendar | Updates an existing calendar | id (required), displayName (optional), color (optional), category (optional), focusPriority (optional) |
deleteCalendar | Deletes a calendar | id (required) |
⚠️ Permission Warning: The
updateCalendar
anddeleteCalendar
tools may require special permissions in your Nextcloud instance. Calendar operations are subject to Nextcloud's permission system.
Tool | Description | Parameters |
---|---|---|
listEvents | Retrieves events for a calendar | calendarId (required), start (optional), end (optional) |
getEvent | Gets a specific event | calendarId (required), eventId (required) |
createEvent | Creates a new event | calendarId (required), summary (required), start (required), end (required), description (optional), location (optional) |
updateEvent | Updates an existing event | calendarId (required), eventId (required), [plus any event properties to update] |
deleteEvent | Deletes an event | calendarId (required), eventId (required) |
Note: This package is currently in early development (0.1.x). APIs and tools may change without notice in future releases.
Please report any issues on the GitHub repository.
ISC
A simple to-do list manager to record, track, and complete daily tasks.
An MCP server for Google Calendar, enabling LLMs to read, create, and manage calendar events.
An MCP server that gives Claude Desktop a maid personality, complete with a Japanese-accented voice, visual avatar, and speech recognition.
Create Garmin Connect workouts using natural language.
Integrate the SpotDraft API into agentic workflows. Requires SpotDraft API credentials.
A sales automation system that integrates Gmail, Google Sheets, Streak CRM, Notion, and Google Drive into a unified workflow.
An optimized, read-only MCP server for the Notion API with asynchronous processing.
Interact with Notion's API to read, create, and modify content using natural language.
Manages configurations for MCP clients, automatically detecting file paths based on OS and client.
Manage complex AI agent workflows with a Kanban-based task management system.