Atlas / MCP servers / hithereiamaliff / Nextcloud

NextcloudBLOCK

mcp/hithereiamaliff/nextcloud-2

Nextcloud MCP Server: Connect AI assistants to your Nextcloud instance with 34 comprehensive tools for Notes, Calendar, Contacts, Tables, and WebDAV file operations. Full TypeScript implementation with Smithery deployment support.

Verdict
BLOCK
Grade
D
Trust score
69 /100
Exposed tools
28 12r · 10w · 6d
Transport
stdio · streamable-http
License
AGPL-3.0
Stars
38
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

MCP Endpoint: https://mcp.techmavie.digital/nextcloud/mcp

Note: This project is a complete rewrite in TypeScript of the original Python-based cbcoutinho/nextcloud-mcp-server, now with self-hosted VPS deployment and Smithery deployment support. ### Key Differences from the Original Repository: Language: This project is written in TypeScript, while the original is in Python. Smithery Support: Added full support for Smithery deployment and local testing via Smithery playground. Project Structure: The project structure has been adapted for a Node.js/TypeScript environment with MCP SDK integration. Dependencies: This project uses npm for package management, whereas the original uses Python's dependency management tools. Deployment:* Now supports both local development and cloud deployment via Smithery.

The Nextcloud MCP (Model Context Protocol) server allows Large Language Models (LLMs) like OpenAI's GPT, Google's Gemini, or Anthropic's Claude to interact with your Nextcloud instance. This enables automation of various Nextcloud actions across Notes, Calendar, Contacts, Tables, and WebDAV file operations.

The hosted HTTP integration now supports a safer multi-user flow through the MCP Key Service. Instead of embedding raw Nextcloud credentials in the connector URL, hosted clients can use a user-scoped usr_... key and let the server resolve credentials server-side.

Features

The server provides integration with multiple Nextcloud apps, enabling LLMs to interact with your Nextcloud data through a comprehensive set of 30 tools across 5 main categories.

Supported Nextcloud Apps

Read from source at commit d36e9a9165baOBSERVED · 2026-10-08
Advertisement
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code
claude mcp add sdk --env KEY_SERVICE_TOKEN=${KEY_SERVICE_TOKEN} --env KEY_SERVICE_URL=${KEY_SERVICE_URL} --env MCP_API_KEY=${MCP_API_KEY} -- npx -y @modelcontextprotocol/[email protected]
claude-desktop
{
  "mcpServers": {
    "sdk": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/[email protected]"
      ],
      "env": {
        "KEY_SERVICE_TOKEN": "${KEY_SERVICE_TOKEN}",
        "KEY_SERVICE_URL": "${KEY_SERVICE_URL}",
        "MCP_API_KEY": "${MCP_API_KEY}"
      }
    }
  }
}
03

Exposed tools (28)

12 read · 10 write · 6 destructive. Blast radius: 6 tools can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.

ToolRiskDescription
nc_calendar_create_eventwrite
nc_calendar_delete_eventdestructive
nc_calendar_get_eventread
nc_calendar_list_calendarsread
nc_calendar_list_eventsread
nc_calendar_update_eventwrite
nc_contacts_create_addressbookwrite
nc_contacts_create_contactwrite
nc_contacts_delete_addressbookdestructive
nc_contacts_delete_contactdestructive
nc_contacts_list_addressbooksread
nc_contacts_list_contactsread
nc_notes_append_contentread
nc_notes_create_notewrite
nc_notes_delete_notedestructive
nc_notes_search_notesread
nc_notes_update_notewrite
nc_tables_delete_rowdestructive
nc_tables_get_schemaread
nc_tables_insert_rowwrite
nc_tables_list_tablesread
nc_tables_read_tableread
nc_tables_update_rowwrite
nc_webdav_create_directorywrite
nc_webdav_delete_resourcedestructive
nc_webdav_list_directoryread
nc_webdav_read_fileread
nc_webdav_write_filewrite
04

Trust audit

BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfaceWARN
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (1 observation(s))
Network
declared (10 observation(s))
Shell
declared (1 observation(s))
Dependencies
not all pinned
Secrets in source
none-found

Findings (12)

HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
open.js:6
exec(`${command} "${url}"`);
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
deploy/nginx-mcp.conf:14
proxy_pass http://127.0.0.1:8085;
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
deploy/nginx-mcp.conf:23
proxy_pass http://127.0.0.1:8085;
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
deploy/nginx-mcp.conf:32
proxy_pass http://127.0.0.1:8085;
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
deploy/nginx-mcp.conf:46
proxy_pass http://127.0.0.1:8085;
MEDIUMFilesystem / path · mcp.destructive_tools · CWE-22, CWE-59
nc_calendar_delete_event, nc_contacts_delete_addressbook, nc_contacts_delete_contact, nc_notes_delete_note, nc_tables_delete_row, nc_webdav_delete_resource
Why it matters. 6 tool(s) can delete or overwrite
Fix. prefer a read-only mode or scoped tokens; the page states the blast radius
LOWInventory / provenance · inv.hidden_file · CWE-1104
.env.sample
.env.sample
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
README.md:508
curl http://127.0.0.1:8080/health
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@modelcontextprotocol/sdk, axios, cors, dotenv, express, fast-xml-parser, localtunnel, npm-run-all
Why it matters. 17 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
README.md:511
> **Important:** The HTTP server does NOT use `NEXTCLOUD_*` environment variables. In self-hosted mode, each client must provide Nextcloud credentials via request headers. In key-service mode, clients
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine
INFOInventory / provenance · inv.oversize · CWE-1104
.smithery/index.cjs
.smithery/index.cjs
Why it matters. 12563461 bytes not read
INFOPrompt injection · prompt.credential_read · CWE-94, CWE-1427
README.md:526
> **Note:** In CLI mode, credentials are read from environment variables (`NEXTCLOUD_HOST`, `NEXTCLOUD_USERNAME`, `NEXTCLOUD_PASSWORD`). This is safe because CLI mode runs locally for a single user.
Why it matters. asks the agent to read credentials

Gates applied: no_behavioural_pass.

Audited 2026-10-08 · audit v0.4.1 · source sha d36e9a9165bafull audit observations/trust-audit/mcp-server/hithereiamaliff__nextcloud-2.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-08d36e9a9165baBLOCKD69first audit
06

Questions

What is the Nextcloud MCP server?

Nextcloud MCP Server: Connect AI assistants to your Nextcloud instance with 34 comprehensive tools for Notes, Calendar, Contacts, Tables, and WebDAV file operations. Full TypeScript implementation with Smithery deployment support.

What tools does Nextcloud expose?

28 in total: 12 read-only, 10 that write, and 6 that can delete or overwrite (nc_calendar_delete_event, nc_contacts_delete_addressbook, nc_contacts_delete_contact, nc_notes_delete_note, nc_tables_delete_row). Every one is listed on this page with its risk.

Is Nextcloud safe to connect to an agent?

No — not without reading the findings first. The audit graded it D (69/100) and found 1 critical or high issue in the source. Each one is listed on this page with the file and line it is on. Separately from the audit: 6 of its tools can destroy data, so scope the token you give it to what you actually need.

What credentials does Nextcloud need?

It reads KEY_SERVICE_TOKEN, KEY_SERVICE_URL and MCP_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How does Nextcloud run?

It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as @modelcontextprotocol/sdk at 1.17.4.

How current is this page?

The grade is for one exact copy of the source (d36e9a9165ba), read on 2026-10-08. The repository is watched and re-audited when it changes.

Advertisement