Nextcloud Calendar

مجتمعي الإنتاجية

CalDAV Nectcloud calendar integration. Manage calendars, events, attendees, etc.

ماذا يمكنك أن تفعل مع Nextcloud Calendar؟

  • Fetch calendars from Nextcloud
  • ADHD-friendly organization features
  • MCP protocol support (Streamable HTTP and Legacy HTTP+SSE)

التثبيت

خطوات التثبيت موجودة في التوثيق أدناه. التوثيق

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. MCP Nextcloud Calendar
  2. Features
  3. Usage
  4. Configuration
  5. Development
  6. API Endpoints
  7. MCP Tools
  8. Known Issues and Limitations
  9. License

MCP Nextcloud Calendar

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:

VariableDescriptionDefaultRequired
PORTServer port3001No
SERVER_NAMEMCP server identifiernextcloud-calendar-serverNo
NODE_ENVEnvironment (development/production)developmentNo
NEXTCLOUD_BASE_URLYour Nextcloud server URL-Yes
NEXTCLOUD_USERNAMEYour Nextcloud username-Yes
NEXTCLOUD_APP_TOKENYour Nextcloud app token-Yes
KEEP_ALIVE_INTERVALKeep-alive interval (ms)30000No
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
ToolDescriptionParameters
listCalendarsRetrieves all accessible calendarsNone
createCalendarCreates a new calendardisplayName (required), color (optional), category (optional), focusPriority (optional)
updateCalendarUpdates an existing calendarid (required), displayName (optional), color (optional), category (optional), focusPriority (optional)
deleteCalendarDeletes a calendarid (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
ToolDescriptionParameters
listEventsRetrieves events for a calendarcalendarId (required), start (optional), end (optional)
getEventGets a specific eventcalendarId (required), eventId (required)
createEventCreates a new eventcalendarId (required), summary (required), start (required), end (required), description (optional), location (optional)
updateEventUpdates an existing eventcalendarId (required), eventId (required), [plus any event properties to update]
deleteEventDeletes an eventcalendarId (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

الأسئلة الشائعة

ما هو Nextcloud Calendar؟

CalDAV Nectcloud calendar integration. Manage calendars, events, attendees, etc.

كيف أثبّت Nextcloud Calendar؟

اتبع خطوات التثبيت في توثيقه المعروض في هذه الصفحة وفي مستودعه.

هل Nextcloud Calendar مفتوح المصدر؟

نعم. شيفرته متاحة على GitHub بترخيص ISC.

من يصون Nextcloud Calendar؟

ينشره Cheffromspace. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من القوائم المجتمعية awesome-mcp-servers ومستودع المشروع على GitHub. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.