Cloudsuite

io.github.CloudCorpRecords由 GitHub 帳號 CloudCorpRecords 發布v0.1.0更新於 Nov 3, 2026

通過代理使用 Nextcloud:藉助 DAV 和 Notes API 存取筆記、日曆、聯絡人和檔案。

AI 翻譯由 AI 模型根據下方的原文描述翻譯,可能有誤。

原文描述

Nextcloud from your agent: notes, calendars, contacts, and files over DAV and the Notes API.

已驗證STDIO僅桌面效率與工作流

概覽

Cloudsuite 的本機 MCP 服務;無需登入;STDIO。

暫無 AI 概覽:以下資訊來自註冊中心條目和服務本身。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Cloudsuite,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

cloudsuite

cloudsuite lets an agent work with a self-hosted Nextcloud instance: search and edit notes, see calendars and create or delete events, list and create contacts, and browse, read, write, and delete files. Notes go through the instance's Notes app API; calendars, contacts, and files go through Nextcloud's CalDAV, CardDAV, and WebDAV endpoints.

This package is a clean-room rebuild, and a labelled core subset: it covers 15 of the 30 tools documented for the original Nextcloud MCP server. The omitted tools are listed under "Scope" below.

How it talks to the service

Every tool needs three environment variables:

bash
export NEXTCLOUD_URL="https://cloud.example.com"   # base URL of the instanceexport NEXTCLOUD_USERNAME="alice"export NEXTCLOUD_PASSWORD="xxxxx-xxxxx-xxxxx-xxxxx"  # an app password

With any of the three missing, every call fails with an error naming the missing variables, before any request is made. Every request carries HTTP Basic auth built from the username and app password.

Wire-format note: the original project's README documents the tools and their purposes; the endpoint shapes here follow Nextcloud's public Notes API and DAV layout. Notes use {NEXTCLOUD_URL}/index.php/apps/notes/api/v1; calendars use CalDAV under {NEXTCLOUD_URL}/remote.php/dav/calendars/{user}/; contacts use CardDAV under {NEXTCLOUD_URL}/remote.php/dav/addressbooks/users/{user}/; files use WebDAV under {NEXTCLOUD_URL}/remote.php/dav/files/{user}/. Path segments are percent-encoded per segment (slashes preserved). DAV status 207 counts as success; any other non-2xx response is reported with its status and a body excerpt. Calendar event listing is a summary only: the REPORT response is reduced to its status, byte count, and the SUMMARY: lines found in it.

Install

bash
npx @reneturcios/cloudsuite nextcloud_webdav_list_directory '{"path":"/"}'

Or run the container image:

bash
docker run -i ghcr.io/cloudcorprecords/cloudsuite

The container defaults to the MCP server. Pass CLI arguments to use it as a CLI instead.

CLI

The CLI mirrors the tools: one subcommand per tool, taking its arguments as a single JSON object.

bash
cloudsuite nextcloud_notes_search_notes '{"query":"shopping"}'cloudsuite nextcloud_notes_create_note '{"title":"Ideas","content":"..."}'cloudsuite nextcloud_calendar_list_calendars '{}'cloudsuite nextcloud_webdav_read_file '{"path":"/Documents/notes.txt"}'cloudsuite --version

Exit codes: 0 on success, 1 on an API or validation error (the error names the problem), 2 for usage errors.

MCP server

One bin serves both faces. The mcp subcommand starts a stdio MCP server:

bash
npx -y @reneturcios/cloudsuite mcp

MCP client configuration:

json
{  "mcpServers": {    "cloudsuite": {      "command": "npx",      "args": ["-y", "@reneturcios/cloudsuite", "mcp"],      "env": {        "NEXTCLOUD_URL": "https://cloud.example.com",        "NEXTCLOUD_USERNAME": "alice",        "NEXTCLOUD_PASSWORD": "your app password"      }    }  }}

Tools

ToolInputWhat it does
nextcloud_notes_search_notesquery (required)Fetch all notes and keep those whose title or content contains the query (case-insensitive).
nextcloud_notes_create_notetitle, content (required), categoryCreate a note via the Notes API.
nextcloud_notes_update_noteid (required), title, content, categoryUpdate the provided fields of a note.
nextcloud_notes_append_contentid, content (required)Read the note, then write it back with the new content appended after a newline; the title is preserved.
nextcloud_notes_delete_noteid (required)Delete a note; returns {status, id}.
nextcloud_calendar_list_calendars—PROPFIND the calendars root and return each collection's display name and href.
nextcloud_calendar_create_eventcalendarId, summary, dtstart, dtend (required), description, locationPUT a generated VEVENT as an .ics file into the calendar; returns {status, uid}.
nextcloud_calendar_list_eventscalendarId (required)REPORT a calendar-query and summarize the response: status, bytes, and extracted SUMMARY: lines.
nextcloud_calendar_delete_eventcalendarId, eventId (required)DELETE the event resource.
nextcloud_contacts_list_contactsaddressBookId (required)PROPFIND an address book and return the hrefs it contains.
nextcloud_contacts_create_contactaddressBookId, fullName (required), email, phone, organizationPUT a generated VCARD as a .vcf file into the address book; returns {status, uid}.
nextcloud_webdav_list_directorypath (required)PROPFIND a folder and return each entry's name, href, and whether it is a collection.
nextcloud_webdav_read_filepath (required)GET a file and return its text content and byte count.
nextcloud_webdav_write_filepath, content (required)PUT text content to a file path.
nextcloud_webdav_delete_resourcepath (required)DELETE a file or folder.

Scope

Omitted from this core subset: hello, nextcloud_calendar_get_event, nextcloud_calendar_update_event, nextcloud_contacts_list_addressbooks, nextcloud_contacts_create_addressbook, nextcloud_contacts_delete_addressbook, nextcloud_contacts_delete_contact, all six nextcloud_tables_* tools, nextcloud_webdav_search_files, and nextcloud_webdav_create_directory. The CalDAV/CardDAV wire shapes are minimal reconstructions: there is no recurrence expansion, ETag handling, or timezone processing, and the calendar event listing extraction is intentionally crude. No live Nextcloud instance was used while building this package; behaviour is covered by fake-fetch tests only.

Development

bash
npm installnpm run build   # tsc -> dist/npm test        # node test runner over test/*.test.ts, fake fetch only, no networknpm run dev     # run the CLI from source via tsx

License

MIT — see LICENSE.

來源:README.md,提交 115f300

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.0最新Nov 3, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分