Nextcloud MCP server

CommunityChris Coutinho248Config last verified Jun 1, 2026

Production-ready community MCP server for Nextcloud: files, notes, calendar, contacts, tables, deck, talk, and more across 110+ tools.

nextcloud-mcp-server is a production-ready, well-maintained community MCP server that connects an agent to a Nextcloud instance — the open-source, self-hostable productivity and file-storage platform. It is a dedicated standalone server that runs independently of Nextcloud (Docker, Kubernetes, a VM, or locally) and provides deep CRUD coverage across more than ten Nextcloud apps through 110+ tools, so an LLM like Claude, GPT, or Gemini can work with your real files and data in place.

Files are handled over WebDAV (list, read, write, copy, move, delete, search by name or type, and favorites, with OCR/document processing). Notes get full CRUD plus keyword and attachment support; Calendar covers events, recurring events, attendees, availability, and todos/tasks; Contacts brings full CardDAV address-book management; Tables supports row operations; Deck offers boards, stacks, cards, labels, assignments, comments, and attachments; Talk reads conversations and sends messages; Collectives manages collaborative wiki pages; plus Cookbook recipes and News feeds. An experimental, opt-in semantic search adds vector-powered retrieval across notes, files, news, and deck cards. It runs over stdio with uvx (uvx nextcloud-mcp-server run --transport stdio) or as a Docker container, and authenticates with your NEXTCLOUD_HOST, NEXTCLOUD_USERNAME, and a Nextcloud app password. A tag-based exclusion feature can hide sensitive files from the file tools. It is AGPL-3.0 licensed.

Quick install

Copy-paste configs are provided for all 8 supported clients. Pick your client below.

Add to ~/.claude.json

~/.claude.json
json
{
  "mcpServers": {
    "nextcloud": {
      "command": "uvx",
      "args": [
        "nextcloud-mcp-server",
        "run",
        "--transport",
        "stdio"
      ],
      "env": {
        "NEXTCLOUD_HOST": "<NEXTCLOUD_HOST>",
        "NEXTCLOUD_USERNAME": "<NEXTCLOUD_USERNAME>",
        "NEXTCLOUD_PASSWORD": "<NEXTCLOUD_PASSWORD>"
      }
    }
  }
}
Or via CLI
bash
claude mcp add nextcloud -- uvx nextcloud-mcp-server run --transport stdio

Available tools

