bb5d4f464f
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>
22 lines
1.2 KiB
Markdown
22 lines
1.2 KiB
Markdown
# 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.
|