Research MCP Server
Search and analyze academic papers from arXiv, providing tools for fetching top papers by query, ranking by relevance, extracting key sentences and keywords, and generating citations.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Research MCP ServerFind recent papers on reinforcement learning and summarize the top 3"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Research MCP Server
A local, rule-based research assistant for searching and analyzing academic papers from arXiv. No API keys, no LLM calls — just Python standard libraries, the arxiv package, FastMCP for the MCP server, and keyword-frequency heuristics.
Available as both a CLI tool and a Model Context Protocol (MCP) server for Cursor, Claude Desktop, and other MCP clients.
Features
Module | Description |
Search | Fetch top N papers from arXiv by query |
Ranking | Score papers by query-word frequency in title + abstract |
Smart Summary | Pick the 2 most query-relevant sentences (no AI) |
Keyword Extraction | Top 5 unique keywords (length > 6, stopwords removed) |
Citation Generator |
|
Logging | INFO-level logging via Python |
Validation | Query length and empty-input checks |
Empty Results | Graceful handling when no papers match |
Related MCP server: paper-mcp
Project Structure
mcp_server_paper/
├── research.py # Core engine (search, rank, summarize, keywords, citations)
├── main.py # CLI entry point
├── mcp_server.py # MCP server (stdio transport)
├── requirements.txt # Python dependencies
├── tests/
│ ├── test_research.py # Unit tests (mocked, no network)
│ └── test_integration.py # CLI + MCP tool integration tests
└── README.mdRequirements
Python 3.10+
Internet connection (for arXiv fetch only)
Dependencies:
arxiv,fastmcp,pytest(seerequirements.txt)
Installation
git clone <your-repo-url>
cd mcp_server_paper
pip install -r requirements.txtCLI Usage
Search arXiv and print formatted results:
python main.py --query "AI agents"Options:
Flag | Description | Default |
| Search query (required) | — |
| Number of papers to fetch |
|
Example:
python main.py --query "transformer attention" --max-results 3Example Output
🔍 Query: AI agents
📊 Total papers found: 5
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📄 Paper 1: A cybersecurity AI agent selection and decision support framework
🧠 Summary:
This paper presents a novel, structured decision support framework...
🔑 Keywords:
framework, cybersecurity, learning, standards, industry
📚 Citation:
Masike Malatji (2025). A cybersecurity AI agent selection and decision support framework.
🔗 Link:
http://arxiv.org/abs/2510.01751v1
━━━━━━━━━━━━━━━━━━━━━━━━━━━━MCP Server Usage
The MCP server exposes paper search and analysis as tools over stdio transport, compatible with Cursor and Claude Desktop.
Start the server manually
python mcp_server.pyThe server reads JSON-RPC from stdin and writes responses to stdout. Do not print debug output to stdout when running in MCP mode — logs go to stderr.
Configure in Cursor
Add to your Cursor MCP settings (Settings → MCP → Add new global MCP server or edit ~/.cursor/mcp.json):
{
"mcpServers": {
"research-papers": {
"command": "python",
"args": ["C:/mcp_server_paper/mcp_server.py"]
}
}
}Use the absolute path to mcp_server.py on your machine.
Configure in Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"research-papers": {
"command": "python",
"args": ["/absolute/path/to/mcp_server_paper/mcp_server.py"]
}
}
}Available MCP Tools
Tool | Description |
| Full pipeline: search arXiv, rank, summarize, extract keywords, generate citations |
| Extract top 2 query-relevant sentences from arbitrary text |
| Extract top N keywords from text using rule-based filtering |
| Generate a bibliographic citation from authors, year, and title |
Tool: search_papers
query: str — Search terms (e.g. "AI agents")
max_results: int — Papers to fetch (default 5, max 20)Returns formatted text with all paper details.
Tool: summarize_text
text: str — Source text (e.g. abstract)
query: str — Query terms for relevance scoringTool: get_keywords
text: str — Source text
top_n: int — Number of keywords (default 5)Tool: create_citation
authors: list[str] — Author names
year: str — Publication year
title: str — Paper titleHow It Works
1. Search (search_arxiv)
Queries the arXiv API via the arxiv Python library, fetching title, authors, published year, abstract, and link for each result.
2. Ranking (rank_papers)
Tokenizes the query into words and counts how often each word appears in title + summary. Papers are sorted descending by total score.
3. Smart Summary (smart_summary)
Splits the abstract into sentences, scores each sentence by query-word presence, and returns the top 2.
4. Keyword Extraction (extract_keywords)
Removes punctuation
Keeps words with length > 6
Filters a manually defined stopword set
Returns the top 5 by frequency
5. Citation Generator (generate_citation)
Formats: Author1, Author2, and Author3 (2025). Paper Title.
Testing
Install dependencies, then run the full test suite:
pip install -r requirements.txt
pytest tests/ -vTest coverage
File | What it tests |
| Unit tests for ranking, summarization, keywords, citations, validation (mocked arXiv — no network) |
| CLI subprocess tests (live arXiv) + MCP tool function tests |
Run only fast unit tests (no network):
pytest tests/test_research.py -vRun live integration tests (requires network):
pytest tests/test_integration.py -vArchitecture
flowchart TD
CLI[main.py CLI] --> RE[research.py]
MCP[mcp_server.py MCP] --> RE
RE --> ARXIV[arXiv API]
RE --> RANK[rank_papers]
RE --> SUM[smart_summary]
RE --> KW[extract_keywords]
RE --> CITE[generate_citation]Both entry points share the same research.py engine. The CLI prints formatted output to stdout; the MCP server returns the same formatted strings as tool results over stdio JSON-RPC.
Constraints
No OpenAI or external AI APIs
No transformers or ML models
No API keys required
Everything runs locally except the arXiv network fetch
License
MIT (or your preferred license)
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityAmaintenanceA local-first MCP server that analyzes research papers, maps citation graphs, and surfaces insights with verbatim-verified contradictions, all while keeping data private on your machine.Last updated1MIT
- FlicenseAqualityCmaintenanceA local MCP server for searching and reading arXiv papers, enabling paper search, retrieval, and summarization through Claude.Last updated6
- Alicense-qualityBmaintenanceA local-first paper RAG server that enables searching and managing academic PDFs via MCP tools, supporting metadata enrichment and citation graphs.Last updated1MIT
- Flicense-qualityBmaintenanceMCP server for scientific literature retrieval and summarization. Enables search, fetch, summarize, and translate arXiv papers, with subscription-based daily digests and integration with Obsidian and Telegram.Last updated
Related MCP Connectors
Academic research MCP server for paper search, citation checks, graphs, and deep research.
Local-first RAG engine with MCP server for AI agent integration.
Search arXiv/Semantic Scholar/OpenAlex + medical evidence (PubMed/Europe PMC) + LaTeX/PDF tools.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Ankit-lama/Newspaper_MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server