scholar-rag-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SCHOLAR_RAG_DATA_DIR | No | Data directory; defaults to platform-specific location. | |
| SCHOLAR_RAG_CHAT_MODEL | Yes | Model name for the chat model. | |
| SCHOLAR_RAG_EMBED_MODEL | Yes | Model name for the embedding model. | |
| SCHOLAR_RAG_RERANK_MODEL | Yes | Model name for the rerank model. | |
| SCHOLAR_RAG_CHAT_BASE_URL | Yes | Base URL for the OpenAI-compatible chat model endpoint. | |
| SCHOLAR_RAG_EMBED_BASE_URL | Yes | Base URL for the OpenAI-compatible embedding model endpoint. | |
| SCHOLAR_RAG_RERANK_BASE_URL | Yes | Base URL for the OpenAI-compatible rerank endpoint. | |
| SCHOLAR_RAG_QDRANT_STORAGE_DIR | No | Qdrant storage directory; defaults to <data_dir>/qdrant-storage. |
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_chunksA | Semantic search over chunk bodies of a kb with metadata filters, embedding and rerank scores. |
| search_documentsC | Document-level PubMed-style search with optional FTS query and metadata filters. |
| list_documentsC | Paginated browse of documents in a kb. |
| get_documentB | Overview of a document: metadata, abstract, section outline and total character count. |
| get_document_textB | Paginated reading of the full text or a single section of a document. |
| add_documentA | Asynchronously ingest a single PDF into an existing kb; returns a job_id. |
| remove_documentB | Synchronously delete a document from qdrant, catalog and disk. |
| create_kbA | Asynchronously create a kb from all PDFs in a folder; returns a job_id. |
| delete_kbB | Two-phase kb deletion: preview and confirm token, else full deletion. |
| list_kbsA | List all knowledge bases with metadata and status. |
| get_jobA | Query the status, progress and result of a background job. |
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 11 tools
Each tool targets a distinct resource and action: KB-level, document-level, and chunk-level operations are cleanly separated. get_document versus get_document_text, and search_documents versus search_chunks, are differentiated by granularity and description.
All tools follow a clear snake_case verb_noun pattern (get, add, remove, search, list, create, delete). The only slight abbreviation is list_kbs, but it does not break the pattern or create ambiguity.
At 11 tools, the surface is well-scoped for a RAG/knowledge-base server: KB management, document management, retrieval, and job status. Each tool corresponds to a distinct operation needed for the workflow.
The set covers the full lifecycle: KB create/list/delete, document add/get/list/remove, text reading, document- and chunk-level search, and async job tracking. There are no obvious dead ends; asynchronous operations are paired with get_job for status and results.