mcpField
P
PubMed MCP Server

PubMed MCP Server

Local
github.com/codingasluData & Analytics2Updated 82w ago

About PubMed MCP Server

PubMed MCP Server lets MCP clients search PubMed articles by query and retrieve their abstracts. It uses BioPython Entrez and runs searches asynchronously.

Key features

  1. 01Search PubMed by query
  2. 02Retrieve article abstracts
  3. 03Run searches asynchronously

Use cases

  1. 01Find articles on a research topic
  2. 02Retrieve abstracts for search results

MCP support

Exposes a `search_pubmed` tool to MCP clients, with a query and maximum result count as parameters.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

PubMed MCP Server

This repository contains an MCP server that searches PubMed for article abstracts using BioPython's Entrez module. It leverages the FastMCP framework to provide asynchronous search capabilities for PubMed.

Features

  • Search PubMed: Query for articles based on a search term.
  • Retrieve Abstracts: Fetch abstracts of articles returned from PubMed.
  • Asynchronous Operation: Uses asynchronous execution (via asyncio.to_thread) to avoid blocking the server.

Prerequisites

  • Python 3.8 or higher
  • mcp[cli]
  • BioPython

Setup

  1. Clone the Repository:

    git clone PubMed-MCP-Server.git
    cd PubMed-MCP-Server
    
  2. Install Dependencies:

    You can install the required packages using uv:

    uv add -r requirements.txt
    
  3. Configure Entrez Email:

    Ensure you have set a valid email address in the code (in main.py):

    Entrez.email = "give an email address"
    

Running the Server

Start the PubMed MCP server by running:

uv run main.py

This command starts the server using the uv command-line tool (as specified in your configuration).

Configuring the MCP Client

To configure your MCP client to connect to the PubMed MCP server, create or update your config.json file as follows:

{
  "mcpServers": {
    "pubmed": {
      "command": "C:/Users/codingaslu/.local/bin/uv",
      "args": [
        "--directory",
        "C:/Users/codingaslu/OneDrive/Desktop/pubmed-mcp-server",
        "run",
        "main.py"
      ]
    }
  }
}
Explanation of the Configuration
  • command:
    The full path to the command-line tool used to run the MCP server (in this case, uv).

  • args:

    • --directory: Specifies the working directory where the server is located.
    • "C:/Users/aiany/OneDrive/Desktop/YT Video/pubmed-mcp-server": The path to the server's root directory.
    • "run" and "main.py": The command and entry point to start the PubMed MCP server.

Usage

Once the server is running and your MCP client is configured, you can use the provided tool:

  • Tool: search_pubmed
  • Parameters:
    • query: The search term for PubMed (default is "endocarditis").
    • max_results: Maximum number of articles to retrieve (default is 10).

Example Usage:

search_pubmed(query="endocarditis", max_results=10)

This will return a string with the abstracts of the articles separated by newlines.

License

This project is licensed under the MIT License.

You can adjust paths and details as needed for your specific setup.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.