selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
nextcloud-mcp-server logo

Self-host nextcloud-mcp-server

v0.202.1

MCP server connecting AI assistants to Nextcloud

ReleaseOpen SourceAGPL-3.0
Updated8 hours ago
LanguagePython
Setup difficultyModerate
Stars
394
Port
8000 (MCP server HTTP endpoint)
Requires
Nextcloud, Python, SQLite
Docker
ghcr.io/cbcoutinho/nextcloud-mcp-server
Install with Docker Compose

What is nextcloud-mcp-server?

Nextcloud MCP Server is a production-ready Model Context Protocol (MCP) server that bridges AI assistants with a self-hosted Nextcloud instance. It exposes over 110 MCP tools across 13 Nextcloud apps including Notes, Calendar, Contacts, Files (WebDAV), Deck, Cookbook, Tables, Sharing, News, Mail, Collectives, Talk, and Shopping List. The server runs independently of Nextcloud via Docker, Kubernetes (Helm chart), VM, or local Python installation. It authenticates using Nextcloud app passwords with three deployment modes: single-user BasicAuth, multi-user BasicAuth pass-through, and Login Flow v2 (OAuth-based, recommended for hosted deployments). Optional semantic search uses Qdrant and Ollama for vector-powered content discovery. Document processing supports OCR and text extraction from PDFs, DOCX, and images. The project is licensed under AGPL-3.0.

Should you self-host nextcloud-mcp-server?

nextcloud-mcp-server scores 54/100 on selfhost.directory (how scoring works) and ranks #24 of 120 in AI Assistant. It has 394 GitHub stars.

It shipped 41 stable releases in the past year. The latest, v0.202.1, came out on 26 October 2026.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is AGPL-3.0-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is hermes-agent (89/100, 257 957 stars). It scores higher overall, so compare the two before you pick. See nextcloud-mcp-server vs hermes-agent side by side.

Features

  • MCP protocol support
  • Selective App Enablement

nextcloud-mcp-server README

How to install nextcloud-mcp-server

Install nextcloud-mcp-server with Docker Compose

Docker Compose
Environment variables
NEXTCLOUD_HOST, NEXTCLOUD_USERNAME, NEXTCLOUD_PASSWORD, MCP_DEPLOYMENT_MODE, TOKEN_ENCRYPTION_KEY, TOKEN_STORAGE_DB, ENABLE_SEMANTIC_SEARCH, QDRANT_URL, OLLAMA_BASE_URL

version: '3.8' services: mcp: image: ghcr.io/cbcoutinho/nextcloud-mcp-server:latest ports: - "127.0.0.1:8000:8000" env_file: - .env volumes: - ./mcp-data:/app/data restart: unless-stopped

Requires .env file and mcp-data directory writable by uid 1000

How to configure nextcloud-mcp-server

  • CORS_ALLOW_ORIGINS*Comma-separated CORS origin allowlist

    Comma-separated CORS origin allowlist

  • DATABASE_URLSQLAlchemy async URL for centralized token storage (PostgreSQL for HA)

    SQLAlchemy async URL for centralized token storage (PostgreSQL for HA)

  • ENABLE_SEMANTIC_SEARCHfalseEnable semantic search (requires semantic extra and Qdrant)

    Enable semantic search (requires semantic extra and Qdrant)

    values: true, false

  • FORWARDED_ALLOW_IPS127.0.0.1Comma-separated list of trusted proxy IPs/CIDRs for X-Forwarded-* headers

    Comma-separated list of trusted proxy IPs/CIDRs for X-Forwarded-* headers

  • MCP_ALLOWED_HOSTSComma-separated Host allowlist (required when DNS rebinding protection is on)

    Comma-separated Host allowlist (required when DNS rebinding protection is on)

  • MCP_DEPLOYMENT_MODEDeployment mode: single_user_basic, multi_user_basic, or login_flow

    Deployment mode: single_user_basic, multi_user_basic, or login_flow

    values: single_user_basic, multi_user_basic, login_flow

  • MCP_DNS_REBINDING_PROTECTIONfalseEnable Host/Origin validation for DNS rebinding protection

    Enable Host/Origin validation for DNS rebinding protection

    values: true, false

  • NEXTCLOUD_CA_BUNDLEPath to a PEM CA bundle file for custom certificate authorities

    Path to a PEM CA bundle file for custom certificate authorities

  • NEXTCLOUD_HOSTFull URL of your Nextcloud instance

    Full URL of your Nextcloud instance

  • NEXTCLOUD_MCP_SERVER_URLPublic URL of the MCP server (used as audience claim and for browser redirects)

    Public URL of the MCP server (used as audience claim and for browser redirects)

  • NEXTCLOUD_OIDC_CLIENT_IDOIDC client ID for the MCP server's relying-party registration

    OIDC client ID for the MCP server's relying-party registration

  • NEXTCLOUD_OIDC_CLIENT_SECRETOIDC client secret paired with NEXTCLOUD_OIDC_CLIENT_ID

    OIDC client secret paired with NEXTCLOUD_OIDC_CLIENT_ID

  • NEXTCLOUD_PASSWORDNextcloud app password (not login password)

    Nextcloud app password (not login password)

  • NEXTCLOUD_PUBLIC_ISSUER_URLPublic URL used as the OAuth issuer for JWT validation

    Public URL used as the OAuth issuer for JWT validation

  • NEXTCLOUD_USERNAMEYour Nextcloud username

    Your Nextcloud username

  • NEXTCLOUD_VERIFY_SSLtrueSet to false to disable TLS certificate verification (dev only)

    Set to false to disable TLS certificate verification (dev only)

    values: true, false

  • OIDC_DISCOVERY_URLOverride the IdP discovery URL (defaults to Nextcloud's built-in OIDC)

    Override the IdP discovery URL (defaults to Nextcloud's built-in OIDC)

  • OLLAMA_BASE_URLOllama embedding service base URL

    Ollama embedding service base URL

  • QDRANT_LOCATIONLocal persistent storage path for Qdrant (alternative to QDRANT_URL)

    Local persistent storage path for Qdrant (alternative to QDRANT_URL)

  • QDRANT_URLQdrant vector database URL for network mode

    Qdrant vector database URL for network mode

  • TOKEN_ENCRYPTION_KEYFernet key for app-password encryption

    Fernet key for app-password encryption

  • TOKEN_STORAGE_DBPath to SQLite DB for stored app passwords

    Path to SQLite DB for stored app passwords

nextcloud-mcp-server releases & version history

More in File Management

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…