what is PubMed MCP Server?
PubMed MCP Server is a repository that provides an MCP server for searching PubMed article abstracts using BioPython's Entrez module, leveraging the FastMCP framework for asynchronous search capabilities.
how to use PubMed MCP Server?
To use the PubMed MCP Server, clone the repository, install the required dependencies, configure your Entrez email, and run the server using the provided command.
key features of PubMed MCP Server?
- Search PubMed for articles based on search terms.
- Retrieve abstracts of articles returned from PubMed.
- Asynchronous operation to avoid blocking the server.
use cases of PubMed MCP Server?
- Researchers can quickly find relevant articles on specific topics.
- Developers can integrate PubMed search functionality into their applications.
- Educators can use it to gather resources for teaching materials.
FAQ from PubMed MCP Server?
- What are the prerequisites for using the server?
You need Python 3.8 or higher, mcp[cli], and BioPython installed.
- How do I configure the MCP client?
You need to create or update a
config.json
file with the server details.
- Is the server capable of handling multiple requests?
Yes, it uses asynchronous execution to handle multiple requests efficiently.
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
-
Clone the Repository:
git clone PubMed-MCP-Server.git cd PubMed-MCP-Server
-
Install Dependencies:
You can install the required packages using uv:
uv add -r requirements.txt
-
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 is10
).
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.