omni-rag-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OMNI_RAG_QDRANT_HOST | No | Remote Qdrant host (required if QDRANT_MODE=remote) | |
| OMNI_RAG_QDRANT_MODE | No | Qdrant mode: local (default) or remote | local |
| OMNI_RAG_QDRANT_PORT | No | Remote Qdrant port (required if QDRANT_MODE=remote) | |
| OMNI_RAG_OPENAI_API_KEY | No | OpenAI API key required if OMNI_RAG_EMBEDDING_PROVIDER=openai | |
| OMNI_RAG_VOYAGE_API_KEY | No | Voyage API key required if OMNI_RAG_EMBEDDING_PROVIDER=voyage | |
| OMNI_RAG_EMBEDDING_PROVIDER | No | Embedding provider: onnx (default), ollama, openai, or voyage | onnx |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| searchC | Search indexed files using semantic or hybrid search. Args: query: Natural language query. n_results: Optional number of results to return (default: 10). |
| search_by_fileA | Search indexed files, restricting results to paths matching a pattern. Args: query: Natural language query. file_pattern: Glob-style pattern or substring for file paths (e.g. '.py', 'models/'). n_results: Optional number of results to return (default: 10). |
| statsA | Get statistics about the current index. Returns chunk count, collection name, storage mode, and embedding provider. Use this to verify the index is loaded and check its size. |
| ingestA | Manually trigger indexing of the current working directory. Auto-indexes on first search, so you rarely need this. By default, does incremental indexing (only changed files). Use force=True to do a full re-index from scratch. Args: force: If True, full re-index. If False, incremental update. include_extensions: Optional list of file extensions to include (e.g. [".py", ".ts", "js"]). When provided, ONLY files with these extensions are indexed; the default TEXT_EXTENSIONS allowlist is replaced. Leading dots are optional. exclude_extensions: Optional list of file extensions to exclude (e.g. [".txt", ".md"]). Files with these extensions are skipped even if they would otherwise be indexed. Leading dots are optional. |
| check_statusA | Check whether the index for the current directory is up to date. Call this FIRST if you're unsure whether to use semantic search or fall back to file-by-file reading. Returns whether the directory is indexed and whether there are local changes that might make the index stale. |
| get_contextA | Get a compressed overview of the indexed directory structure. Returns language breakdown, directory structure, key files, and dependency information. Use this FIRST when starting work on an unfamiliar directory to understand its layout before searching for specific content. Much cheaper than reading files individually — gives you the big picture in one call. |
| get_file_signaturesA | Get function and class signatures from files matching a path. Use this to understand the API surface of a module without reading every file. Returns function names, parameters, return types, and class hierarchies. More structured than semantic search — gives you the exact interface of code modules. Args: file_path: Substring to match in file paths (case-insensitive). E.g. "models", "api/routes", ".py", "utils". Empty string matches all files. |
| get_dependency_graphA | Get the import/dependency graph for the codebase. Shows which files import from which other files within the project. Use this to understand module boundaries and find the right place to make changes. Args: file_pattern: Optional substring to filter files (case-insensitive). Empty string analyzes the entire project. |
| search_codebaseB | [Deprecated: use 'search'] Semantic search over indexed files. |
| search_codebase_by_fileB | [Deprecated: use 'search_by_file'] Search filtered by file pattern. |
| get_codebase_contextA | [Deprecated: use 'get_context'] Get directory overview. |
| collection_statsA | [Deprecated: use 'stats'] Get index statistics. |
| ingest_current_directoryB | [Deprecated: use 'ingest'] Manually trigger indexing. |
| check_index_statusA | [Deprecated: use 'check_status'] Check index freshness. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Several tools are exact duplicates of others, with one marked deprecated and one current (e.g., check_index_status vs check_status). This creates ambiguity as an agent cannot easily distinguish which to use, leading to potential misselection.
Naming is somewhat consistent with a verb_noun pattern (e.g., search, search_by_file, ingest, stats), but deprecated tools use inconsistent forms like check_index_status and get_codebase_context, breaking the pattern.
With 14 tools, the count is reasonable for a RAG server. However, 6 of them are deprecated, reducing the effective set to 8 well-scoped tools, which is appropriate for the domain.
The toolset covers key operations: index status, context overview, search (including file-filtered), statistics, ingestion, dependency graph, and file signatures. Missing explicit index deletion or update, but core workflows are covered.