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", "[email protected]"],
"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
updateCalendaranddeleteCalendartools 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
Mcp Server Server
MCP server of servers
Mac Shell Mcp
An MCP (Model Context Protocol) server for executing macOS terminal commands with ZSH shell. This server provides a secure way to execute shell commands with built-in whitelisting and approval mechanisms.
Marginalia Mcp Server
An MCP server implementation for managing marginalia and annotations
MCP server for FindMine's product styling AI
A Model Context Protocol (MCP) server for interacting with the OneSignal API
A Model Context Protocol server for SMTP email services
A VMware ESXi/vCenter management server based on MCP (Model Control Protocol), providing simple REST API interfaces for virtual machine management.