ToolDescription
nc_notes_create_noteCreate a new note.
nc_notes_update_noteUpdate an existing note.
nc_notes_append_contentAppend content to an existing note.
nc_notes_search_notesSearch notes by keyword.
nc_notes_get_noteGet a note by ID.
nc_notes_get_attachmentGet an attachment from a note.
nc_notes_delete_noteDelete a note.
nc_calendar_list_calendarsList the user's calendars.
nc_calendar_create_eventCreate a calendar event.
nc_calendar_list_eventsList events in a calendar.
nc_calendar_get_eventGet a calendar event by ID.
nc_calendar_update_eventUpdate a calendar event.
nc_calendar_delete_eventDelete a calendar event.
nc_calendar_create_meetingCreate a meeting event with attendees.
nc_calendar_get_upcoming_eventsGet upcoming events across calendars.
nc_calendar_find_availabilityFind available time slots.
nc_calendar_bulk_operationsPerform bulk operations on calendar events.
nc_calendar_manage_calendarCreate, update, or delete a calendar.
nc_calendar_list_todosList todos (tasks).
nc_calendar_create_todoCreate a todo (task).
nc_calendar_update_todoUpdate a todo (task).
nc_calendar_delete_todoDelete a todo (task).
nc_calendar_search_todosSearch todos (tasks).
nc_contacts_list_addressbooksList the user's address books.
nc_contacts_list_contactsList contacts in an address book.
nc_contacts_search_contactsSearch contacts.
nc_contacts_create_addressbookCreate an address book.
nc_contacts_delete_addressbookDelete an address book.
nc_contacts_create_contactCreate a contact.
nc_contacts_delete_contactDelete a contact.
nc_contacts_update_contactUpdate a contact.
nc_webdav_list_directoryList the contents of a directory over WebDAV.
nc_webdav_read_fileRead a file's contents over WebDAV.
nc_webdav_write_fileWrite a file over WebDAV.
nc_webdav_create_directoryCreate a directory over WebDAV.
nc_webdav_delete_resourceDelete a file or directory over WebDAV.
nc_webdav_move_resourceMove a file or directory over WebDAV.
nc_webdav_copy_resourceCopy a file or directory over WebDAV.
nc_webdav_search_filesSearch files over WebDAV.
nc_webdav_find_by_nameFind files by name.
nc_webdav_find_by_typeFind files by type.
nc_webdav_list_favoritesList favorited files.
deck_get_boardsList Deck boards.
deck_get_boardGet a Deck board by ID.
deck_get_stacksList the stacks on a board.
deck_get_stackGet a stack by ID.
deck_get_archived_stacksList archived stacks on a board.
deck_get_cardsList the cards in a stack.
deck_get_board_overviewGet an overview of a board's stacks and cards.
deck_get_cardGet a card by ID.
deck_get_labelsList the labels on a board.
deck_get_labelGet a label by ID.
deck_create_boardCreate a board.
deck_create_stackCreate a stack on a board.
deck_update_stackUpdate a stack.
deck_delete_stackDelete a stack.
deck_create_cardCreate a card in a stack.
deck_update_cardUpdate a card.
deck_delete_cardDelete a card.
deck_archive_cardArchive a card.
deck_unarchive_cardUnarchive a card.
deck_reorder_cardReorder a card within or across stacks.
deck_create_labelCreate a label on a board.
deck_update_labelUpdate a label.
deck_delete_labelDelete a label.
deck_assign_label_to_cardAssign a label to a card.
deck_remove_label_from_cardRemove a label from a card.
deck_assign_user_to_cardAssign a user to a card.
deck_unassign_user_from_cardUnassign a user from a card.
deck_get_card_commentsList the comments on a card.
deck_create_card_commentAdd a comment to a card.
deck_update_card_commentUpdate a card comment.
deck_delete_card_commentDelete a card comment.
deck_attach_fileAttach a file to a card.
deck_attach_noteAttach a note to a card.
deck_list_attachmentsList a card's attachments.
deck_delete_attachmentDelete an attachment from a card.
nc_tables_list_tablesList Nextcloud Tables.
nc_tables_get_schemaGet the schema (columns) of a table.
nc_tables_read_tableRead rows from a table.
nc_tables_insert_rowInsert a row into a table.
nc_tables_update_rowUpdate a row in a table.
nc_tables_delete_rowDelete a row from a table.
nc_share_createCreate a share for a file or folder.
nc_share_deleteDelete a share.
nc_share_getGet a share by ID.
nc_share_listList shares.
nc_share_updateUpdate a share's permissions or settings.
nc_cookbook_import_recipeImport a recipe from a URL.
nc_cookbook_list_recipesList recipes.
nc_cookbook_get_recipeGet a recipe by ID.
nc_cookbook_create_recipeCreate a recipe.
nc_cookbook_update_recipeUpdate a recipe.
nc_cookbook_delete_recipeDelete a recipe.
nc_cookbook_search_recipesSearch recipes.
nc_cookbook_list_categoriesList recipe categories.
nc_cookbook_get_recipes_in_categoryList the recipes in a category.
nc_cookbook_list_keywordsList recipe keywords.
nc_cookbook_get_recipes_with_keywordsList recipes matching keywords.
nc_cookbook_set_configSet Cookbook configuration.
nc_cookbook_reindexReindex the recipe collection.
nc_news_list_foldersList News folders.
nc_news_list_feedsList News feeds.
nc_news_list_itemsList News items.
nc_news_get_itemGet a News item by ID.
nc_news_get_starred_itemsList starred News items.
nc_news_get_unread_itemsList unread News items.
nc_news_get_feed_healthCheck the health of News feeds.
nc_news_get_statusGet News app status.
talk_list_conversationsList Talk conversations.
talk_get_conversationGet a Talk conversation by token.
talk_get_messagesGet messages from a Talk conversation.
talk_list_participantsList the participants in a Talk conversation.
talk_send_messageSend a message to a Talk conversation.
talk_mark_as_readMark a Talk conversation as read.
collectives_get_collectivesList collectives.
collectives_get_pagesList the pages in a collective.
collectives_get_pageGet a page by ID.
collectives_search_pagesSearch pages across collectives.
collectives_get_tagsList tags in a collective.
collectives_get_trashed_pagesList trashed pages.
collectives_get_trashed_collectivesList trashed collectives.
collectives_create_collectiveCreate a collective.
collectives_set_collective_emojiSet a collective's emoji.
collectives_trash_collectiveMove a collective to the trash.
collectives_delete_collectivePermanently delete a collective.
collectives_restore_collectiveRestore a collective from the trash.
collectives_create_pageCreate a page in a collective.
collectives_move_pageMove a page within a collective.
collectives_trash_pageMove a page to the trash.
collectives_restore_pageRestore a page from the trash.
collectives_set_page_emojiSet a page's emoji.
collectives_create_tagCreate a tag in a collective.
collectives_assign_tagAssign a tag to a page.
collectives_remove_tagRemove a tag from a page.
nc_semantic_searchVector-powered semantic search across notes, files, news, and deck cards (experimental, opt-in).
nc_semantic_search_answerAnswer a question using semantic search over your Nextcloud content (experimental, opt-in).
nc_get_vector_sync_statusGet the status of the semantic-search vector sync job.

Required configuration

  • NEXTCLOUD_HOSTRequired

    Base URL of your Nextcloud instance. Required.

  • NEXTCLOUD_USERNAMERequired

    Nextcloud username. Required.

  • NEXTCLOUD_PASSWORDRequired

    Nextcloud app password. Required.

  • ENABLE_SEMANTIC_SEARCHOptional

    Enable experimental vector-based semantic search (requires a vector database and embedding service). Defaults to false. Optional.

  • EXCLUDED_TAGSOptional

    Nextcloud system tag used to hide sensitive files and folders from the file tools. Optional.

What you can do with it

Work with company documents in place

The agent searches WebDAV for the right file, reads it into context, summarizes a folder, and writes a generated report back to the correct location — all against your real Nextcloud files without anyone shuttling documents around.

Run your Nextcloud workspace from chat

Ask the agent to add a calendar event, file a Deck card, jot a note, or update a Tables row; it uses the per-app tools to keep your self-hosted productivity suite up to date end to end.

FAQ

Is it free?
Yes. The MCP server is open source (AGPL-3.0) and free to run, and Nextcloud itself is free and open source. There is no per-call cost; you run it against your own Nextcloud instance.
Does it support remote/OAuth?
It is a standalone server you run over stdio (uvx) or as a Docker/Kubernetes deployment, authenticating to Nextcloud with a username and app password. Newer versions add OAuth/login-flow deployment modes for multi-user setups; the simplest single-user path uses an app password.
How many tools does it expose?
110+ tools across more than ten Nextcloud apps — Files (WebDAV), Notes, Calendar, Contacts, Tables, Deck, Talk, Collectives, Cookbook, News, and Sharing — plus an experimental, opt-in semantic search.
← Browse all file-storage servers