Files
nextcloud-mcp-server/docs/notes.md
T
Chris Coutinho bb5d4f464f feat: implement MCP sampling for semantic search RAG (ADR-008)
Add nc_notes_semantic_search_answer tool that combines semantic search
with MCP sampling to generate natural language answers from retrieved
Nextcloud Notes. This enables Retrieval-Augmented Generation (RAG)
patterns without requiring a server-side LLM.

Key features:
- Client-side LLM generation via ctx.session.create_message()
- Graceful fallback when sampling unavailable
- Proper source citations in generated answers
- No results optimization (skips sampling when no docs found)
- Comprehensive unit and integration tests

Implementation details:
- SamplingSearchResponse model with generated_answer and sources
- Fixed prompt template with document context and citation instructions
- Model preferences hint Claude Sonnet for balanced performance
- Falls back to returning documents without answer on sampling failure

Updates:
- Add ADR-008 documenting sampling architecture decision
- Add MCP sampling pattern guidance to CLAUDE.md
- Update README.md and docs/notes.md (7 → 9 tools)
- Add 4 unit tests and 6 integration tests

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-09 01:00:18 +01:00

1.2 KiB

Notes App

Notes Tools

Tool Description
nc_notes_create_note Create a new note with title, content, and category
nc_notes_update_note Update an existing note by ID
nc_notes_append_content Append content to an existing note with a clear separator
nc_notes_delete_note Delete a note by ID
nc_notes_search_notes Search notes by title or content (keyword search)
nc_notes_semantic_search Search notes by meaning using vector embeddings (requires vector sync)
nc_notes_semantic_search_answer Search notes semantically and generate a natural language answer via MCP sampling (requires vector sync and sampling-capable MCP client)

Note Attachments

This server supports adding and retrieving note attachments via WebDAV. Please note the following behavior regarding attachments:

  • When a note is deleted, its attachments remain in the system. This matches the behavior of the official Nextcloud Notes app.
  • Orphaned attachments (attachments whose parent notes have been deleted) may accumulate over time.
  • WebDAV permissions must be properly configured for attachment operations to work correctly.