advanced_search
Perform advanced PubMed searches with multiple criteria.
Searches PubMed properly — keyword and boolean queries, MeSH terms, related-article walks and batched detail fetches for whole reference lists.
LABSCO SUMMARY
The sequence that pays off is search, then details, then related articles — and search_mesh_terms before all of it when terminology matters, because the right Medical Subject Heading finds papers a plain keyword misses entirely. Get an NCBI API key before doing anything at volume: it takes the rate limit from 3 requests per second to 10.
An MCP server over NCBI's PubMed APIs for literature work, with caching, rate limiting and batch processing built in for volume searching.
Python 3.8 or higher. The package is published as ncbi-mcp-server with an entry point of the same name; the repository's own setup runs it from the project directory under Poetry. No credentials are strictly required, but an NCBI API key and email raise the ceiling: 3 requests per second without a key, 10 with one. Both go into a .env file alongside the server.
One command — uvx ncbi-mcp-server
USE CASES
Search the database, then pull abstracts and metadata for the results worth reading.
Find the Medical Subject Heading for the concept, then build the query around it.
Fetch the articles NCBI considers related, then read their details.
Combine the criteria with a boolean operator and a date window in one call.
Hand over all the PMIDs at once and let them be fetched in chunks.
Submit the queries together and get the result sets back in parallel.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
advanced_searchPerform advanced PubMed searches with multiple criteria.
batch_get_article_detailsFetch article details for many PMIDs efficiently in batches.
batch_search_multiple_queriesPerform multiple PubMed searches in parallel for efficiency.
cache_statsGet cache performance statistics.
clear_cacheClear expired cache entries.
get_analytics_summaryGet comprehensive analytics summary including usage stats, performance metrics, and system health.
get_article_detailsFetch detailed information for specific PubMed articles.
get_detailed_metricsGet detailed performance metrics for the specified time period (default: last 24 hours).
get_related_articlesFind articles related to a specific PubMed article.
reset_analyticsReset analytics data (use with caution - this will clear all collected metrics).
search_mesh_termsSearch Medical Subject Headings (MeSH) terms.
search_pubmedSearch PubMed database for scientific literature.
BEFORE YOU INSTALL
12 tools when we connected. batch_search_multiple_queries, batch_get_article_details and clear_cache are available but undocumented.
The documented client runs the server on your machine.
CONTEXT COST
Rated by the size of the 12 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
uvx ncbi-mcp-server{
"mcpServers": {
"ncbi-literature": {
"command": "poetry",
"args": [
"run",
"python",
"src/ncbi_mcp_server/server.py"
],
"cwd": "<YOUR_PATH_TO_NCBI_MCP_SERVER>"
}
}
}