FieldCure.Mcp.Rag
2.0.0
See the version list below for details.
dotnet tool install --global FieldCure.Mcp.Rag --version 2.0.0
dotnet new tool-manifest
dotnet tool install --local FieldCure.Mcp.Rag --version 2.0.0
#tool dotnet:?package=FieldCure.Mcp.Rag&version=2.0.0
nuke :add-package FieldCure.Mcp.Rag --version 2.0.0
FieldCure.Mcp.Rag
Requires Ollama 0.4.0 or later when using Ollama for embedding or contextualization.
MCP RAG server with hybrid BM25 + vector search and AI-powered chunk contextualization — indexes documents from configured source paths, enriches chunks with AI-generated context and keywords, generates embeddings, and performs keyword (FTS5) and semantic (cosine similarity) search with Reciprocal Rank Fusion.
Install
dotnet tool install -g FieldCure.Mcp.Rag
Commands
fieldcure-mcp-rag
├── serve --base-path <path> # Multi-KB MCP search server (stdio)
├── exec --path <kb-path> [--force] [--partial ...] # Headless indexing
├── exec-queue --queue-file <path> [--sweep-all] # Sequential queue orchestrator
└── prune-orphans --base-path <path> # Delete orphan KB folders
- serve — read-only MCP server serving all KBs under the base path. Lazy-loads per KB.
- exec — headless indexing with 2-commit model, binary-split failure isolation, deferred retry.
- exec-queue — sequential orchestrator for queued indexing requests. No GPU contention.
- prune-orphans — deletes GUID-named folders without config.json. Protects backups.
API keys are resolved from environment variables (OPENAI_API_KEY, ANTHROPIC_API_KEY, etc.).
Quick Start
{
"id": "my-kb-001",
"name": "Project Docs",
"sourcePaths": ["C:\\Users\\me\\Documents\\project-docs"],
"embedding": {
"provider": "openai",
"model": "text-embedding-3-small",
"apiKeyPreset": "OpenAI"
}
}
# Index
fieldcure-mcp-rag exec --path "%LOCALAPPDATA%\FieldCure\Mcp.Rag\my-kb-001"
# Serve
fieldcure-mcp-rag serve --base-path "%LOCALAPPDATA%\FieldCure\Mcp.Rag"
Claude Desktop
{
"mcpServers": {
"rag": {
"command": "fieldcure-mcp-rag",
"args": ["serve", "--base-path", "C:\\Users\\me\\AppData\\Local\\FieldCure\\Mcp.Rag"],
"env": {
"OPENAI_API_KEY": "sk-..."
}
}
}
}
Tools (7)
| Tool | Description |
|---|---|
list_knowledge_bases |
List all KBs with status |
search_documents |
Hybrid BM25 + vector search (auto, bm25, vector) |
get_document_chunk |
Retrieve full chunk content by ID |
start_reindex |
Queue indexing request (scope merge, force/deferred, orchestrator spawn) |
cancel_reindex |
Remove pending queue entry |
get_index_info |
Index metadata + queue state (status/position/deferred/error) |
check_changes |
Dry-run filesystem scan. No API calls |
config.json Reference
| Field | Description |
|---|---|
id |
Knowledge base identifier |
name |
Display name |
sourcePaths |
Folders to index |
contextualizer.provider |
"anthropic", "openai", "ollama", or empty |
contextualizer.model |
Model ID |
contextualizer.apiKeyPreset |
Env var mapping: "OpenAI" → OPENAI_API_KEY |
embedding.* |
Same structure as contextualizer |
embedding.keepAlive |
Ollama: VRAM retention (default "5m") |
embedding.numCtx |
Ollama: context window (default 8192, contextualizer only) |
systemPrompt |
Custom contextualization prompt |
Supported Formats
DOCX, HWPX, XLSX, PPTX, PDF (with OCR), TXT, MD
Requirements
- .NET 8.0 Runtime or later
See Also
Part of the AssistStudio ecosystem.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.5.1 | 99 | 5/25/2026 |
| 2.5.0 | 103 | 5/7/2026 |
| 2.4.4 | 101 | 5/6/2026 |
| 2.4.3 | 100 | 5/6/2026 |
| 2.4.2 | 111 | 4/28/2026 |
| 2.4.1 | 100 | 4/28/2026 |
| 2.4.0 | 87 | 4/28/2026 |
| 2.3.2 | 94 | 4/27/2026 |
| 2.3.1 | 99 | 4/27/2026 |
| 2.3.0 | 99 | 4/27/2026 |
| 2.2.0 | 106 | 4/25/2026 |
| 2.1.1 | 104 | 4/21/2026 |
| 2.1.0 | 98 | 4/20/2026 |
| 2.0.0 | 111 | 4/17/2026 |
| 1.5.0 | 102 | 4/16/2026 |
| 1.4.2 | 109 | 4/15/2026 |
| 1.4.1 | 110 | 4/15/2026 |
| 1.4.0 | 108 | 4/14/2026 |
| 1.3.1 | 116 | 4/8/2026 |
| 1.3.0 | 105 | 4/8/2026 |
v2.0.0: Queue-based indexing orchestrator (start_reindex, cancel_reindex), Ollama native providers (keep_alive, num_ctx), prune-orphans CLI, cross-platform (CredentialService removed). Breaking: unload_kb removed, API keys via environment variables.