---
title: "Nextcloud MCP server for AI agents - actionlake"
description: "Give Claude 216 Nextcloud actions through one MCP server: core, provisioning API. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/nextcloud
updated: 2026-10-23
---

Connectors · Developer & infrastructure

# Nextcloud MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Nextcloud and the rest of your systems. It gives your agent 216 Nextcloud actions (109 reads, 68 writes and 39 that wait for a confirmation) and holds the Nextcloud credential itself, so the agent never does. It paces Nextcloud's limits and records every call.

[Connect Nextcloud free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "nextcloud.files_sharing.shareapi.get_shares",
  intent: "check which Nextcloud account is connected"
}
# Get shares of the current user · read · 1 upstream call
```

- 216 actions in one signed file
- 109 read look, never change
- 68 write create and update
- 39 wait for a yes destructive, confirmed first

Set up

## Connect Nextcloud in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Nextcloud.
   Username and secret. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `username` Nextcloud login name (the user id, not the display name)
   - `app_password` Nextcloud app password
   - `host` Where your Nextcloud lives: your host
   ```
   account { op: "connections.requirements", service: "nextcloud" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "nextcloud.files_sharing.shareapi.get_shares" }
   # get shares of the current user · read · 1 upstream call
   check { action: "nextcloud.notifications.api.self_test_push", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Nextcloud at a glance

**Sign-in**

Username and secret. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.

**You provide**

`username` `app_password`

**Setup fields**

`host`

**Limits we pace to**

300 calls a minute, per connection

**API covered**

Nextcloud Hub (self-hosted file sync, sharing and collaboration) API Nextcloud server 33 OCS and app REST APIs (OpenAPI 3.0 published in nextcloud/server v33.0.10 and nextcloud/notifications stable33), at your Nextcloud instance's API base URL, which you enter when connecting

**Built from**

Nextcloud's documentation, read 23 October 2026[OpenAPI spec (GitHub)](https://raw.githubusercontent.com/nextcloud/server/v33.0.10/openapi.json) [OpenAPI spec (GitHub)](https://raw.githubusercontent.com/nextcloud/notifications/stable33/openapi-full.json) [docs.nextcloud.com](https://docs.nextcloud.com/server/latest/developer_manual/client_apis/index.html)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

106 of 109 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

2, so ask can line Nextcloud up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Nextcloud.

216 actions in 18 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **109** read look, never change
- **68** write create and update
- **39** destructive wait for a confirmation

1. ### Core
   55
   37 read · 10 write · 8 destructive
   Autocomplete a query · Create a collection for a resource · Get collections by resource · Search for collections
2. ### Provisioning API
   48
   25 read · 12 write · 11 destructive
   Get a list of groups details · Get a list of apps · Get the config keys of an app · Get a list of installed apps
3. ### Files sharing
   21
   12 read · 6 write · 3 destructive
   Get shares of the current user · Get a list of all deleted shares · Get list of pending remote shares · Get a list of accepted remote shares
4. ### Files
   15
   5 read · 8 write · 2 destructive
   Returns the folder tree of the user · Converts a file from one MIME type to another · Create a file for direct editing · Open a file for direct editing
5. ### Notifications
   12
   3 read · 6 write · 3 destructive
   Generate a notification for a user (deprecated, use v3 instead) · Generate a notification with rich object parameters for a user · Send a test notification to push registered mobile apps · Check if notification IDs exist
6. ### User status
   10
   4 read · 4 write · 2 destructive
   Get all predefined messages · Find statuses of users · Keep the status alive · Find the status of a user
7. ### Dav
   9
   4 read · 3 write · 2 destructive
   Get a direct link to a file · Get the pending federated calendar invitations of the current user · Get information about upcoming events · Accept a pending federated calendar invitation
8. ### User ldap
   8
   2 read · 4 write · 2 destructive
   Copy a configuration · Create a new (empty) configuration and return the resulting prefix · Test a configuration · Modify a configuration

**10 more areas · 38 actions**

- Dashboard **7**
- Weather status **7**
- Webhook listeners **6**
- Theming **5**
- Federation **3**
- Files reminders **3**
- Settings **3**
- Updatenotification **2**
- Federatedfilesharing **1**
- Files external **1**

Top actions

## The Nextcloud API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `nextcloud.files_sharing.shareapi.get_shares` Get shares of the current user | Get shares of the current user. | read | this connector |
| `nextcloud.provisioning_api.groups.get_groups_details` Get a list of groups details | Get a list of groups details. | read | this connector |
| `nextcloud.files_sharing.share_info.info` Get the info about a share | Get the info about a share. | read | this connector |
| `nextcloud.user_status.statuses.find_all` Find statuses of users | Find statuses of users. | read | this connector |
| `nextcloud.provisioning_api.apps.get_apps` Get a list of installed apps | Get a list of installed apps. | read | this connector |
| `nextcloud.notifications.api.self_test_push` Send a test notification to push registered mobile apps | Send a test notification to push registered mobile apps. | write | this connector |
| `nextcloud.notifications.push.register_device` Register device for push notifications | Register device for push notifications. | write | this connector |
| `nextcloud.user_status.predefined_status.find_all` Get all predefined messages | Get all predefined messages. | read | this connector |
| `nextcloud.files_sharing.remote.unshare` Unshare a remote share | Unshare a remote share. | destructive | this connector |
| `nextcloud.dav.direct.get_url` Get a direct link to a file | Get a direct link to a file. | write | this connector |
| `nextcloud.files.template.list` List the available templates | List the available templates. | read | this connector |
| `nextcloud.files.template.create` Create a template | Create a template. | write | this connector |

Try it

## Prompts to paste into Claude.

Each one names the Nextcloud actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   List the Nextcloud groups and how many members each one has.
   calls `nextcloud.provisioning_api.groups.get_groups_details`
2. Write write
   Send a test notification to push registered mobile apps in Nextcloud. Show me exactly what you will send before you save it.
   calls `nextcloud.notifications.api.self_test_push`

Governance for Nextcloud

## Destructive actions wait for a yes.

39 Nextcloud actions are destructive. The first 10:

- Unshare a remote share `nextcloud.files_sharing.remote.unshare`
- Disable an app `nextcloud.provisioning_api.apps.disable`
- Remove a device from push notifications `nextcloud.notifications.push.remove_device`
- Decline a remote share `nextcloud.files_sharing.remote.decline_share`
- Delete a user `nextcloud.provisioning_api.users.delete_user`
- Delete a share `nextcloud.files_sharing.shareapi.delete_share`
- Disable a user `nextcloud.provisioning_api.users.disable_user`
- Delete a group `nextcloud.provisioning_api.groups.delete_group`
- Make a user a subadmin of a group `nextcloud.provisioning_api.users.add_sub_admin`
- Clear the message of the current user `nextcloud.user_status.user_status.clear_message`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do nextcloud.notifications.push.remove_device confirm_policy: **human**

Remove a device from push notifications?

**intent:** the user asked me to remove a device from push notifications

run suspended · waiting for a named person · key _nextcloud-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "nextcloud-agent",
  allowed_actions: ["nextcloud.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "nextcloud.files_sharing.remote.unshare", approver: "lead@example.com" },
    { match: "nextcloud.provisioning_api.apps.disable", approver: "lead@example.com" },
    { match: "nextcloud.notifications.push.remove_device", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Nextcloud only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Nextcloud costs on actionlake.

Every Nextcloud action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Nextcloud refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 216 Nextcloud actions
- 216 actions page each page of a long list is one call
- 106 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Nextcloud action.

216 actions by area: the id your agent calls, what it does, and its effect.

**Core 55**

- `nextcloud.core.app_password.confirm_user_password` Confirm the user password write
- `nextcloud.core.app_password.delete_app_password` Delete app password destructive
- `nextcloud.core.app_password.get_app_password` Create app password read
- `nextcloud.core.app_password.get_app_password_with_one_time_password` Get app password with one-time password read
- `nextcloud.core.app_password.rotate_app_password` Rotate app password destructive
- `nextcloud.core.auto_complete.get` Autocomplete a query read
- `nextcloud.core.collaboration_resources.add_resource` Add a resource to a collection write
- `nextcloud.core.collaboration_resources.create_collection_on_resource` Create a collection for a resource write
- `nextcloud.core.collaboration_resources.get_collections_by_resource` Get collections by resource read
- `nextcloud.core.collaboration_resources.list_collection` Get a collection read
- `nextcloud.core.collaboration_resources.remove_resource` Remove a resource from a collection destructive
- `nextcloud.core.collaboration_resources.rename_collection` Rename a collection write
- `nextcloud.core.collaboration_resources.search_collections` Search for collections read
- `nextcloud.core.get.status` Status read
- `nextcloud.core.hover_card.get_user` Get the account details for a hovercard read
- `nextcloud.core.navigation.get_apps_navigation` Get the apps navigation read
- `nextcloud.core.navigation.get_settings_navigation` Get the settings navigation read
- `nextcloud.core.ocm.discovery` Generate an OCMProvider with local data and send it as DataResponse read
- `nextcloud.core.ocs.get_capabilities` Get the capabilities read
- `nextcloud.core.profile_api.get_profile_fields` Get profile fields for another user read
- `nextcloud.core.profile_api.set_visibility` Update the visibility of a parameter write
- `nextcloud.core.reference_api.extract` Extract references from a text read
- `nextcloud.core.reference_api.extract_public` Extract references from a text (core) read
- `nextcloud.core.reference_api.get_providers_info` Get the providers read
- `nextcloud.core.reference_api.resolve` Resolve multiple references read
- `nextcloud.core.reference_api.resolve_one` Resolve a reference read
- `nextcloud.core.reference_api.resolve_one_public` Resolve from a public page read
- `nextcloud.core.reference_api.resolve_public` Resolve multiple references from a public page read
- `nextcloud.core.reference_api.touch_provider` Touch a provider write
- `nextcloud.core.task_processing_api.cancel_task` Cancels a task destructive
- `nextcloud.core.task_processing_api.delete_task` Deletes a task destructive
- `nextcloud.core.task_processing_api.get_task` Gets a task including status and result read
- `nextcloud.core.task_processing_api.list_tasks` Returns tasks for the current user filtered by the optional taskType and optional customId read
- `nextcloud.core.task_processing_api.list_tasks_by_app` Returns tasks for the current user filtered by the appId and optional customId read
- `nextcloud.core.task_processing_api.schedule` Schedules a task write
- `nextcloud.core.task_processing_api.task_types` Returns all available TaskProcessing task types read
- `nextcloud.core.teams_api.list_teams` Get all teams of a resource read
- `nextcloud.core.teams_api.resolve_one` Get all resources of a team read
- `nextcloud.core.text_processing_api.delete_task` This endpoint allows to delete a scheduled task for a user destructive
- `nextcloud.core.text_processing_api.get_task` This endpoint allows checking the status and results of a task read
- `nextcloud.core.text_processing_api.list_tasks_by_app` List tasks by app read
- `nextcloud.core.text_processing_api.schedule` This endpoint allows scheduling a language model task write
- `nextcloud.core.text_processing_api.task_types` This endpoint returns all available LanguageModel task types read
- `nextcloud.core.text_to_image_api.delete_task` This endpoint allows to delete a scheduled task for a user (core) destructive
- `nextcloud.core.text_to_image_api.get_task` This endpoint allows checking the status and results of a task (core) read
- `nextcloud.core.text_to_image_api.is_available` Check whether this feature is available read
- `nextcloud.core.text_to_image_api.list_tasks_by_app` List tasks by app (core) read
- `nextcloud.core.text_to_image_api.schedule` This endpoint allows scheduling a text to image task write
- `nextcloud.core.translation_api.languages` Get the list of supported languages read
- `nextcloud.core.translation_api.translate` Translate a text read
- `nextcloud.core.two_factor_api.disable` Disable two factor authentication providers for specific user destructive
- `nextcloud.core.two_factor_api.enable` Enable two factor authentication providers for specific user write
- `nextcloud.core.two_factor_api.state` Get two factor authentication provider states read
- `nextcloud.core.unified_search.get_providers` Get the providers for unified search read
- `nextcloud.core.unified_search.search` Launch a search for a specific search provider read

**Provisioning API 48**

- `nextcloud.provisioning_api.app_config.delete_key` Delete a config key of an app destructive
- `nextcloud.provisioning_api.app_config.get_apps` Get a list of apps read
- `nextcloud.provisioning_api.app_config.get_keys` Get the config keys of an app read
- `nextcloud.provisioning_api.app_config.get_value` Get a the config value of an app read
- `nextcloud.provisioning_api.app_config.set_value` Update the config value of an app write
- `nextcloud.provisioning_api.apps.disable` Disable an app destructive
- `nextcloud.provisioning_api.apps.enable` Enable an app write
- `nextcloud.provisioning_api.apps.get_app_info` Get the app info for an app read
- `nextcloud.provisioning_api.apps.get_apps` Get a list of installed apps read
- `nextcloud.provisioning_api.groups.add_group` Create a new group write
- `nextcloud.provisioning_api.groups.delete_group` Delete a group destructive
- `nextcloud.provisioning_api.groups.get_group` Get a list of users in the specified group read
- `nextcloud.provisioning_api.groups.get_group_users` Get a list of users in the specified group (user and group provisioning) read
- `nextcloud.provisioning_api.groups.get_group_users_details` Get a list of users details in the specified group read
- `nextcloud.provisioning_api.groups.get_groups` Get a list of groups read
- `nextcloud.provisioning_api.groups.get_groups_details` Get a list of groups details read
- `nextcloud.provisioning_api.groups.get_sub_admins_of_group` Get the list of user IDs that are a subadmin of the group read
- `nextcloud.provisioning_api.groups.update_group` Update a group write
- `nextcloud.provisioning_api.preferences.delete_multiple_preference` Delete multiple preferences for an app destructive
- `nextcloud.provisioning_api.preferences.delete_preference` Delete a preference for an app destructive
- `nextcloud.provisioning_api.preferences.set_multiple_preferences` Update multiple preference values of an app write
- `nextcloud.provisioning_api.preferences.set_preference` Update a preference value of an app write
- `nextcloud.provisioning_api.users.add_sub_admin` Make a user a subadmin of a group destructive
- `nextcloud.provisioning_api.users.add_to_group` Add a user to a group write
- `nextcloud.provisioning_api.users.add_user` Create a new user write
- `nextcloud.provisioning_api.users.delete_user` Delete a user destructive
- `nextcloud.provisioning_api.users.disable_user` Disable a user destructive
- `nextcloud.provisioning_api.users.edit_user` Update a value of the user's details write
- `nextcloud.provisioning_api.users.edit_user_multi_value` Update multiple values of the user's details write
- `nextcloud.provisioning_api.users.enable_user` Enable a user write
- `nextcloud.provisioning_api.users.get_current_user` Get the details of the current user read
- `nextcloud.provisioning_api.users.get_disabled_users_details` Get the list of disabled users and their details read
- `nextcloud.provisioning_api.users.get_editable_fields` Get a list of fields that are editable for the current user read
- `nextcloud.provisioning_api.users.get_editable_fields_for_user` Get a list of fields that are editable for a user read
- `nextcloud.provisioning_api.users.get_enabled_apps` Get a list of enabled apps for the current user read
- `nextcloud.provisioning_api.users.get_last_logged_in_users` Gets the list of users sorted by lastLogin, from most recent to least recent read
- `nextcloud.provisioning_api.users.get_user` Get the details of a user read
- `nextcloud.provisioning_api.users.get_user_sub_admin_groups` Get the groups a user is a subadmin of read
- `nextcloud.provisioning_api.users.get_user_sub_admin_groups_details` Get a list of the groups the user is a subadmin of, with details read
- `nextcloud.provisioning_api.users.get_users` Get a list of users read
- `nextcloud.provisioning_api.users.get_users_details` Get a list of users and their details read
- `nextcloud.provisioning_api.users.get_users_groups` Get a list of groups the user belongs to read
- `nextcloud.provisioning_api.users.get_users_groups_details` Get a list of groups with details read
- `nextcloud.provisioning_api.users.remove_from_group` Remove a user from a group destructive
- `nextcloud.provisioning_api.users.remove_sub_admin` Remove a user from the subadmins of a group destructive
- `nextcloud.provisioning_api.users.resend_welcome_message` Resend the welcome message write
- `nextcloud.provisioning_api.users.search_by_phone_numbers` Search users by their phone numbers read
- `nextcloud.provisioning_api.users.wipe_user_devices` Wipe all devices of a user destructive

**Files sharing 21**

- `nextcloud.files_sharing.deleted_shareapi.index` Get a list of all deleted shares read
- `nextcloud.files_sharing.deleted_shareapi.undelete` Undelete a deleted share write
- `nextcloud.files_sharing.remote.accept_share` Accept a remote share write
- `nextcloud.files_sharing.remote.decline_share` Decline a remote share destructive
- `nextcloud.files_sharing.remote.get_open_shares` Get list of pending remote shares read
- `nextcloud.files_sharing.remote.get_share` Get info of a remote share read
- `nextcloud.files_sharing.remote.get_shares` Get a list of accepted remote shares read
- `nextcloud.files_sharing.remote.unshare` Unshare a remote share destructive
- `nextcloud.files_sharing.share_info.info` Get the info about a share read
- `nextcloud.files_sharing.shareapi.accept_share` Accept a share write
- `nextcloud.files_sharing.shareapi.create_share` Create a share write
- `nextcloud.files_sharing.shareapi.delete_share` Delete a share destructive
- `nextcloud.files_sharing.shareapi.generate_token` Get a unique share token read
- `nextcloud.files_sharing.shareapi.get_inherited_shares` Get all shares relative to a file, including parent folders shares rights read
- `nextcloud.files_sharing.shareapi.get_share` Get a specific share by id read
- `nextcloud.files_sharing.shareapi.get_shares` Get shares of the current user read
- `nextcloud.files_sharing.shareapi.pending_shares` Get all shares that are still pending read
- `nextcloud.files_sharing.shareapi.send_share_email` Send a mail notification again for a share write
- `nextcloud.files_sharing.shareapi.update_share` Update a share write
- `nextcloud.files_sharing.shareesapi.find_recommended` Find recommended sharees read
- `nextcloud.files_sharing.shareesapi.search` Search for sharees read

**Files 15**

- `nextcloud.files.api.get_folder_tree` Returns the folder tree of the user read
- `nextcloud.files.conversion_api.convert` Converts a file from one MIME type to another write
- `nextcloud.files.direct_editing.create` Create a file for direct editing write
- `nextcloud.files.direct_editing.info` Get the direct editing capabilities read
- `nextcloud.files.direct_editing.open` Open a file for direct editing write
- `nextcloud.files.direct_editing.templates` Get the templates for direct editing read
- `nextcloud.files.open_local_editor.create` Create a local editor write
- `nextcloud.files.open_local_editor.validate` Validate a local editor write
- `nextcloud.files.template.create` Create a template write
- `nextcloud.files.template.list` List the available templates read
- `nextcloud.files.template.list_template_fields` List the fields for the template specified by the given file ID read
- `nextcloud.files.template.path` Initialize the template directory write
- `nextcloud.files.transfer_ownership.accept` Accept an ownership transfer write
- `nextcloud.files.transfer_ownership.reject` Reject an ownership transfer destructive
- `nextcloud.files.transfer_ownership.transfer` Transfer the ownership to another user destructive

**Notifications 12**

- `nextcloud.notifications.api.generate_notification` Generate a notification for a user (deprecated, use v3 instead) write
- `nextcloud.notifications.api.generate_notification_v3` Generate a notification with rich object parameters for a user write
- `nextcloud.notifications.api.self_test_push` Send a test notification to push registered mobile apps write
- `nextcloud.notifications.endpoint.confirm_ids_for_user` Check if notification IDs exist read
- `nextcloud.notifications.endpoint.delete_all_notifications` Delete all notifications destructive
- `nextcloud.notifications.endpoint.delete_notification` Delete a notification destructive
- `nextcloud.notifications.endpoint.get_notification` Get a notification read
- `nextcloud.notifications.endpoint.list_notifications` Get all notifications read
- `nextcloud.notifications.push.register_device` Register device for push notifications write
- `nextcloud.notifications.push.remove_device` Remove a device from push notifications destructive
- `nextcloud.notifications.settings.admin` Update default notification settings for new users write
- `nextcloud.notifications.settings.personal` Update personal notification settings write

**User status 10**

- `nextcloud.user_status.heartbeat.heartbeat` Keep the status alive write
- `nextcloud.user_status.predefined_status.find_all` Get all predefined messages read
- `nextcloud.user_status.statuses.find` Find the status of a user read
- `nextcloud.user_status.statuses.find_all` Find statuses of users read
- `nextcloud.user_status.user_status.clear_message` Clear the message of the current user destructive
- `nextcloud.user_status.user_status.get_status` Get the status of the current user read
- `nextcloud.user_status.user_status.revert_status` Revert the status to the previous status destructive
- `nextcloud.user_status.user_status.set_custom_message` Set the message to a custom message for the current user write
- `nextcloud.user_status.user_status.set_predefined_message` Set the message to a predefined message for the current user write
- `nextcloud.user_status.user_status.set_status` Update the status type of the current user write

**Dav 9**

- `nextcloud.dav.direct.get_url` Get a direct link to a file write
- `nextcloud.dav.federated_calendar.accept` Accept a pending federated calendar invitation write
- `nextcloud.dav.federated_calendar.decline` Decline a pending federated calendar invitation destructive
- `nextcloud.dav.federated_calendar.get_pending` Get the pending federated calendar invitations of the current user read
- `nextcloud.dav.out_of_office.clear_out_of_office` Clear the out-of-office destructive
- `nextcloud.dav.out_of_office.get_current_out_of_office_data` Get the currently configured out-of-office data of a user read
- `nextcloud.dav.out_of_office.get_out_of_office` Get the configured out-of-office data of a user read
- `nextcloud.dav.out_of_office.set_out_of_office` Set out-of-office absence write
- `nextcloud.dav.upcoming_events.get_events` Get information about upcoming events read

**User ldap 8**

- `nextcloud.user_ldap.configapi.copy_configuration` Copy a configuration write
- `nextcloud.user_ldap.configapi.create` Create a new (empty) configuration and return the resulting prefix write
- `nextcloud.user_ldap.configapi.delete` Delete an LDAP configuration destructive
- `nextcloud.user_ldap.configapi.modify` Modify a configuration write
- `nextcloud.user_ldap.configapi.show` Get a configuration read
- `nextcloud.user_ldap.configapi.test_configuration` Test a configuration read
- `nextcloud.user_ldap.wizard.action` Run a wizard action and returns the result write
- `nextcloud.user_ldap.wizard.clear_mappings` Clear user or group mappings destructive

**Dashboard 7**

- `nextcloud.dashboard.dashboard_api.get_layout` Get the layout read
- `nextcloud.dashboard.dashboard_api.get_statuses` Get the statuses read
- `nextcloud.dashboard.dashboard_api.get_widget_items` Get the items for the widgets read
- `nextcloud.dashboard.dashboard_api.get_widget_items_v2` Get the items for the widgets (dashboard) read
- `nextcloud.dashboard.dashboard_api.get_widgets` Get the widgets read
- `nextcloud.dashboard.dashboard_api.update_layout` Update the layout write
- `nextcloud.dashboard.dashboard_api.update_statuses` Update the statuses write

**Weather status 7**

- `nextcloud.weather_status.weather_status.get_favorites` Get favorites list read
- `nextcloud.weather_status.weather_status.get_forecast` Get forecast for current location read
- `nextcloud.weather_status.weather_status.get_location` Get stored user location read
- `nextcloud.weather_status.weather_status.set_favorites` Set favorites list write
- `nextcloud.weather_status.weather_status.set_location` Set location write
- `nextcloud.weather_status.weather_status.set_mode` Change the weather status mode write
- `nextcloud.weather_status.weather_status.use_personal_address` Try to use the address set in user personal settings as weather location write

**Webhook listeners 6**

- `nextcloud.webhook_listeners.webhooks.create` Register a new webhook write
- `nextcloud.webhook_listeners.webhooks.delete_by_app_id` Remove all existing webhook registration mapped to an AppAPI app id destructive
- `nextcloud.webhook_listeners.webhooks.destroy` Remove an existing webhook registration destructive
- `nextcloud.webhook_listeners.webhooks.index` List registered webhooks read
- `nextcloud.webhook_listeners.webhooks.show` Get details on a registered webhook read
- `nextcloud.webhook_listeners.webhooks.update` Update an existing webhook registration write

**Theming 5**

- `nextcloud.theming.theming.get_manifest` Get the manifest for an app read
- `nextcloud.theming.user_theme.delete_background` Delete the background destructive
- `nextcloud.theming.user_theme.disable_theme` Disable theme destructive
- `nextcloud.theming.user_theme.enable_theme` Enable theme write
- `nextcloud.theming.user_theme.set_background` Set the background write

**Federation 3**

- `nextcloud.federation.settings.add_server` Add server to the list of trusted Nextcloud servers write
- `nextcloud.federation.settings.get_servers` List all trusted servers read
- `nextcloud.federation.settings.remove_server` Add server to the list of trusted Nextcloud servers (federation) destructive

**Files reminders 3**

- `nextcloud.files_reminders.api.get` Get a reminder read
- `nextcloud.files_reminders.api.remove` Remove a reminder destructive
- `nextcloud.files_reminders.api.set` Set a reminder write

**Settings 3**

- `nextcloud.settings.declarative_settings.get_forms` Gets all declarative forms with the values prefilled read
- `nextcloud.settings.declarative_settings.set_sensitive_value` Sets a declarative settings value (settings) write
- `nextcloud.settings.declarative_settings.set_value` Sets a declarative settings value write

**Updatenotification 2**

- `nextcloud.updatenotification.api.get_app_changelog_entry` Get changelog entry for an app read
- `nextcloud.updatenotification.api.get_app_list` List available updates for apps read

**Federatedfilesharing 1**

- `nextcloud.federatedfilesharing.mount_public_link.create_federated_share` Send federated share to a user of a public link write

**Files external 1**

- `nextcloud.files_external.api.get_user_mounts` Get the mount points visible for this user read

Questions

## The Nextcloud MCP server, answered.

**Is there a Nextcloud MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 216 Nextcloud actions across core, provisioning API, files sharing and files, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Nextcloud.

**What do I need to connect Nextcloud?**

Nextcloud login name (the user id, not the display name) and Nextcloud app password. Plus your host. The free call account { op: "connections.requirements", service: "nextcloud" } lists exactly what to paste.

**Can an AI agent delete or change things in Nextcloud?**

Only if its key allows it, and only with an explicit confirmation. 39 Nextcloud actions are destructive, including unshare a remote share, disable an app and remove a device from push notifications. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Nextcloud API limit?**

actionlake paces every call to the limits in the Nextcloud service file: 300 calls a minute per connection. Repeated reads are answered from cache (106 Nextcloud actions can be), which never reaches Nextcloud.

**What does a Nextcloud action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (216 Nextcloud actions page). Cache hits, searches, dry runs and calls Nextcloud refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Nextcloud API does it cover?**

The Nextcloud Hub (self-hosted file sync, sharing and collaboration) API Nextcloud server 33 OCS and app REST APIs (OpenAPI 3.0 published in nextcloud/server v33.0.10 and nextcloud/notifications stable33) at your Nextcloud instance's API base URL, which you enter when connecting. It is built from Nextcloud's documentation as read on 23 October 2026. 216 actions in 18 areas, each one in the signed service file (version 1.0.0).

**Does actionlake keep my Nextcloud data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Nextcloud credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Nextcloud

Joins with, on shared entities

- [Zoho WorkDrive 2](https://actionlake.com/connectors/zoho-workdrive)
- [HaloPSA 1](https://actionlake.com/connectors/halopsa)
- [Slack 1](https://actionlake.com/connectors/slack)
- [Microsoft 365 Users 1](https://actionlake.com/connectors/microsoft-365-users)
- [ServiceNow 1](https://actionlake.com/connectors/servicenow)
- [Fortinet FortiGate 1](https://actionlake.com/connectors/fortinet-fortigate)

Browse

- [All Developer & infrastructure connectors](https://actionlake.com/connectors/category/developer-and-infrastructure)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Nextcloud; the name is the vendor's own. Counts are from the Nextcloud service file, version 1.0.0.

## Give your agent Nextcloud today.

[Connect Nextcloud free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/nextcloud
More: https://actionlake.com/llms.txt
