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.
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/mcpdo { action: "nextcloud.files_sharing.shareapi.get_shares", intent: "check which Nextcloud account is connected"}# Get shares of the current user · read · 1 upstream call- 216actionsin one signed file
- 109readlook, never change
- 68writecreate and update
- 39wait for a yesdestructive, confirmed first
Set up
Connect Nextcloud in three steps.
- 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 - 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.
usernameNextcloud login name (the user id, not the display name)app_passwordNextcloud app passwordhostWhere your Nextcloud lives: your host
account { op: "connections.requirements", service: "nextcloud" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "nextcloud.files_sharing.shareapi.get_shares" }# get shares of the current user · read · 1 upstream callcheck { 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
usernameapp_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 2026OpenAPI spec (GitHub)OpenAPI spec (GitHub)docs.nextcloud.com
- 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.
- 109readlook, never change
- 68writecreate and update
- 39destructivewait for a confirmation
Core
5537 read · 10 write · 8 destructive
Autocomplete a query · Create a collection for a resource · Get collections by resource · Search for collections
Provisioning API
4825 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
Files sharing
2112 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
Files
155 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
Notifications
123 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
User status
104 read · 4 write · 2 destructive
Get all predefined messages · Find statuses of users · Keep the status alive · Find the status of a user
Dav
94 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
User ldap
82 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_sharesGet shares of the current user | Get shares of the current user. | read | this connector |
nextcloud.provisioning_api.groups.get_groups_detailsGet a list of groups details | Get a list of groups details. | read | this connector |
nextcloud.files_sharing.share_info.infoGet the info about a share | Get the info about a share. | read | this connector |
nextcloud.user_status.statuses.find_allFind statuses of users | Find statuses of users. | read | this connector |
nextcloud.provisioning_api.apps.get_appsGet a list of installed apps | Get a list of installed apps. | read | this connector |
nextcloud.notifications.api.self_test_pushSend a test notification to push registered mobile apps | Send a test notification to push registered mobile apps. | write | this connector |
nextcloud.notifications.push.register_deviceRegister device for push notifications | Register device for push notifications. | write | this connector |
nextcloud.user_status.predefined_status.find_allGet all predefined messages | Get all predefined messages. | read | this connector |
nextcloud.files_sharing.remote.unshareUnshare a remote share | Unshare a remote share. | destructive | this connector |
nextcloud.dav.direct.get_urlGet a direct link to a file | Get a direct link to a file. | write | this connector |
nextcloud.files.template.listList the available templates | List the available templates. | read | this connector |
nextcloud.files.template.createCreate 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.
- Readread
List the Nextcloud groups and how many members each one has.
calls
nextcloud.provisioning_api.groups.get_groups_details - Writewrite
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.
Remove a device from push notifications?
intent: the user asked me to remove a device from push notifications
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: "[email protected]" }, { match: "nextcloud.provisioning_api.apps.disable", approver: "[email protected]" }, { match: "nextcloud.notifications.push.remove_device", approver: "[email protected]" } ]}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.
- 1upstream call per actionall 216 Nextcloud actions
- 216actions pageeach page of a long list is one call
- 106reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Nextcloud action.
216 actions by area: the id your agent calls, what it does, and its effect.
Core55
nextcloud.core.app_password.confirm_user_passwordConfirm the user passwordwritenextcloud.core.app_password.delete_app_passwordDelete app passworddestructivenextcloud.core.app_password.get_app_passwordCreate app passwordreadnextcloud.core.app_password.get_app_password_with_one_time_passwordGet app password with one-time passwordreadnextcloud.core.app_password.rotate_app_passwordRotate app passworddestructivenextcloud.core.auto_complete.getAutocomplete a queryreadnextcloud.core.collaboration_resources.add_resourceAdd a resource to a collectionwritenextcloud.core.collaboration_resources.create_collection_on_resourceCreate a collection for a resourcewritenextcloud.core.collaboration_resources.get_collections_by_resourceGet collections by resourcereadnextcloud.core.collaboration_resources.list_collectionGet a collectionreadnextcloud.core.collaboration_resources.remove_resourceRemove a resource from a collectiondestructivenextcloud.core.collaboration_resources.rename_collectionRename a collectionwritenextcloud.core.collaboration_resources.search_collectionsSearch for collectionsreadnextcloud.core.get.statusStatusreadnextcloud.core.hover_card.get_userGet the account details for a hovercardreadnextcloud.core.navigation.get_apps_navigationGet the apps navigationreadnextcloud.core.navigation.get_settings_navigationGet the settings navigationreadnextcloud.core.ocm.discoveryGenerate an OCMProvider with local data and send it as DataResponsereadnextcloud.core.ocs.get_capabilitiesGet the capabilitiesreadnextcloud.core.profile_api.get_profile_fieldsGet profile fields for another userreadnextcloud.core.profile_api.set_visibilityUpdate the visibility of a parameterwritenextcloud.core.reference_api.extractExtract references from a textreadnextcloud.core.reference_api.extract_publicExtract references from a text (core)readnextcloud.core.reference_api.get_providers_infoGet the providersreadnextcloud.core.reference_api.resolveResolve multiple referencesreadnextcloud.core.reference_api.resolve_oneResolve a referencereadnextcloud.core.reference_api.resolve_one_publicResolve from a public pagereadnextcloud.core.reference_api.resolve_publicResolve multiple references from a public pagereadnextcloud.core.reference_api.touch_providerTouch a providerwritenextcloud.core.task_processing_api.cancel_taskCancels a taskdestructivenextcloud.core.task_processing_api.delete_taskDeletes a taskdestructivenextcloud.core.task_processing_api.get_taskGets a task including status and resultreadnextcloud.core.task_processing_api.list_tasksReturns tasks for the current user filtered by the optional taskType and optional customIdreadnextcloud.core.task_processing_api.list_tasks_by_appReturns tasks for the current user filtered by the appId and optional customIdreadnextcloud.core.task_processing_api.scheduleSchedules a taskwritenextcloud.core.task_processing_api.task_typesReturns all available TaskProcessing task typesreadnextcloud.core.teams_api.list_teamsGet all teams of a resourcereadnextcloud.core.teams_api.resolve_oneGet all resources of a teamreadnextcloud.core.text_processing_api.delete_taskThis endpoint allows to delete a scheduled task for a userdestructivenextcloud.core.text_processing_api.get_taskThis endpoint allows checking the status and results of a taskreadnextcloud.core.text_processing_api.list_tasks_by_appList tasks by appreadnextcloud.core.text_processing_api.scheduleThis endpoint allows scheduling a language model taskwritenextcloud.core.text_processing_api.task_typesThis endpoint returns all available LanguageModel task typesreadnextcloud.core.text_to_image_api.delete_taskThis endpoint allows to delete a scheduled task for a user (core)destructivenextcloud.core.text_to_image_api.get_taskThis endpoint allows checking the status and results of a task (core)readnextcloud.core.text_to_image_api.is_availableCheck whether this feature is availablereadnextcloud.core.text_to_image_api.list_tasks_by_appList tasks by app (core)readnextcloud.core.text_to_image_api.scheduleThis endpoint allows scheduling a text to image taskwritenextcloud.core.translation_api.languagesGet the list of supported languagesreadnextcloud.core.translation_api.translateTranslate a textreadnextcloud.core.two_factor_api.disableDisable two factor authentication providers for specific userdestructivenextcloud.core.two_factor_api.enableEnable two factor authentication providers for specific userwritenextcloud.core.two_factor_api.stateGet two factor authentication provider statesreadnextcloud.core.unified_search.get_providersGet the providers for unified searchreadnextcloud.core.unified_search.searchLaunch a search for a specific search providerread
Provisioning API48
nextcloud.provisioning_api.app_config.delete_keyDelete a config key of an appdestructivenextcloud.provisioning_api.app_config.get_appsGet a list of appsreadnextcloud.provisioning_api.app_config.get_keysGet the config keys of an appreadnextcloud.provisioning_api.app_config.get_valueGet a the config value of an appreadnextcloud.provisioning_api.app_config.set_valueUpdate the config value of an appwritenextcloud.provisioning_api.apps.disableDisable an appdestructivenextcloud.provisioning_api.apps.enableEnable an appwritenextcloud.provisioning_api.apps.get_app_infoGet the app info for an appreadnextcloud.provisioning_api.apps.get_appsGet a list of installed appsreadnextcloud.provisioning_api.groups.add_groupCreate a new groupwritenextcloud.provisioning_api.groups.delete_groupDelete a groupdestructivenextcloud.provisioning_api.groups.get_groupGet a list of users in the specified groupreadnextcloud.provisioning_api.groups.get_group_usersGet a list of users in the specified group (user and group provisioning)readnextcloud.provisioning_api.groups.get_group_users_detailsGet a list of users details in the specified groupreadnextcloud.provisioning_api.groups.get_groupsGet a list of groupsreadnextcloud.provisioning_api.groups.get_groups_detailsGet a list of groups detailsreadnextcloud.provisioning_api.groups.get_sub_admins_of_groupGet the list of user IDs that are a subadmin of the groupreadnextcloud.provisioning_api.groups.update_groupUpdate a groupwritenextcloud.provisioning_api.preferences.delete_multiple_preferenceDelete multiple preferences for an appdestructivenextcloud.provisioning_api.preferences.delete_preferenceDelete a preference for an appdestructivenextcloud.provisioning_api.preferences.set_multiple_preferencesUpdate multiple preference values of an appwritenextcloud.provisioning_api.preferences.set_preferenceUpdate a preference value of an appwritenextcloud.provisioning_api.users.add_sub_adminMake a user a subadmin of a groupdestructivenextcloud.provisioning_api.users.add_to_groupAdd a user to a groupwritenextcloud.provisioning_api.users.add_userCreate a new userwritenextcloud.provisioning_api.users.delete_userDelete a userdestructivenextcloud.provisioning_api.users.disable_userDisable a userdestructivenextcloud.provisioning_api.users.edit_userUpdate a value of the user's detailswritenextcloud.provisioning_api.users.edit_user_multi_valueUpdate multiple values of the user's detailswritenextcloud.provisioning_api.users.enable_userEnable a userwritenextcloud.provisioning_api.users.get_current_userGet the details of the current userreadnextcloud.provisioning_api.users.get_disabled_users_detailsGet the list of disabled users and their detailsreadnextcloud.provisioning_api.users.get_editable_fieldsGet a list of fields that are editable for the current userreadnextcloud.provisioning_api.users.get_editable_fields_for_userGet a list of fields that are editable for a userreadnextcloud.provisioning_api.users.get_enabled_appsGet a list of enabled apps for the current userreadnextcloud.provisioning_api.users.get_last_logged_in_usersGets the list of users sorted by lastLogin, from most recent to least recentreadnextcloud.provisioning_api.users.get_userGet the details of a userreadnextcloud.provisioning_api.users.get_user_sub_admin_groupsGet the groups a user is a subadmin ofreadnextcloud.provisioning_api.users.get_user_sub_admin_groups_detailsGet a list of the groups the user is a subadmin of, with detailsreadnextcloud.provisioning_api.users.get_usersGet a list of usersreadnextcloud.provisioning_api.users.get_users_detailsGet a list of users and their detailsreadnextcloud.provisioning_api.users.get_users_groupsGet a list of groups the user belongs toreadnextcloud.provisioning_api.users.get_users_groups_detailsGet a list of groups with detailsreadnextcloud.provisioning_api.users.remove_from_groupRemove a user from a groupdestructivenextcloud.provisioning_api.users.remove_sub_adminRemove a user from the subadmins of a groupdestructivenextcloud.provisioning_api.users.resend_welcome_messageResend the welcome messagewritenextcloud.provisioning_api.users.search_by_phone_numbersSearch users by their phone numbersreadnextcloud.provisioning_api.users.wipe_user_devicesWipe all devices of a userdestructive
Files sharing21
nextcloud.files_sharing.deleted_shareapi.indexGet a list of all deleted sharesreadnextcloud.files_sharing.deleted_shareapi.undeleteUndelete a deleted sharewritenextcloud.files_sharing.remote.accept_shareAccept a remote sharewritenextcloud.files_sharing.remote.decline_shareDecline a remote sharedestructivenextcloud.files_sharing.remote.get_open_sharesGet list of pending remote sharesreadnextcloud.files_sharing.remote.get_shareGet info of a remote sharereadnextcloud.files_sharing.remote.get_sharesGet a list of accepted remote sharesreadnextcloud.files_sharing.remote.unshareUnshare a remote sharedestructivenextcloud.files_sharing.share_info.infoGet the info about a sharereadnextcloud.files_sharing.shareapi.accept_shareAccept a sharewritenextcloud.files_sharing.shareapi.create_shareCreate a sharewritenextcloud.files_sharing.shareapi.delete_shareDelete a sharedestructivenextcloud.files_sharing.shareapi.generate_tokenGet a unique share tokenreadnextcloud.files_sharing.shareapi.get_inherited_sharesGet all shares relative to a file, including parent folders shares rightsreadnextcloud.files_sharing.shareapi.get_shareGet a specific share by idreadnextcloud.files_sharing.shareapi.get_sharesGet shares of the current userreadnextcloud.files_sharing.shareapi.pending_sharesGet all shares that are still pendingreadnextcloud.files_sharing.shareapi.send_share_emailSend a mail notification again for a sharewritenextcloud.files_sharing.shareapi.update_shareUpdate a sharewritenextcloud.files_sharing.shareesapi.find_recommendedFind recommended shareesreadnextcloud.files_sharing.shareesapi.searchSearch for shareesread
Files15
nextcloud.files.api.get_folder_treeReturns the folder tree of the userreadnextcloud.files.conversion_api.convertConverts a file from one MIME type to anotherwritenextcloud.files.direct_editing.createCreate a file for direct editingwritenextcloud.files.direct_editing.infoGet the direct editing capabilitiesreadnextcloud.files.direct_editing.openOpen a file for direct editingwritenextcloud.files.direct_editing.templatesGet the templates for direct editingreadnextcloud.files.open_local_editor.createCreate a local editorwritenextcloud.files.open_local_editor.validateValidate a local editorwritenextcloud.files.template.createCreate a templatewritenextcloud.files.template.listList the available templatesreadnextcloud.files.template.list_template_fieldsList the fields for the template specified by the given file IDreadnextcloud.files.template.pathInitialize the template directorywritenextcloud.files.transfer_ownership.acceptAccept an ownership transferwritenextcloud.files.transfer_ownership.rejectReject an ownership transferdestructivenextcloud.files.transfer_ownership.transferTransfer the ownership to another userdestructive
Notifications12
nextcloud.notifications.api.generate_notificationGenerate a notification for a user (deprecated, use v3 instead)writenextcloud.notifications.api.generate_notification_v3Generate a notification with rich object parameters for a userwritenextcloud.notifications.api.self_test_pushSend a test notification to push registered mobile appswritenextcloud.notifications.endpoint.confirm_ids_for_userCheck if notification IDs existreadnextcloud.notifications.endpoint.delete_all_notificationsDelete all notificationsdestructivenextcloud.notifications.endpoint.delete_notificationDelete a notificationdestructivenextcloud.notifications.endpoint.get_notificationGet a notificationreadnextcloud.notifications.endpoint.list_notificationsGet all notificationsreadnextcloud.notifications.push.register_deviceRegister device for push notificationswritenextcloud.notifications.push.remove_deviceRemove a device from push notificationsdestructivenextcloud.notifications.settings.adminUpdate default notification settings for new userswritenextcloud.notifications.settings.personalUpdate personal notification settingswrite
User status10
nextcloud.user_status.heartbeat.heartbeatKeep the status alivewritenextcloud.user_status.predefined_status.find_allGet all predefined messagesreadnextcloud.user_status.statuses.findFind the status of a userreadnextcloud.user_status.statuses.find_allFind statuses of usersreadnextcloud.user_status.user_status.clear_messageClear the message of the current userdestructivenextcloud.user_status.user_status.get_statusGet the status of the current userreadnextcloud.user_status.user_status.revert_statusRevert the status to the previous statusdestructivenextcloud.user_status.user_status.set_custom_messageSet the message to a custom message for the current userwritenextcloud.user_status.user_status.set_predefined_messageSet the message to a predefined message for the current userwritenextcloud.user_status.user_status.set_statusUpdate the status type of the current userwrite
Dav9
nextcloud.dav.direct.get_urlGet a direct link to a filewritenextcloud.dav.federated_calendar.acceptAccept a pending federated calendar invitationwritenextcloud.dav.federated_calendar.declineDecline a pending federated calendar invitationdestructivenextcloud.dav.federated_calendar.get_pendingGet the pending federated calendar invitations of the current userreadnextcloud.dav.out_of_office.clear_out_of_officeClear the out-of-officedestructivenextcloud.dav.out_of_office.get_current_out_of_office_dataGet the currently configured out-of-office data of a userreadnextcloud.dav.out_of_office.get_out_of_officeGet the configured out-of-office data of a userreadnextcloud.dav.out_of_office.set_out_of_officeSet out-of-office absencewritenextcloud.dav.upcoming_events.get_eventsGet information about upcoming eventsread
User ldap8
nextcloud.user_ldap.configapi.copy_configurationCopy a configurationwritenextcloud.user_ldap.configapi.createCreate a new (empty) configuration and return the resulting prefixwritenextcloud.user_ldap.configapi.deleteDelete an LDAP configurationdestructivenextcloud.user_ldap.configapi.modifyModify a configurationwritenextcloud.user_ldap.configapi.showGet a configurationreadnextcloud.user_ldap.configapi.test_configurationTest a configurationreadnextcloud.user_ldap.wizard.actionRun a wizard action and returns the resultwritenextcloud.user_ldap.wizard.clear_mappingsClear user or group mappingsdestructive
Dashboard7
nextcloud.dashboard.dashboard_api.get_layoutGet the layoutreadnextcloud.dashboard.dashboard_api.get_statusesGet the statusesreadnextcloud.dashboard.dashboard_api.get_widget_itemsGet the items for the widgetsreadnextcloud.dashboard.dashboard_api.get_widget_items_v2Get the items for the widgets (dashboard)readnextcloud.dashboard.dashboard_api.get_widgetsGet the widgetsreadnextcloud.dashboard.dashboard_api.update_layoutUpdate the layoutwritenextcloud.dashboard.dashboard_api.update_statusesUpdate the statuseswrite
Weather status7
nextcloud.weather_status.weather_status.get_favoritesGet favorites listreadnextcloud.weather_status.weather_status.get_forecastGet forecast for current locationreadnextcloud.weather_status.weather_status.get_locationGet stored user locationreadnextcloud.weather_status.weather_status.set_favoritesSet favorites listwritenextcloud.weather_status.weather_status.set_locationSet locationwritenextcloud.weather_status.weather_status.set_modeChange the weather status modewritenextcloud.weather_status.weather_status.use_personal_addressTry to use the address set in user personal settings as weather locationwrite
Webhook listeners6
nextcloud.webhook_listeners.webhooks.createRegister a new webhookwritenextcloud.webhook_listeners.webhooks.delete_by_app_idRemove all existing webhook registration mapped to an AppAPI app iddestructivenextcloud.webhook_listeners.webhooks.destroyRemove an existing webhook registrationdestructivenextcloud.webhook_listeners.webhooks.indexList registered webhooksreadnextcloud.webhook_listeners.webhooks.showGet details on a registered webhookreadnextcloud.webhook_listeners.webhooks.updateUpdate an existing webhook registrationwrite
Theming5
nextcloud.theming.theming.get_manifestGet the manifest for an appreadnextcloud.theming.user_theme.delete_backgroundDelete the backgrounddestructivenextcloud.theming.user_theme.disable_themeDisable themedestructivenextcloud.theming.user_theme.enable_themeEnable themewritenextcloud.theming.user_theme.set_backgroundSet the backgroundwrite
Federation3
nextcloud.federation.settings.add_serverAdd server to the list of trusted Nextcloud serverswritenextcloud.federation.settings.get_serversList all trusted serversreadnextcloud.federation.settings.remove_serverAdd server to the list of trusted Nextcloud servers (federation)destructive
Files reminders3
nextcloud.files_reminders.api.getGet a reminderreadnextcloud.files_reminders.api.removeRemove a reminderdestructivenextcloud.files_reminders.api.setSet a reminderwrite
Settings3
nextcloud.settings.declarative_settings.get_formsGets all declarative forms with the values prefilledreadnextcloud.settings.declarative_settings.set_sensitive_valueSets a declarative settings value (settings)writenextcloud.settings.declarative_settings.set_valueSets a declarative settings valuewrite
Updatenotification2
nextcloud.updatenotification.api.get_app_changelog_entryGet changelog entry for an appreadnextcloud.updatenotification.api.get_app_listList available updates for appsread
Federatedfilesharing1
nextcloud.federatedfilesharing.mount_public_link.create_federated_shareSend federated share to a user of a public linkwrite
Files external1
nextcloud.files_external.api.get_user_mountsGet the mount points visible for this userread
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.
Give your agent Nextcloud today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.