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
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
Mcp Codex Keeper
An intelligent MCP server that serves as a guardian of development knowledge, providing Cline assistants with curated access to latest documentation and best practices across the software development landscape
Ragdocs
MCP server for RAG-based document search and management
Mcp Selenium
An MCP implementation for Selenium WebDriver
Created
June 11, 2025
Last Updated
June 11, 2025
Category
Communication & CollaborationAuthor
Cheffromspace