
Hithereiamaliff Mcp Nextcloud
ai.smithery由 smithery.ai 發布官方發布者v1.0.0更新於 Oct 24, 2026
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
發布方自己的服務:222wcnm Bilistalkermcp
概覽
讓助理透過 30 個工具讀取與管理 Nextcloud 帳號的筆記、行事曆、聯絡人、表格和 WebDAV 檔案。
- 可以做什麼
- 將助理連接到 Nextcloud 執行個體,提供涵蓋五個應用領域的工具:筆記(建立、更新、附加、搜尋、刪除)、透過 CalDAV 管理行事曆與事件、透過 CardDAV 管理聯絡人與通訊錄、表格(檢視結構及資料列的增刪改查),以及 WebDAV 檔案(列出目錄、讀取、寫入、建立目錄、刪除)。統一的檔案搜尋工具可比對檔名、內容與中繼資料,並依類型、大小、日期和目錄篩選。另有 hello 工具用於檢查連線並列出可用工具。
- 適用情境
- 當筆記、行事曆、聯絡人和檔案都存放在 Nextcloud,且希望助理透過單一連接器搜尋、摘要或編輯這些內容,而不必在多個應用程式間切換時適用。
- 執行需求
- 託管端點需要來自服務商金鑰服務的使用者層級金鑰,並以 Authorization Bearer 權杖送出。npm 套件在本機執行,需 Node.js 18+,並讀取 NEXTCLOUD_HOST、NEXTCLOUD_USERNAME 和 NEXTCLOUD_PASSWORD。自架 HTTP 模式使用 MCP_API_KEY 以及 X-Nextcloud-Host、X-Nextcloud-Username、X-Nextcloud-Password 標頭。需要一個 Nextcloud 執行個體。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Hithereiamaliff Mcp Nextcloud,將其新增到工作區。
- 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
- 為需要使用其工具的對話啟用該服務。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
交給代理程式安裝
把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。
閱讀 https://sourceweft.com/mcp/ai.smithery%2Fhithereiamaliff-mcp-nextcloud/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。其他 MCP 客戶端
把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。
{
"mcpServers": {
"hithereiamaliff-nextcloud": {
"type": "http",
"url": "https://server.smithery.ai/@hithereiamaliff/mcp-nextcloud/mcp"
}
}
}README
Nextcloud MCP Server
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
Available Tools (30 Total)
📝 Notes Tools (5 tools)
📅 Calendar Tools (6 tools)
👥 Contacts Tools (6 tools)
📊 Tables Tools (6 tools)
📁 WebDAV File System Tools (6 tools)
🔍 Revolutionary Unified WebDAV Search Feature
The crown jewel of this MCP server is the powerful unified search system for WebDAV files, inspired by modern search interfaces like on an another MCP that I have created: mcp-datagovmy. This completely transforms how you interact with your Nextcloud files by eliminating the need to specify exact file paths.
✨ Key Features
- 🎯 Multi-scope Search: Search across filenames, file content, and metadata simultaneously
- 🧠 Smart File Type Detection: Automatically handles text files, code, configuration files, documents, and media
- 🔧 Advanced Filtering: Filter by file type, size range, modification date, and directory
- 📈 Intelligent Ranking: Results ranked by relevance with bonuses for recent files and exact matches
- 👀 Content Preview: Optional content previews for matched text files
- ⚡ Performance Optimized: Intelligent caching, timeout protection, and parallel processing
- 🛡️ Error Recovery: Fallback strategies prevent timeouts and provide helpful suggestions
🚀 Usage Examples
📋 Complete Parameter Reference
🎯 Performance Tips
- For root directory searches: Use
quickSearch: trueandmaxDepth: 2-3for faster results - For specific directories: Use
basePath: "/Documents"instead of searching root "/" - For large result sets: Add
fileTypesfilter to narrow scope - For timeout issues: Enable
quickSearchand use smallerlimitvalues
🧪 Test Tool (1 tool)
🔄 Before vs After: The Search Revolution
Before Unified Search
After Unified Search ✨
🛠️ Advanced Search Strategies
Content-Aware Search
The system intelligently extracts and searches content from:
- 📝 Text Files:
.txt,.md,.csv- Full content indexing - 💻 Code Files:
.js,.ts,.py,.html,.css- Syntax-aware search - ⚙️ Config Files:
.json,.xml,.yaml- Structure-aware indexing - 📄 Documents:
.pdf,.docx- Metadata and properties - 🎬 Media Files: Images, videos - EXIF data and metadata
Smart Ranking System
Results are ranked using advanced algorithms:
- Exact filename matches → 100 points
- Word boundaries in filenames → 80 points
- Partial filename matches → 60+ points (position bonus)
- Content frequency matches → 50+ points (term density)
- Recent file bonus → +10 points (last 30 days)
- File type preference → +5 points (text/code files)
- Size convenience → +5 points (files under 100KB)
Error Handling & Recovery
- 🕐 20-second timeout protection - Prevents hanging operations
- 🔄 Automatic fallback search - Falls back to directory listing if indexing fails
- 💡 Intelligent suggestions - Provides helpful tips for optimization
- 📊 Performance metrics - Shows search duration and result counts
Installation
Quick Start with npm (Recommended)
Install directly from npm and run as an MCP server:
Usage as MCP Server
After installation, you can run the MCP server directly:
Environment Setup: Create a .env file with your Nextcloud credentials:
Integration with LLM Applications
Add to your MCP client configuration (e.g., Claude Desktop, Continue, etc.):
For CLI mode (local, single-user):
For hosted HTTP mode (via MCP Key Service):
Recommended for hosted clients: Use the path-based URL form (
/mcp/usr_...) for Claude.ai and similar hosted connectors. Keep the query-param form as a compatibility option for inspectors and clients that preserve query params reliably.
For self-hosted HTTP mode (your own server):
Prerequisites
- Node.js 18+
- Access to a Nextcloud instance
- npm or yarn package manager
Local Development Setup
-
Clone the repository:
-
Install dependencies:
-
Configure your Nextcloud credentials (see Configuration section)
-
Build the project:
Configuration
Environment Variables
Create a .env file in the root directory based on .env.sample:
Important Security Notes:
- Use a dedicated Nextcloud App Password instead of your regular login password. Generate one in your Nextcloud Security settings.
- In HTTP mode,
NEXTCLOUD_*environment variables are never used. Self-hosted clients provide credentials viaX-Nextcloud-*headers, while key-service clients send only ausr_...key. - Generate a strong API key:
openssl rand -hex 32
Smithery Configuration
When deploying via Smithery, you can configure credentials through:
- Smithery's configuration interface for URL-published servers
For Smithery, the recommended model is:
- users enter
nextcloudHost,nextcloudUsername, andnextcloudPassworddirectly - Smithery forwards those values to the dedicated
/smithery/mcpendpoint as headers - the hosted
usr_...key-service flow remains separate and continues to use/mcp/usr_...
Deployment & Usage
Option 1: Hosted Server (Recommended)
The easiest way to use this MCP server is via the hosted endpoint. No installation required!
Endpoint: https://mcp.techmavie.digital/nextcloud/mcp
Authentication
The hosted server uses the MCP Key Service for authentication. You get a personal API key (usr_XXXXXXXX) from the MCP Key Service portal:
The server then resolves your Nextcloud credentials automatically through the resolver endpoint behind the scenes.
Why this is safer than the old query-credential approach:
- raw Nextcloud credentials are not embedded in the connector URL
- revoking a
usr_...key is easier than rotating a user's underlying Nextcloud password everywhere - server-side auditing and policy are easier to centralize
- support/debug workflows are safer because users share a scoped key, not their real Nextcloud password
Claude.ai / hosted connector URL (recommended):
Alternative URL for clients that preserve query params correctly:
Client Configuration
Test with MCP Inspector
Option 2: Self-Hosted (VPS)
If you prefer to run your own instance, the built-in Docker + Nginx setup is:
Recommended VPS setup
- Clone the repo onto your server:
- Create a
.envfile with your server settings: Notes:- Use
KEY_SERVICE_URL+KEY_SERVICE_TOKENonly if you want hosted-styleusr_...key resolution. - Users obtain and manage those keys at
https://mcpkeys.techmavie.digital. - The MCP server itself should keep using the resolver endpoint path, not the portal homepage.
- Set
ENABLE_SMITHERY_ENDPOINT=trueonly if you want to publish the dedicated Smithery direct-credentials endpoint.
- Use
- Start the container:
- Add the reverse proxy config from deploy/nginx-mcp.conf to your nginx server block.
- Validate and reload nginx:
- Verify the server:
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 send onlyapi_key=usr_....
Remote MCP note: For hosted connectors such as Claude.ai, prefer the path-based URL form (
/mcp/usr_...). Keep the query-param form as a compatibility option for inspectors and clients that preserve query params reliably.
Debugging note: If a hosted client shows a generic auth prompt, it does not automatically mean OAuth is required. First verify the auth-free diagnostics route, the key-service resolver response, and the actual
initializeSSE body.
Option 3: npm Package (CLI)
Install and run as a local MCP server:
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.
Option 4: Smithery Deployment
For Smithery's current URL-published model, use a dedicated endpoint that accepts direct Nextcloud credentials via headers:
Use this public MCP URL in Smithery:
Recommended Smithery config schema for this server:
Why this split is recommended:
- Smithery users can connect directly without creating an MCP Key Service key first
- the hosted
usr_...connector flow remains unchanged for Claude.ai and other hosted clients - the Smithery path is isolated to
/smithery/mcp, so it does not interfere with/mcpor/mcp/usr_...
Important: The Smithery endpoint is designed for direct credentials via headers. It does not use the MCP Key Service and does not require the shared
MCP_API_KEY.To help Smithery discover tools without forcing a live authenticated scan, this server also exposes a static server card at
https://mcp.techmavie.digital/.well-known/mcp/server-card.json. If your reverse proxy mounts the app under/nextcloud, make sure that exact root-level well-known path is proxied to the app.
Publishing to npm
For Maintainers
To publish this package to npm:
-
Prepare the release:
-
Publish to npm:
-
Verify the publication:
Publishing Checklist
- All tests pass (Smithery deployment confirmed working)
- TypeScript builds without errors (
npm run build) - Version bumped appropriately (
npm version) - README updated with changes
-
.npmignoreproperly excludes development files - CLI executable works (
dist/cli.js)
Dual Deployment Strategy
This project supports both deployment methods simultaneously:
- Smithery: For cloud deployment and development testing
- npm: For end-user installation and MCP client integration
The Smithery configuration (smithery.yaml) and npm package configuration coexist without interference.
Smithery Integration
This project includes full Smithery support with:
smithery.yaml: Specifies TypeScript runtime- Development server: Local testing with hot reload
- One-click deployment: Deploy to cloud with a single command
- Configuration management: Secure credential handling
- Playground integration: Immediate testing interface
Security
HTTP Server Security Model
The HTTP server (http-server.ts) supports two authentication modes:
Key Service Mode (hosted/multi-user):
- User API keys (
usr_...) are resolved via the MCP Key Service which returns encrypted Nextcloud credentials. - No raw credentials are sent by the client - only the user-scoped API key.
- Credentials are cached for 60 seconds to reduce key service load, then re-validated.
Self-Hosted Mode (single-operator):
- A server-side
MCP_API_KEYvalidates access. - Each client provides Nextcloud credentials via
X-Nextcloud-*headers.
Common security measures:
- Per-Request Credential Isolation: Each request gets its own isolated set of Nextcloud clients via
AsyncLocalStorage. No credential state is shared between requests. - No Environment Variable Fallback: The HTTP server never falls back to
NEXTCLOUD_*environment variables for credentials. These are only used in CLI mode. - Restricted CORS: Only origins listed in
ALLOWED_ORIGINSare permitted (defaults tosmithery.aiandclaude.ai). - Protected Analytics: The
/analyticsendpoint requiresMCP_API_KEYauthentication in both modes. The dashboard page stores the key in session storage, never in the URL. Client IPs are hashed before storage. - Debug Tools Disabled in Production: Calendar debug tools are automatically disabled when
NODE_ENV=production.
Self-Hosting Checklist
If you deploy your own instance:
- Choose an auth mode: set
KEY_SERVICE_URL+KEY_SERVICE_TOKENfor key service, orMCP_API_KEYfor self-hosted - Set
MCP_API_KEYfor analytics access (required in both modes) - Do NOT set
NEXTCLOUD_*environment variables on the HTTP server - Use HTTPS (TLS) for all connections
- Configure
ALLOWED_ORIGINSto restrict which domains can connect - Use Nextcloud App Passwords (not your main login password)
Troubleshooting
Common Issues
-
404 Errors on WebDAV/Calendar/Contacts:
- Ensure your Nextcloud credentials are correct
- Verify the Nextcloud apps (Calendar, Contacts) are installed and enabled
- Check that your app password has the necessary permissions
-
Authentication Failures:
- Use an App Password instead of your regular password
- Verify the
NEXTCLOUD_HOSTURL is correct (including https://) - Ensure the Nextcloud instance is accessible
-
Missing Tools:
- Run the
hellotool to verify all 30 tools are available - Check the server logs for any initialization errors
- Run the
-
Search Timeout Issues:
- Use
quickSearch: truefor root directory searches - Specify a
basePathlike "/Documents" instead of searching root "/" - Add
fileTypesfilters to narrow the search scope - Reduce
maxDepthparameter for faster results
- Use
Hosted HTTP / Claude.ai Debugging
If the hosted connector still fails, use this order:
- Verify the auth-free diagnostics route first:
- enable
ENABLE_MCP_DIAGNOSTICS=true - test
/mcp-debug/open - if this works, the issue is likely auth or an upstream dependency, not basic MCP transport
- enable
- Verify the key-service resolver directly from the deployed MCP host:
Expected:
200 OKContent-Type: application/json- valid JSON response
- Verify the MCP initialize response body, not just the status code:
Expected:
200 OKContent-Type: text/event-stream- non-empty SSE initialize response body
- If the hosted client keeps retrying the same initialize request every few seconds, suspect an empty or malformed SSE initialize response even if the HTTP status is
200. - Enable temporary tracing with
MCP_TRACE_HTTP=trueand inspect:- final status code
- request
accept - request
content-type content-typeresponse header- auth outcome (
resolved,invalid_key,service_unavailable,malformed_response)
Development
Project Structure
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Test with
npm run dev - Submit a pull request
License
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0) - see the LICENSE file for details.
Acknowledgments
- Original Python implementation by cbcoutinho
- Built with Model Context Protocol
- Deployable via Smithery
來源:README.md,提交 05be513
工具
0版本歷史
1- v1.0.0最新Sep 16, 2026
評分
已滿足適用檢查項的 85%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通必需25 分
- 已宣告認證方式必需10 分
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
其他 Smithery 整合

222wcnm Bilistalkermcp
ai.smithery官方發布者
Bilibili 創作者分析伺服器,讓助理查詢指定使用者的個人資料、影片、動態、專欄、字幕、追蹤清單與留言。

Zwldarren Akshare One Mcp
ai.smithery官方發布者
遠端 MCP 伺服器,讓助理以唯讀方式取得中國股市資料:歷史與即時行情、新聞和財務報表。

Zhaoganghao Hellomcp
ai.smithery官方發布者
一個小型遠端 MCP 伺服器,讓助理依名字向人問候,並介紹「Hello, World」的由來。

Zeta Chain Cli
ai.smithery官方發布者
一個遠端 MCP 伺服器,讓助理為任意姓名或受眾產生友善、可自訂的問候語。

Yuna0x0 Hackmd Mcp
ai.smithery官方發布者
一個連接 HackMD API 的 MCP 伺服器,讓助理讀取、建立、更新和刪除 HackMD 筆記並管理團隊。