logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

ncbi-biomed-data-retriever

Interface for querying and obtaining biomedical literature, research articles, and associated metadata from the NCBI PubMed database. Features include robust search capabilities, parallel processing for batches, and access to open-access full texts and abstracts.

Author

ncbi-biomed-data-retriever logo

t0mst0ne

No License

Quick Info

GitHub GitHub Stars 0
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

pubmedsearchesabstractsretrieval abstractspapers pubmedbiomedical literature

NCBI PubMed Data Access Utility (Enhanced)

smithery badge

This optimized Python utility facilitates efficient interaction with the PubMed E-utilities via MCP. It incorporates support for API keys to maximize throughput and remove download restrictions.

Validation Status

[Certified by MCP Review: https://mcpreview.com/mcp-servers/t0mst0ne/pubmed-mcp-easy]

Core Capabilities

  • Execute searches against the PubMed repository for scholarly articles.
  • Identify topologically related records: similar entries, citing publications, and references cited by a source paper.
  • Fetch article abstracts and full content for materials designated as open access.
  • Support for advanced query construction and high-throughput batch submissions.
  • API key integration enables elevated access rates and unrestricted data retrieval.

API Key and Contact Information Configuration

NCBI mandates the inclusion of an API key and a valid email address with requests submitted to the E-utilities, offering significant operational advantages:

  • Increased Throughput: Permitted requests jump to 10 per second, up from the default 3.
  • Expanded Payload Size: Maximum results per operation increases to 200, compared to 100 previously.
  • Service Prioritization: Requests benefit from better queuing.

API Key Procurement Steps

  1. Establish an NCBI credential set: [https://www.ncbi.nlm.nih.gov/account/]
  2. Navigate to the API Key Administration section.
  3. Generate a new, unique API credential.

Implementation of Credentials

The recommended setup method utilizes the provided interactive provisioning script:

bash python setup_api.py

This script automates the configuration process and presents several setup pathways.

Alternatively, manual configuration can be achieved through these three methods:

1. Environment Variables

bash export NCBI_API_KEY=your_api_key_here export NCBI_EMAIL=your_email@example.com

2. Direct Command Line Parameters

bash python python-pubmed-mcp-enhanced.py --api-key your_api_key_here --email your_email@example.com

3. Local Configuration File

Replicate the template file:

bash cp config.json.example config.json

Modify config.json to incorporate your credentials:

{ "api_key": "your_api_key_here", "email": "your_email@example.com" }

Initiate the service, referencing the configuration:

bash python python-pubmed-mcp-enhanced.py --config config.json

Operational Instructions

Installation via Smithery Framework

To automatically incorporate this utility into Claude Desktop via Smithery:

bash npx -y @smithery/cli install @t0mst0ne/pubmed-mcp-easy --client claude

Standard Execution

Start the local service endpoint:

bash python python-pubmed-mcp-enhanced.py

Claude Desktop Integration Settings

To enable seamless access within Claude Desktop, append the following structure to your claude_desktop_config.json:

"pubmed-easy": { "command": "/opt/anaconda3/bin/python", "args": [ "/GITHUB_cloned_dir/pubmed-mcp-easy/python-pubmed-mcp-enhanced.py", "--config", "config.json" ] }

Ensure the following prerequisites are met: 1. Substitute /opt/anaconda3/bin/python with the precise path to your Python interpreter. 2. Replace /GITHUB_cloned_dir with the actual directory structure where the repository resides. 3. Verify that config.json exists and contains the required API key and email, as previously detailed.

Upon configuration completion, the PubMed tools will be directly callable within the Claude Desktop environment.

Exposed MCP Functions

The server exposes the following specific functionality endpoints:

  • pubmed_search: Keyword or query-based article retrieval.
  • pubmed_similar: Locates articles sharing high similarity scores.
  • pubmed_cites: Retrieves the bibliography (cited papers) for a given identifier.
  • pubmed_cited_by: Finds all publications that reference a specific paper.
  • pubmed_abstract: Fetches the summary text for an identifier.
  • pubmed_open_access: Determines the open-access status of a record.
  • pubmed_full_text: Downloads the complete document for open-access entries.
  • pubmed_batch_search: Executes multiple search operations concurrently.
  • pubmed_author_search: Filters records based on specified author names.
  • pubmed_advanced_search: Executes detailed searches using field specifications.
  • pubmed_journal_search: Targets articles published within a designated journal.

Critical Usage Advisories

  1. NCBI strongly recommends providing an email address for request troubleshooting and communication.
  2. For high-volume requests directed at the E-utilities, NCBI advises scheduling intensive operations for weekends or during off-peak hours (9 PM to 5 AM Eastern Time on weekdays).
  3. Maintain responsible usage practices and strictly adhere to all stipulated NCBI operational policies.

WIKIPEDIA CONTEXT: XMLHttpRequest (XHR) is an essential API implemented as a JavaScript object, enabling HTTP requests to be sent from a web browser to a server. Its methods permit client-side applications to communicate with the server post-page load and receive resultant data. XHR is fundamental to Ajax programming paradigms. Prior to its advent, server interaction primarily relied on traditional hyperlinks and form submissions, which typically necessitated a full-page reload. The conceptual foundation for XMLHttpRequest emerged in 2000 from Microsoft Outlook developers and was first actualized in Internet Explorer 5 (1999), utilizing proprietary identifiers like ActiveXObject("Msxml2.XMLHTTP"). By Internet Explorer 7 (2006), the standardized XMLHttpRequest identifier became universally adopted across major browser engines, including Gecko (Mozilla, 2002), Safari 1.2 (2004), and Opera 8.0 (2005). The W3C formalized the specification in 2006, with Level 2 enhancements (progress monitoring, cross-site functionality, byte stream handling) being merged back into the primary specification in 2011. WHATWG assumed maintenance responsibilities in 2012, utilizing Web IDL for ongoing development.

See Also

`