paper-search
This server exposes one MCP tool, search_papers, that searches academic literature across multiple sources and returns deduplicated, ranked JSON results.
Free-text search across academic sources (Semantic Scholar, arXiv, PubMed, Crossref, Europe PMC, OpenReview, DBLP, OpenAlex).
Restrict search to specific sources via a comma-separated
sourcesparameter.Control result volume with
max_results_per_source.Filter by publication year using
year_fromandyear_to.Returns structured JSON output with ranked, deduplicated results.
Designed for AI agents to call directly through the MCP server.
Enables searching academic papers on arXiv, including filtering by publication year and retrieving results from this preprint server.
Enables searching computer science literature indexed by dblp, with support for year filtering and source-specific result limits.
Enables searching biomedical literature through PubMed, with result ranking and optional year filters for targeted discovery.
Enables searching academic literature via Semantic Scholar, including deduplicated and ranked results across multiple sources.
Click on "Deploy 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., "@paper-searchfind recent papers about reinforcement learning published in 2025"
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.
citekick
Agentic tools for academic paper search — a CLI and MCP server that query multiple literature sources in one shot.
Why citekick?
Finding papers usually means juggling separate APIs, rate limits, and response formats for every source. citekick unifies them behind a single interface:
Multi-source search — Query 8 sources in parallel: Semantic Scholar, arXiv, PubMed, Crossref, Europe PMC, OpenReview, DBLP, and OpenAlex.
CLI + MCP — Use it directly from your terminal (
citekick) or expose it to AI agents as an MCP server (citekick-mcp).Agent-friendly output — JSON or Markdown results, ready to be consumed by humans or LLMs.
Response caching — Built-in HTTP cache to stay polite with APIs and speed up repeated queries.
Configurable defaults — API keys, preferred sources, year ranges, and output format persisted in one TOML file.
Related MCP server: mcp-openalex
Installation
Install the citekick CLI and MCP server globally using uv:
# Install with uv (recommended)
uv tool install citekick
# Or with pip
pip install citekickCLI Usage
1. citekick search
Search academic literature across multiple sources.
citekick search "attention is all you need" # Search all default sources
citekick search "diffusion models" --sources arxiv,openalex # Restrict to specific sources
citekick search "protein folding" --year-from 2023 --format markdown
citekick search "llm agents" --max-results 20 --no-cacheTip: the
searchsubcommand is optional —citekick "query"works too.
2. citekick config
Configure API keys and default search settings in ~/.config/citekick/config.toml.
citekick config # Create an empty config file
citekick config --mailto you@example.com # Set contact email (polite-pool access)
citekick config --openalex-api-key KEY --sources arxiv,pubmedCredentials and optional contact email are read from ~/.config/citekick/config.toml. The [api] values are all optional; missing or empty values leave the corresponding source keyless.
Agent Integration
To use citekick as an MCP server, add this to your agent's MCP config:
{
"mcpServers": {
"citekick": {
"command": "citekick-mcp"
}
}
}Or using uvx (without prior installation):
{
"mcpServers": {
"citekick": {
"command": "uvx",
"args": ["--from", "citekick", "citekick-mcp"]
}
}
}Development
# Install hatch
uv tool install hatch
# Run full release check (linting, static typing with mypy, and test suite with coverage)
hatch run releaseLicense
MIT
Available Tools
1 toolsearch_papersA
Search academic literature across multiple sources, returning deduplicated and ranked results as JSON.
Args: query: Free-text search query, e.g. "Hamiltonian Monte Carlo protein design". sources: Comma-separated source names: semantic-scholar, arxiv, pubmed, crossref, europepmc, openreview, dblp, openalex. Defaults to all keyless free sources. max_results_per_source: Maximum number of results fetched per source. year_from: Only include papers published in or after this year. year_to: Only include papers published in or before this year.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| sources | No | ||
| year_to | No | ||
| year_from | No | ||
| max_results_per_source | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It mentions 'deduplicated and ranked results', 'JSON' output, and the concept of keyless sources, which hints at API key requirements. It does not explicitly mention error handling or latency, but for a search tool, this is adequate. The behavior is sufficiently described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: an opening one-sentence overview followed by a clean Args section. Each parameter is given a clear explanation. There is no extraneous information, and it is front-loaded with the key purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parametersaren and an output schema present, the description fully explains what the tool does, what each parameter means (including defaults and examples), and the output format (JSON, deduplicated, ranked). It covers behavioral aspects like source selection and default behavior. Given the output schema exists, no further details on return structure are needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only names and types (0% coverage). The description compensates fully by explaining each parameter: query (with example), sources (with list of allowed values), max_results_per_source, year_from, and year_to. It adds meaning beyond the schema, including defaults and examples, making it highly instructive for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Search academic literature across multiple sources, returning deduplicated and ranked results as JSON.' It specifies the action (search), the resource (academic literature), and the output format (JSON). Since there are no sibling tools, it doesn't need to differentiate, but it is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage context by explaining defaults (e.g., 'Defaults to all keyless free sources') and listing sources, which helps the agent decide when to call this tool. However, it lacks explicit when-not-to-use guidance or exclusion criteria, which would elevate it to 5. Still, it clearly implies the intended use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.1.0- First observed
search_papers
TDQS
Scored across 1 tool
Only one tool exists, so there is no possibility of confusion or overlap with other tools. The tool's purpose is clearly defined as searching academic literature.
With a single tool, naming consistency is trivially maintained. The name 'search_papers' follows a clear verb_noun pattern, which is a good convention.
A single tool for a paper search server is extremely thin. While the tool is comprehensive in its search capabilities, the server lacks any other functionality such as fetching paper details, managing libraries, or retrieving citations, making the count feel insufficient for a full-featured server.
The server only provides search functionality, which is a core feature but leaves obvious gaps. For a paper search server, one would expect at least a tool to fetch details of a specific paper, and possibly tools for saving or managing papers. The current surface is incomplete for a comprehensive academic literature tool.
Maintenance
Related MCP Connectors
Academic research MCP server for paper search, citation checks, graphs, and deep research.
Agentic search over your Dewey document collections from any MCP-compatible client.
MCP server for Altmetric APIs - track research attention across news, policy, social media, and more
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server enabling AI agents to search and retrieve scientific papers, citations, and author profiles from Crossref, OpenAlex, and Semantic Scholar with no API keys required.514 PyPI3MIT
- AlicenseAqualityDmaintenanceMCP server for the OpenAlex scholarly database, providing AI agents with tools to search and retrieve academic works, authors, and institutions via natural language queries.8MIT
- FlicenseNot gradedqualityDmaintenanceMCP server for academic research using the OpenAlex API, enabling article search, details retrieval, and author profile lookup.-
- AlicenseNot gradedqualityDmaintenanceAn MCP server for academic research combining local document search with Semantic Scholar API integration.MIT