Skip to main content
Glama

mcp-nextcloud-calendar

MCP Nextcloud Calendar

npm version License: ISC

A Model Context Protocol (MCP) server for Nextcloud Calendar integration.

Features

  • Fetch calendars from Nextcloud

  • ADHD-friendly organization features

  • MCP protocol support (Streamable HTTP and Legacy HTTP+SSE)

Usage

Using with npx

The easiest way to use this package is with npx:

npx mcp-nextcloud-calendar

Installation

For development or local installation:

# Install globally npm install -g mcp-nextcloud-calendar # Or install locally npm install mcp-nextcloud-calendar

MCP Client Configuration

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" } } } }

Specifying a Version

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" } } } }

Configuration

Environment Variables

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

Development Setup

For local development:

  1. Clone the repository

  2. Install dependencies:

npm install
  1. Create a .env file in the project root:

cp .env.example .env
  1. Edit the .env file with your Nextcloud credentials.

Getting a Nextcloud App Token

  1. Log in to your Nextcloud instance

  2. Go to Settings → Security → App Passwords

  3. Create a new app password with a name like "MCP Calendar"

  4. Copy the generated token to your .env file

Development

# 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

API Endpoints

  • /mcp - Primary MCP endpoint (Streamable HTTP transport)

  • /sse and /messages - Legacy MCP endpoints (HTTP+SSE transport)

  • GET /health - Health check endpoint

  • GET /api/calendars - List all calendars

MCP Tools

The following MCP tools are registered and available to clients:

Calendar Management

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 and deleteCalendar tools may require special permissions in your Nextcloud instance. Calendar operations are subject to Nextcloud's permission system.

Event Management

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)

Known Issues and Limitations

Note: This package is currently in early development (0.1.x). APIs and tools may change without notice in future releases.

  • The update and delete calendar operations may require specific permissions in your Nextcloud instance

  • Error handling for specific Nextcloud error codes is still being improved

  • Large calendars with many events may experience performance issues

Please report any issues on the GitHub repository.

License

ISC

ko-fi

-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

mcp-nextcloud-calendar

  1. Features
    1. Usage
      1. Using with npx
      2. Installation
      3. MCP Client Configuration
    2. Configuration
      1. Environment Variables
      2. Development Setup
      3. Getting a Nextcloud App Token
    3. Development
      1. API Endpoints
        1. MCP Tools
          1. Calendar Management
          2. Event Management
        2. Known Issues and Limitations
          1. License

            Related MCP Servers

            View all related MCP servers

            MCP directory API

            We provide all the information about MCP servers via our MCP API.

            curl -X GET 'https://glama.ai/api/mcp/v1/servers/Cheffromspace/mcp-nextcloud-calendar'

            If you have feedback or need assistance with the MCP directory API, please join our Discord server