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
Dynamic and reflective problem-solving through thought sequences
The only platform you need to get paid - all payments in one place, invoicing and accounting reconciliations with Adfin.
Marketing insights and audience analysis from Audiense reports, covering demographic, cultural, influencer, and content engagement analysis.
Context7 MCP - Up-to-date Docs For Any Cursor Prompt
Interact with capabilities of the CRIC Wuye AI platform, an intelligent assistant specifically for the property management industry.
MCP server for the Computer-Use Agent (CUA), allowing you to run CUA through Claude Desktop or other MCP clients.
Interact with task, doc, and project data in Dart, an AI-native project management tool
Contract and template management for drafting, reviewing, and sending binding contracts.
Perform queries and entity operations in your Fibery workspace.
Turn your Make scenarios into callable tools for AI assistants.