scientific-papers-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| JINA_MODEL | No | Jina embedding model | jina-embeddings-v4 |
| CHROMA_PATH | Yes | Path to ChromaDB storage directory (required) | |
| JINA_API_KEY | No | Jina API key (required if using Jina API) | |
| USE_JINA_API | No | Whether to use Jina API for embeddings | false |
| DOCUMENTS_PATH | Yes | Path to Zotero storage directory (required) | |
| RERANKER_MODEL | No | Cross-encoder reranker model | cross-encoder/ms-marco-MiniLM-L-6-v2 |
| USE_VOYAGE_API | No | Whether to use Voyage AI API for embeddings | true |
| VOYAGE_API_KEY | No | Voyage AI API key (required if using Voyage AI) | |
| EMBEDDING_MODEL | No | Local embedding model name (fallback) | Qwen/Qwen3-Embedding-0.6B |
| VOYAGE_TEXT_MODEL | No | Voyage AI text embedding model | voyage-context-3 |
| BATCH_INDEXING_SIZE | No | Batch size for indexing | 50 |
| ENABLE_DEDUPLICATION | No | Enable deduplication | true |
| VOYAGE_MULTIMODAL_MODEL | No | Voyage AI multimodal embedding model | voyage-multimodal-3 |
| ENABLE_INCREMENTAL_INDEXING | No | Enable incremental indexing | true |
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": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| searchC | Perform hybrid semantic + keyword search across research papers. |
| generate_rag_answerC | Build a RAG prompt using the reranked passages as the only context. This helper returns a cited context and a ready-to-send prompt that Claude (or any other generator) can use so that the response is evidence-backed and free of hallucinations. |
| search_fulltextC | Full text search with simplified syntax for exact matching, regex, and boolean logic. |
| search_by_authorB | Find all papers by a specific author (paginated). |
| search_by_yearB | Find papers by publication year or year range (paginated). |
| get_metadataC | Get complete metadata for a specific paper. |
| list_papersB | List indexed papers with their metadata (paginated). |
| index_zotero_libraryB | Index Zotero library with intelligent incremental updates and document chunking. Features:
|
| get_collection_statsB | Get statistics about the indexed document collection. Returns: Statistics about indexed documents and chunks |
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 9 tools
Each tool targets a distinct action or resource: general search, full-text search, author/year filtered searches, metadata retrieval, listing, RAG generation, indexing, and stats. While multiple search tools exist, their descriptions clearly differentiate their scopes and use cases, leaving no ambiguity.
Most tools follow a verb_noun snake_case pattern (e.g., get_metadata, list_papers, index_zotero_library, generate_rag_answer), with search_by_author and search_by_year adding a preposition. The bare 'search' and the slightly longer 'generate_rag_answer' are minor deviations, but overall the naming is predictable and readable.
With 9 tools, the server is well-scoped: it covers search, retrieval, indexing, and statistics without redundancy. This count is comfortably within the ideal 3–15 range and each tool appears to earn its place.
The surface covers core lifecycle operations: indexing (create/update via Zotero), searching (various modes), metadata retrieval, listing, RAG answer generation, and collection stats. A minor gap exists for explicit deletion or direct full-text retrieval of a single paper, but these are likely workable through existing tools.