Scholarly MCP Server for Academic Article Search
Search scholarly and academic articles on our MCP server for fast, precise results with advanced filters and citation tools.
npx -y @adityak74/mcp-scholarlyOverview
The Scholarly MCP Server is a lightweight Model Context Protocol (MCP) server that provides programmatic search and retrieval of scholarly and academic articles. It exposes a simple API for full-text and metadata searches, supports advanced filtering (author, year, venue, DOI, etc.), and can produce formatted citations. The server is intended for developers who want to add fast, precise academic search into research tooling, web apps, or LLM-assisted literature workflows.
Because it follows an MCP-style integration pattern, the server can be used as a source of structured context for generative models or as a standalone search service. Typical uses include powering literature search widgets, supplying context windows for document-aware models, and exporting results in common citation formats (e.g., APA, BibTeX).
Features
- Full-text and metadata search across scholarly content
- Advanced filters: author, year range, venue/conference/journal, DOI, keywords
- Relevance/sort options and pagination
- Citation generation in multiple formats (APA, MLA, BibTeX)
- Result highlighting and snippets for matched terms
- Stable IDs and direct PDF/DOI links in results
- Minimal REST API designed for easy MCP integration
- Basic security via API keys and configurable CORS
- Exportable search results (JSON, CSV, BibTeX)
Installation / Configuration
Requirements: Python 3.8+ and pip (example assumes a Python-based server). Adjust commands if the project uses a different runtime.
Clone the repository:
Create and activate a virtual environment, then install dependencies:
Create a .env file or set environment variables for configuration (example variables):
# .env
MCP_PORT=8080
DATABASE_URL=sqlite:///data/scholarly.db
API_KEY=replace-with-your-secret
CORS_ORIGINS=*
RESULTS_PER_PAGE=20
Run the server (example using Uvicorn for an ASGI app):
If you use Docker, a typical workflow may look like:
Tip: Configure your data source (local index, SQL/NoSQL DB, or external index) via DATABASE_URL or a dedicated INDEX_PATH in the config. The server supports plugging in a pre-built index for faster search.
Available Tools / Resources
The server exposes a concise set of HTTP endpoints useful for integration and MCP-style context retrieval. Example endpoints:
- GET /health — basic health check
- POST /search — primary search endpoint
- GET /articles/{id} — retrieve complete metadata and links for an article
- POST /cite — generate citations for a list of article IDs
- GET /suggest — keyword/author suggestions for typeahead
Example request to /search:
Typical search response structure:
Parameter reference (short):
| Parameter | Type | Description |
|---|---|---|
| q | string | Query string (keywords, phrases) |
| filters | object | author, year_from, year_to, venue, doi |
| sort | string | relevance, newest, oldest |
| page | int | Page number (1-based) |
| per_page | int | Results per page |
Use Cases
Researcher literature search
- A web UI calls POST /search with a query and year range to quickly find relevant papers, showing snippets and PDF links so the researcher can triage results.
LLM-augmented literature review
- An LLM assistant asks the MCP server for top-10 context passages for a topic (POST /search with per_page=10), then uses returned snippets and metadata as context in a summarization prompt.
Automated citation export
- A citation tool sends a list of article IDs to POST /cite and receives formatted entries in BibTeX or APA to attach to a manuscript.
Building an academic discovery widget
- Integrate /suggest for typeahead author and keyword suggestions, then query /search to populate results with filters and downloads.
Getting Help and Contributing
- Source code and issues: https://github.com/adityak74/mcp-scholarly
- When reporting issues, include sample queries, configuration, and logs if the server fails to start.
- Contributions that improve indexing, add new citation formats, or extend MCP compatibility are welcomed.
This server is intended as a developer-friendly building block for academic search and context provisioning. Adapt the configuration and index to match your corpus size and operational needs.