Nextcloud MCP Server
Connects to any Nextcloud instance via the official WebDAV and OCS (files_sharing) APIs, providing tools for browsing, searching, and managing files and folders (list, metadata, create, copy, move, delete, chunked upload/download, recursive folder upload), reading text files, managing favorites, and working with shares — public links and user/group/email shares, including listing, updating, and deleting them — plus trash bin operations (list, restore, empty) and quota inspection.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Nextcloud MCP Serverupload ~/Desktop/report.pdf to /Projects and share it with anna@example.com"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Nextcloud MCP Server
English · Русский
MCP server for any Nextcloud instance. Files, search, upload/download (files and whole folders), shares and public links, favorites, trash bin. Works with any MCP client (Claude Code, Claude Desktop, Cursor, etc.).
Uses only official APIs: WebDAV (/remote.php/dav) and OCS (files_sharing). Requires Node.js ≥ 20.12.
Tools (23)
Tool | What it does |
| Sign in through the browser (Login Flow v2, SSO works); the app password is saved |
| Used / available quota |
| Folder contents (sort, |
| Metadata: size, dates, MIME, file ID, permissions, web link |
| Server-side search by name (substring, case-insensitive) in a folder tree, MIME filter |
| Files modified in the last N days |
| Create a folder (with parents) |
| Copy / move, rename |
| Delete (several paths per call; to the trash bin) |
| Upload a local file (chunked upload for files > 10 MB) |
| Upload a local folder recursively, in parallel |
| Download a file or a whole folder to this machine |
| Read a text file (first 200 KB) |
| Add / remove a favorite |
| Public link (password, expiry, label) or share with a user / group / email |
| My shares (all, of a path; with |
| What others shared with me |
| Change / remove a share |
| Trash bin |
Paths are relative to your files root: /, /Projects/logo.svg. A Files app link works as a path too: https://cloud.example.com/apps/files/files/123?dir=/Projects/.
Related MCP server: nextcloud-agent
Installation
git clone https://github.com/a-lagutov/nextcloud-mcp.git
cd nextcloud-mcp
npm install
npm run buildClaude Code:
claude mcp add nextcloud -s user -- node /absolute/path/to/nextcloud-mcp/dist/index.jsClaude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"nextcloud": { "command": "node", "args": ["/absolute/path/to/nextcloud-mcp/dist/index.js"] }
}
}Login
The server starts with no configuration. Ask Claude "log in to Nextcloud at https://cloud.example.com", or run npm run login -- --server https://cloud.example.com. The server address is remembered, so later logins need no server_url:
The server's login page opens in your default browser — sign in as usual (SSO included) and click "Grant access".
Nextcloud issues an app password for this server; it is saved to
~/.config/nextcloud-mcp/credentials.json(mode 600) and works at once, no restart.
The login tool waits up to 2 minutes, then returns the login link and finishes in the background (the link is valid for 20 minutes). To switch to another server, pass a new server_url / --server.
Without a browser (Docker, SSH): create an app password in Nextcloud → Settings → Security → "Create new app password", then pass login_name + app_password to login, or npm run login -- --user <LOGIN> --password <APP_PASSWORD>.
⚠️ The app password gives full access to your files. Revoke it at any time: Settings → Security → Devices & sessions (it is named
nextcloud-mcp (<host>)).
Environment variables (optional)
They override the saved values — for example in Docker/CI.
Variable | Purpose |
| Server URL, e.g. |
| Login name |
| App password |
| Internal user ID, if it differs from the login name (otherwise call |
Limitations
search_filessearches names only, not file contents; at most 500 results per call.list_filesgets the whole folder in one PROPFIND and pages locally, so huge folders take a moment.Deleting from a folder shared with you puts the item in the owner's trash bin, not yours.
License
MIT
Available Tools
23 toolsclear_trashA
Permanently delete one item from the trash bin, or empty the whole trash bin. Irreversible.
| Name | Required | Description | Default |
|---|---|---|---|
| trash_id | No | Trash item id; omit to empty the whole trash bin |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses irreversibility and the effect of omitting trash_id, but does not mention required permissions, confirmation behavior, or what happens to other trash items when emptying the bin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the core action and the irreversibility warning. Every sentence carries useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter destructive tool with no output schema and no annotations, the description covers the essential action, the two modes, and irreversibility. It could still say more about permissions or confirmation, but is largely complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already explains that trash_id should be omitted to empty the whole bin. The description restates that behavior but adds no format, validation, or edge-case detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Permanently delete one item from the trash bin, or empty the whole trash bin.' It distinguishes the operation from ordinary deletion and restore/list siblings by emphasizing permanence and the whole-bin mode.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'irreversible' and the two supported modes, but it does not explicitly say when to use this instead of delete or restore_from_trash, nor does it name alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
copyB
Copy a file or folder. A destination ending with '/' means 'into this folder, same name'.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Destination path, or folder ending with '/' | |
| from | Yes | Source path | |
| overwrite | No | Replace an existing destination |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full behavioral burden. It usefully discloses the trailing-slash destination rule, but says nothing about what happens when the destination already exists and `overwrite` is false (error vs. auto-rename), whether metadata is preserved, or required permissions. For an unannotated mutation tool, that is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, purpose first, the non-obvious path convention second. No filler, nothing repeated from structured fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a mutation that can overwrite data, the description should state collision/overwrite behavior and whether output is a new path. It covers paths but leaves the riskiest behavior undefined.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds genuine meaning for `to` beyond the schema's "folder ending with '/'": it spells out that a trailing slash means "into this folder, same name," which resolves the ambiguity of how the copy is named. `from` and `overwrite` add nothing beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Copy a file or folder") and covers both files and folders explicitly. It does not name or contrast with the sibling `move`, which has near-identical destination semantics, so an agent must infer the distinction from the tool name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use, when-not, or alternative routing, despite `move` and `upload_file` being plausible alternatives. The intent is implied by the self-evident name, but nothing states that source is preserved or when to prefer this over `move`.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_folderB
Create a folder (missing parent folders are created too)
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Folder path, e.g. '/Projects/new' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It helpfully discloses that missing parent folders are created, but it does not say what happens if the folder already exists or what permissions/errors may apply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one efficiently sized sentence with the key action front-loaded. There is no redundant or wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter mutation tool this is minimally adequate, and the parent-folder behavior is useful context. However, without annotations or an output schema, it should ideally state what happens when the target folder already exists and what the tool returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single path parameter has 100% schema description coverage and includes an example. The description adds the parent-creation behavior but does not add further meaning to the path parameter itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It states a specific verb and resource: creating a folder. The parenthetical adds important scope, but it does not explicitly distinguish this from related siblings such as upload_folder.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use create_folder versus upload_folder or other adjacent tools. It also does not mention prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deleteA
Delete files or folders (they go to the trash bin of their owner; restore with restore_from_trash)
| Name | Required | Description | Default |
|---|---|---|---|
| paths | Yes | Paths to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does disclose the critical trait: items go to the owner's trash bin and can be restored. The 'of their owner' detail is useful for shared content. It omits permission requirements, partial-failure behavior when deleting multiple paths, and whether trashed items still occupy space or appear in listings.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the action and target, with the recovery hint in parentheses. Zero waste and no redundancy with structured fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with no annotations and no output schema, the description covers the essential reversibility fact, which is the most important thing an agent needs. It leaves gaps on permission prerequisites, error/partial-failure semantics for multiple paths, and what the response contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the single 'paths' array parameter is already documented in the schema, and the description adds no format, relative-vs-absolute path rules, or multi-path semantics. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Delete) and resource (files or folders), which disambiguates the generic tool name 'delete' from siblings like delete_share and clear_trash. It doesn't explicitly exclude those siblings, but the file/folder scoping does the work.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage by naming restore_from_trash as the recovery path, which tells the agent the deletion is reversible. However, there is no explicit when-to-use vs clear_trash (permanent removal) or delete_share, and no guidance on required permissions or preconditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
disk_infoA
Storage info of the Nextcloud account: used and available quota, server and user
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the returned information categories (quota, server, user), which implies a safe read-only operation, but it does not explicitly state read-only behavior, authentication requirements, or output format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted words. The trailing 'server and user' is slightly ambiguous in phrasing, but the sentence is efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, annotations, or parameters, the description must explain what comes back. It lists the key return categories (used quota, available quota, server, user), which is sufficient for a simple read-only info tool, though the 'server and user' phrasing could be sharper.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the baseline this starts at 4. The description correctly adds no parameter guidance because none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource and scope precisely: storage info for the Nextcloud account, including used/available quota, server, and user. It is clearly distinguishable from sibling file-operation tools. It lacks a strong action verb ('Storage info of...' is noun-phrase), which keeps it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the nature of the tool (check account storage/quota), and no sibling tool offers an alternative quota path. However, the description never states when to call it, when not to, or any prerequisites, leaving the agent to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
downloadB
Download a file or a whole folder (recursively, parallel) to this machine. local_path is the target file, or an existing folder / path ending with '/' to download into.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | File or folder path on the server | |
| overwrite | No | Replace local files that already exist | |
| local_path | Yes | Absolute local destination |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden; it does disclose that folders are fetched recursively and in parallel and that the destination may be a file or an existing directory. It says nothing about permission requirements, whether existing local files are replaced (the overwrite default lives only in the schema), partial-failure behavior, or what is returned on success.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero filler; the core action is front-loaded and the destination rule follows immediately. Nothing is repeated from the schema descriptions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter, no-annotation, no-output-schema tool, the description covers the action and destination semantics but leaves out overwrite behavior and result reporting. Adequate for a straightforward transfer tool, but it does not fully compensate for the missing annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds real semantics beyond the schema for local_path: it clarifies that a trailing '/' or an existing folder means download-into, versus a plain path meaning target file. It does not explain how path interacts with local_path for recursive folder downloads.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Download a file or a whole folder ... to this machine') and adds scope details (recursive, parallel) that make the operation concrete. It does not name or differentiate from siblings like read_file, so an agent must infer which retrieval path to use.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use / when-not-to-use guidance and no mention of alternatives such as read_file or get_file_info. The agent must infer usage purely from the tool name and the folder-recursion detail.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_file_infoB
Detailed metadata of a file or folder: size, dates, type, file ID, permissions, web link
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Path, e.g. '/Projects/logo.svg' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral disclosure. It usefully signals this is a metadata read by listing fields, but does not state read-only safety, required permissions, error behavior, or whether folders and files are treated differently.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence enumerating fields, front-loaded with the core purpose. No filler; every listed item is relevant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema, the description gives the main return contents, which is helpful. It still omits return format and error/read-only details, but is largely complete for this simple operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single path parameter includes an example, so the schema already provides semantics. The description adds no path-specific detail beyond 'file or folder', leaving baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (file or folder) and enumerates the returned metadata (size, dates, type, file ID, permissions, web link), so the agent knows it retrieves metadata rather than content. It does not explicitly contrast with siblings like read_file or list_files, so it stops short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is provided. The agent can infer it is for metadata inspection, but there is no explicit routing against read_file, list_files, or search_files.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_filesA
List files and folders at a path. Paths are relative to the user's files root, e.g. '/' or '/Projects'. A Files app link (…/apps/files/files/123?dir=/folder) works too.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Folder path or Files app URL | / |
| sort | No | Sort field; '-' prefix = descending. Folders always come first | name |
| limit | No | Max items to return (default 50) | |
| offset | No | Offset for pagination |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and adds useful context about the path root and accepting Files app URLs. However, it never discloses permissions/auth requirements, whether hidden or shared items are included, error behavior for missing paths, or what the listing contains beyond names — significant gaps for a read tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, front-loaded with the core action followed by the path convention and a concrete example. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only listing tool with full schema coverage and no output schema, the description covers the essential path semantics and one practical input form. Missing tool-selection guidance and listing-content details keep it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters are already documented including the sort enum and pagination. The description adds the URL-form example for path, but nothing about sort, limit, or offset beyond the schema — baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("List files and folders at a path") and scopes it to one location, which implicitly contrasts with siblings like search_files and recent_files. It does not explicitly name an alternative, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the path-based framing but never stated: there is no guidance on when to use this versus search_files, recent_files, or get_file_info. The only concrete guidance is about path format, not tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_trashA
List items in the trash bin, newest first
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max items (default 30) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. 'List' implies a non-mutating read and 'newest first' documents ordering, but it does not cover pagination behavior, auth/permissions, or returned item shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence with the verb and resource front-loaded, plus a useful ordering detail. There is no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity read-only listing tool, the description plus fully documented schema is nearly sufficient. The remaining gap is that there is no output schema and no annotations, so return item fields and pagination details are left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter, limit, is fully documented in the schema with its default. The description adds no parameter-specific guidance, so the schema does the heavy lifting and the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: list items in the trash bin. It also adds the ordering scope, newest first, and naturally distinguishes this read/list operation from siblings such as restore_from_trash and clear_trash.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied clearly: view what is currently in the trash. However, it does not explicitly say when to use this versus restore_from_trash or clear_trash, nor does it provide exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
loginA
Sign in to Nextcloud with Login Flow v2: opens the server's login page in the default browser, the user signs in (SSO works), and an app password is issued and saved. Waits up to 2 minutes, then keeps waiting in the background and returns the login URL. Call this when other tools report that the user is not logged in. Without a browser, pass login_name and app_password (Settings → Security → App passwords).
| Name | Required | Description | Default |
|---|---|---|---|
| login_name | No | Login name for manual mode, no browser needed | |
| server_url | No | Nextcloud URL (any page of it works). Required on the first login, then the saved one is used | |
| app_password | No | App password for manual mode, no browser needed |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and does so well: it discloses that a browser window opens, SSO works, an app password is issued and saved, and the tool waits up to 2 minutes before continuing in the background and returning the login URL. This gives an agent a clear picture of side effects, timing, and fallback behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is front-loaded with the primary behavior and then adds the fallback path and usage trigger. Every sentence provides actionable information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema or annotations exist, but the description covers the key return behavior (login URL), the 2-minute wait/background continuation, and the manual credential alternative. Nothing essential for an agent to invoke this authentication tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all three parameters are already documented. The description still adds practical meaning by tying login_name and app_password to the no-browser mode and by telling the user where to obtain an app password (Settings → Security → App passwords); server_url behavior is left to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Sign in to Nextcloud with Login Flow v2.' It clearly identifies this as an authentication tool, distinguishing it from the file-operation siblings without requiring schema inspection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says when to call it: 'Call this when other tools report that the user is not logged in.' It also names the no-browser alternative and tells the user to pass login_name and app_password in that case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
moveB
Move or rename a file or folder. A destination ending with '/' means 'into this folder, same name'.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Destination path, or folder ending with '/' | |
| from | Yes | Source path | |
| overwrite | No | Replace an existing destination |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses the trailing-slash destination convention, but does not explain overwrite behavior, permissions, source removal, failure modes, or what happens when the destination already exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, with the core purpose front-loaded and the key destination-path rule immediately after. There is no wasted wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The definition is adequate for a simple move operation when combined with the fully described schema. However, for a mutation tool with no annotations and no output schema, it leaves important behavioral details such as overwrite effects and error conditions unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds useful meaning beyond the schema by clarifying that a destination ending in '/' means 'into this folder, same name,' though it does not discuss the overwrite parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Move or rename a file or folder.' It clearly identifies the operation, including renaming, but does not differentiate the tool from siblings such as copy or delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use move rather than copy, when renaming is preferable, or what prerequisites apply. It only describes one destination-path convention, which is parameter semantics rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_fileB
Read a text file (txt, md, json, csv, svg, …) and return its contents (first 200 KB)
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | File path on the server |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It usefully discloses the 200 KB truncation, but says nothing about error behavior for missing paths, encoding assumptions, binary-file rejection, or permission requirements — notable gaps for a read tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence with the verb and resource front-loaded and the truncation limit attached inline. Slightly dense with the format list, but nothing wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with no output schema, the description covers what it returns and the size cap, which is enough to call it correctly. However, with no annotations, it should also say what happens on missing files or binary input to be fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single `path` parameter, so the schema already documents it fully. The description adds only the server-side framing implicit in the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Read) and resource (text file) and names the file types covered along with what is returned (contents). This clearly separates it from siblings like get_file_info (metadata) and download (transfer) without requiring the schema to be opened.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical list of text formats implies the appropriate use case (text-like files) but never states when to prefer this over download or get_file_info, nor does it warn about binary files. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recent_filesB
Files modified recently, newest first (server-side search by modification date)
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Look back this many days (default 7) | |
| limit | No | Max results (default 30) | |
| folder | No | Folder to look in recursively | / |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses useful traits such as newest-first ordering and server-side date filtering, but it omits safety profile, pagination behavior, error cases, and whether results are filtered by permissions or folder existence.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with zero waste. The parenthetical adds useful mechanism context without bloat, and every part of the statement earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple three-parameter listing tool with full schema coverage and no output schema, the description covers the core concept but remains minimal. It does not describe return shape, edge cases, or how the recursive folder lookup behaves, leaving some gaps an agent might need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters and their defaults. The description adds the overall scoping intent (recent modification) but does not provide any additional parameter-level detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the resource (files), the selection criterion (modified recently), and the ordering (newest first). It implies a server-side date search, but it does not explicitly distinguish itself from sibling tools like search_files or list_files.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus search_files, list_files, or other file-listing siblings. The phrase 'server-side search by modification date' hints at the mechanism but does not provide usage conditions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
restore_from_trashA
Restore an item from the trash bin to its original location (id from list_trash)
| Name | Required | Description | Default |
|---|---|---|---|
| trash_id | Yes | Trash item id, e.g. 'report.pdf.d1712345678' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden; it does disclose the key outcome (item goes back to its original location). However, it omits whether restoration fails when the original location exists, whether it requires write permissions, or whether expiry applies — meaningful gaps for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with zero filler, front-loaded with the action and outcome. Nothing to trim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with a fully described schema and no output schema, the description covers purpose, target, and id source adequately. Only mutation edge cases (conflicts, permissions, expiry) are unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already gives the id format example. The description adds only the provenance hint ('from list_trash'), which is slightly useful but marginal — baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (restore) and resource (item from trash), plus the destination (original location). This clearly differentiates it from siblings like list_trash, clear_trash, and delete without needing to open the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical '(id from list_trash)' tells the agent the prerequisite step for obtaining the required id, which is genuine routing guidance. It doesn't state exclusions (e.g., what to do if the original path is occupied or the item is expired), so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_filesA
Server-side search by name (case-insensitive substring) in a folder tree, newest first. Optional MIME filter. Without query lists everything matching the filter.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default 50, up to 500) | |
| query | No | Part of the name to look for | |
| folder | No | Folder to search in recursively (default: everything) | / |
| mime_type | No | MIME filter, '%' is a wildcard: 'image/%', 'application/pdf', 'httpd/unix-directory' (folders) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does meaningful work: it discloses server-side execution, case-insensitive substring matching, newest-first ordering, and the important edge case that omitting `query` turns the tool into an unfiltered listing. It does not mention pagination beyond the schema's limit, nor whether folders are included in results, which keeps it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, zero filler, and the core search semantics are front-loaded before the edge case about omitted `query`. Every clause conveys actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-required-parameter read-only search with a fully documented schema and no output schema, this covers the essential behavior an agent needs: match rule, scope, ordering, and the no-query fallback. Gaps are minor — result field shape and pagination behavior are left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description adds value by clarifying that `query` is a substring match against the name and that `mime_type` is optional and independent of the query. It does not restate the wildcard syntax or limit bounds, but the schema already handles those.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Server-side search by name') plus the matching semantics (case-insensitive substring) and result ordering (newest first). It clearly distinguishes itself from read_file/get_file_info by being a search over a folder tree, though it never names the nearest sibling list_files, which also enumerates folder contents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Without `query` lists everything matching the filter' implies a browse mode, so the when-to-use is inferable rather than stated. There is no explicit guidance on choosing this over list_files, recent_files, or get_file_info, and no note about when the MIME filter should be preferred over a name query.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_favoriteB
Mark or unmark a file/folder as favorite
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | File or folder path | |
| favorite | No | true to add, false to remove |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and delivers little beyond the name. It does not say whether the operation is idempotent, what happens if the path does not exist, whether a permission/login is required, or whether there is any return value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, front-loaded with the action and object. Nothing to trim and nothing buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter toggle with a fully documented schema this is adequate, but the absence of annotations means error behavior and idempotency are left entirely undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the path parameter and the boolean 'favorite' (true to add, false to remove) are fully documented in the schema. The description adds nothing beyond that, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (mark/unmark) and resource (file/folder) plus the resulting state (favorite), so an agent immediately knows what the tool does. No sibling tool in the list handles favorites, so there is no real ambiguity to resolve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use context, no prerequisites, and no mention of any alternative or related tool. The agent must infer from the name alone when favoriting is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_fileA
Upload a local file. Big files are uploaded in chunks. A destination ending with '/' keeps the local name.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Destination path, or folder ending with '/' | |
| overwrite | No | Replace an existing file | |
| local_path | Yes | Absolute path of the file on this machine |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that large files are chunked internally, but says nothing about permission requirements, what happens on name collisions, whether the existing file is replaced (schema covers overwrite default), or what the caller gets back.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core action, then the two most decision-relevant behaviors. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a 3-parameter mutation tool whose schema is fully documented, but with zero annotations the description should ideally cover the overwrite/collision case and any error or permission constraints so an agent can call it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description adds real meaning by explaining that a destination ending in '/' keeps the local filename, which the schema only hints at. It still says nothing extra about local_path or overwrite beyond the schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Upload a local file") that clearly separates it from read-only siblings like read_file and from upload_folder. It does not explicitly name the sibling it is distinguished from, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The trailing-slash sentence implies a supported use case (uploading into a folder while preserving the local name), but there is no explicit when-to-use guidance versus upload_folder, download, or copy, and no mention of prerequisites such as being logged in.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_folderA
Upload a whole local folder recursively in one call (parallel). The folder is created inside path under its own name. Existing files are skipped unless overwrite=true.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Destination parent folder, e.g. '/Projects' | |
| overwrite | No | Replace files that already exist | |
| local_path | Yes | Absolute path of the folder on this machine |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses parallelism, recursion, that the destination folder is created under `path` using the source folder's own name, and the default skip-existing vs overwrite=true conflict policy. It omits error behavior, permission requirements, and what happens on partial failure, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core action and followed by the destination-naming and conflict behavior. No filler, no repetition of schema text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter mutation tool with no annotations and no output schema, the description covers what is uploaded, where it lands, and how collisions are handled. It leaves out return value and failure/partial-upload behavior, which an agent would want given no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds real meaning beyond the schema: it clarifies that `path` is the parent under which a folder named after the local folder is created, and that `overwrite` governs skipped-vs-replaced existing files rather than merge semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource with scope: 'upload a whole local folder recursively in one call (parallel)'. This distinguishes it implicitly from upload_file and create_folder via the 'whole folder / recursive' framing, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'whole local folder recursively' versus the sibling upload_file, but the description never says when to prefer this over calling upload_file per file, nor any prerequisites such as login state or permissions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
23 tool updates
v1.0.0- First observed
clear_trash - First observed
copy - First observed
create_folder - First observed
create_share - First observed
delete - First observed
delete_share - First observed
disk_info - First observed
download - First observed
get_file_info - First observed
list_files - First observed
list_shared_with_me - First observed
list_shares - First observed
list_trash - First observed
login - First observed
move - First observed
read_file - First observed
recent_files - First observed
restore_from_trash - First observed
search_files - First observed
set_favorite - First observed
update_share - First observed
upload_file - First observed
upload_folder
TDQS
Scored across 23 tools
Most tools target clearly distinct resources and actions: file reads, metadata, search, upload/download, folder creation, move/copy/delete, sharing, and trash operations. A few pairs could be confused at first glance (read_file vs. download, get_file_info vs. disk_info), but descriptions clarify the boundaries well.
The set mostly follows verb_noun patterns such as list_files, get_file_info, create_share, update_share, and restore_from_trash. There are some deviations—single-verb names like delete, copy, move, download, login—and noun-first names like disk_info and recent_files, but the naming remains readable and predictable.
23 tools is on the high side, but the server covers a broad domain: file browsing, reading, upload/download, folder operations, sharing, favorites, trash, login, and storage info. Nearly every tool maps to a distinct operation, so the count is reasonable rather than bloated.
Core file and folder lifecycle operations are well covered, including listing, metadata, search, upload, download, copy/move/delete, sharing CRUD, and trash restore/empty. Minor gaps remain, such as no dedicated listing of favorites or direct text-file edit/write operation, but these are largely workable through existing tools.
Maintenance
Related MCP Connectors
Notes, files, GitHub, and Drive through one MCP connection.
Notes, files, GitHub, and Drive through one MCP connection.
Notes, files, GitHub, and Drive through one MCP connection.
Browse and manage files in your Moxt AI workspace from any MCP client.
Related MCP Servers
- AlicenseBqualityBmaintenanceMCP server for Nextcloud Collectives that exposes collectives, pages, tags, attachments, page history, and trash to Claude and MCP-compatible clients via OCS API and WebDAV.57MIT
- AlicenseBqualityBmaintenanceEnables to manage Nextcloud files, user info, sharing, calendar, and contacts through optimized MCP tools with dynamic tool selection and enterprise-grade security.891MIT
- AlicenseNot gradedqualityBmaintenanceA remote MCP server that exposes a Nextcloud account as tools for file management via WebDAV, calendar events, share links, and Talk chat.MIT
- AlicenseNot gradedqualityCmaintenanceEnables MCP clients to browse, read, write, search, and share files in a pCloud account over HTTPS, including folder management, trash access, and public link creation.1MIT