Welcome to Nextcloud MCP Server
Interactive user interface for semantic search and document retrieval. Test queries, visualize results, and explore your Nextcloud content using RAG workflows.
{{ auth_mode }}
About Semantic Search
This interface provides access to semantic search capabilities powered by vector embeddings. Unlike traditional keyword search, semantic search understands the meaning of your queries and finds conceptually similar content across your Nextcloud apps.
How it works:
- Documents from Notes, Calendar, Files, Contacts, and Deck are indexed into a vector database
- Each document chunk is converted to a 768-dimensional vector embedding that captures semantic meaning
- Queries are also converted to embeddings and matched against document vectors using similarity search
- Results can be retrieved using pure semantic search or hybrid BM25 search combining keywords and semantics
RAG Workflow Integration
This UI allows you to test the same queries that Large Language Models (LLMs) would use in a Retrieval-Augmented Generation (RAG) workflow. When an AI assistant needs to answer questions about your data:
- Step 1: The assistant converts your question into a search query
- Step 2: The MCP server retrieves relevant document chunks using semantic search
- Step 3: Retrieved context is passed to the LLM to generate an informed answer
┌─────────────────┐
│ MCP Client │ User asks: "What are health benefits of coffee?"
│ (Claude Code) │
└────────┬────────┘
│ (1) User question
↓
┌────────────────────────────────────────────────────────────────────────┐
│ Nextcloud MCP Server │
│ ┌──────────────────────────────────────────────────────────────────┐ │
│ │ nc_semantic_search_answer Tool (MCP Sampling-enabled) │ │
│ │ │ │
│ │ (2) Semantic Search │ │
│ │ ┌────────────────────────────────────────────────────────┐ │ │
│ │ │ Query: "health benefits of coffee" │ │ │
│ │ │ → Convert to 768D vector embedding │ │ │
│ │ │ → Search Qdrant (BM25 Hybrid + RRF fusion) │ │ │
│ │ │ → Retrieve top 5 relevant document chunks │ │ │
│ │ └────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ (3) Construct Prompt with Context │ │
│ │ ┌────────────────────────────────────────────────────────┐ │ │
│ │ │ "What are health benefits of coffee? │ │ │
│ │ │ │ │ │
│ │ │ Documents: │ │ │
│ │ │ - [MED-2155] Effects of habitual coffee consumption...│ │ │
│ │ │ - [MED-1646] Beverage consumption guidance... │ │ │
│ │ │ - [MED-1627] Coffee and depression risk... │ │ │
│ │ │ ... │ │ │
│ │ │ │ │ │
│ │ │ Provide answer with citations." │ │ │
│ │ └────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ (4) MCP Sampling Request │ │
│ │ ─────────────────────────────────────────────────────────────> │ │
│ └──────────────────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────────────────┘
│
│ Sampling request with prompt + context
↓
┌─────────────────┐
│ MCP Client │ (5) Client's LLM generates answer using retrieved context
│ (Claude) │ → "Coffee consumption (2-3 cups/day) is associated with
└────────┬────────┘ reduced risk of type 2 diabetes, cardiovascular disease,
│ and improved liver health (Document 1, 2)..."
│
│ (6) Answer with citations
↓
┌─────────────────┐
│ User │ Receives comprehensive answer with source citations
└─────────────────┘
Key Point: The MCP server retrieves context but doesn't generate answers itself. Through MCP sampling, it requests the client's LLM to generate responses, giving users full control over which model is used and ensuring all processing happens client-side.
By using this interface, you can preview search results, understand relevance scores, and verify that the system retrieves the right information before it reaches the LLM.
Available Features
User Information
View your authentication details, session information, and IdP profile. Manage background access permissions.
Vector Sync Status
Monitor real-time indexing progress with metrics for indexed documents, pending queue, and synchronization status.
Vector Visualization
Interactive search interface with 2D PCA visualization. Compare algorithms, view relevance scores, and explore matched document chunks.
Vector Sync is Disabled
Semantic search and vector visualization features are currently disabled.
To enable these features, set VECTOR_SYNC_ENABLED=true in your environment configuration.
Learn more: Configuration Guide
Available Features
{% endif %}Documentation
For detailed information about configuration, authentication modes, and advanced features, please refer to the project documentation:
- Installation Guide
- Configuration Options
- Authentication Modes {% if vector_sync_enabled %}
- Vector Sync UI Guide {% endif %}