TheGenie
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| RAG_DEVICE | No | Device for inference: cpu or cuda | cpu |
| RAG_OFFLINE | No | Whether to run in offline mode (true/false) | false |
| RAG_HF_TOKEN | No | Optional Hugging Face access token for model downloads | |
| RAG_DATA_PATH | No | Base path for data storage | data |
| RAG_LOG_LEVEL | No | Logging level | INFO |
| RAG_NLI_MODEL | No | Hugging Face model name used for natural language inference | MoritzLaurer/mDeBERTa-v3-base-mnli-xnli |
| RAG_CACHE_PATH | No | Path where local models are cached | data/cache |
| RAG_CHUNK_SIZE | No | Maximum chunk size for extracted text | 512 |
| RAG_QDRANT_URL | No | URL of the Qdrant server | http://127.0.0.1:6333 |
| RAG_RESULT_COUNT | No | Number of final search results returned | 5 |
| RAG_CHUNK_OVERLAP | No | Overlap between consecutive chunks | 64 |
| RAG_METADATA_PATH | No | Path for metadata and index manifests | data/metadata |
| RAG_DOCUMENTS_PATH | No | Path to the directory containing PDF documents | documents |
| RAG_RERANKER_MODEL | No | Hugging Face model name used for reranking | BAAI/bge-reranker-v2-m3 |
| RAG_EMBEDDING_MODEL | No | Hugging Face model name used for embeddings | BAAI/bge-m3 |
| RAG_SOURCE_DIVERSITY | No | Whether to diversify the sources of returned passages (true/false) | true |
| RAG_QDRANT_COLLECTION | No | Name of the Qdrant collection | academic_chunks |
| RAG_VECTOR_CANDIDATES | No | Number of candidate vectors retrieved from Qdrant before reranking | 20 |
| RAG_VERIFICATION_PATH | No | Path for verification and revision reports | data/verification |
| RAG_EMBEDDING_BATCH_SIZE | No | Batch size for embedding ingestion | 16 |
| RAG_ENTAILMENT_THRESHOLD | No | Confidence threshold for an entailment (SUPPORTED) verdict | 0.7 |
| RAG_CONTRADICTION_THRESHOLD | No | Confidence threshold for a contradiction (CONTRADICTED) verdict | 0.7 |
| RAG_DEDUPLICATION_THRESHOLD | No | Similarity threshold for deduplicating overlapping passages | 0.9 |
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 |
|---|---|
| search_referencesA | Search local indexed academic passages. Inspect the exact text before citing it: relevance is not evidence of entailment, and missing source metadata must never be invented. |
| get_referenceA | Resolve one citation ID to its exact stored passage and known provenance. Do not infer or invent fields absent from the result. |
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 2 tools
search_references and get_reference have clearly distinct purposes: one performs a query across indexed passages, the other resolves a specific citation ID to its stored record. There is no overlap or ambiguity between the two operations.
Both tool names follow a consistent verb_noun pattern—search_references and get_reference. The verbs are imperative and descriptive, and the nouns clearly indicate the target object.
With only two tools, the set feels minimal, but it is appropriately scoped for a read-only reference retrieval service. The pair covers the essential search-and-retrieve workflow without unnecessary surface area, making it slightly under but still reasonable.
For the stated domain of local academic passage lookup, search_references and get_reference form a complete workflow: discover passages via search, then resolve exact text and provenance by ID. There are no obvious gaps, as this is a read-only index with no create/update/delete requirements.