Content
# PubMed Analysis MCP Server
> **MCP server for PubMed**: This is a newly developed project with features still being refined. Suggestions and improvements are welcome!
>
> **Note**: This is a newly developed project with features still being refined. Suggestions and improvements are welcome!
A professional MCP server for analyzing PubMed medical literature to help researchers quickly gain insights into medical research dynamics.
A professional MCP server for analyzing PubMed medical literature to help researchers quickly gain insights into medical research dynamics.
## Features / Features
- **Literature Retrieval**: Supports PubMed advanced search syntax with date filtering. / Supports PubMed advanced search syntax with date filtering.
- **Hotspot Analysis**: Analyzes keyword frequencies to identify popular research areas. / Analyzes keyword frequencies to identify popular research areas.
- **Trend Tracking**: Tracks keyword changes over time to reveal evolving research trends. / Tracks keyword changes over time to reveal evolving research trends.
- **Publication Count**: Analyzes publication volume changes with customizable time periods. / Analyzes publication volume changes with customizable time periods.
- **Comprehensive Reports**: Generates complete reports with customizable parameters. / Generates complete reports with customizable parameters.
## MCP Tools / MCP Tools
### 1. search_pubmed
Search PubMed and save results. / Search PubMed and save results.
Key parameters / Key parameters:
Generally, no need to set explicitly, communicate with large models. / Generally, no need to set explicitly, communicate with large models.
- `advanced_search`: PubMed search query (required, same as advanced search syntax) / PubMed search query (required, same as advanced search syntax)
- `start_date`: Start date (format: YYYY/MM/DD) / Start date (format: YYYY/MM/DD)
- `end_date`: End date (format: YYYY/MM/DD) / End date (format: YYYY/MM/DD)
- `max_results`: Maximum results (default: 1000) / Maximum results (default: 1000)
### 2. list_result_files
List available result files. / List available result files.
### 3. analyze_research_keywords
Analyze research hotspots and research trends. / Analyze research hotspots and research trends.
Key parameters / Key parameters:
- `top_n`: Number of keywords (default: 20) / Number of keywords (default: 20)
### 4. analyze_publication_count
Analyze publication counts. / Analyze publication counts.
### 5. generate_comprehensive_analysis
Generate comprehensive analysis. / Generate comprehensive analysis.
## Trae Example / Example for Trae
*Between us... when I use the same model, Cursor makes me feel like I'm the one not making sense. Trae, on the other hand, just gets me. Seriously great IDE!*
### Install Dependencies / Install Dependencies
Recommend using uv virtual environment. / Recommend using uv virtual environment.
uv:[访问uv repo](https://github.com/astral-sh/uv)
```bash
# pyproject.toml 目录下:
uv pip install -e .
```
### Write mcp.json
Merge the following configuration in mcp.json (for Windows):
```json
{
"mcpServers": {
"pubmearch": {
"command": "cmd",
"args": [
"/c",
"uv",
"run",
"--directory",
"path/to/project/root/directory", // The folder where the pubmearch folder is located
"-m",
"pubmearch.server"
],
"env": {
"NCBI_USER_EMAIL": "youremailaddress@email.com",
"NCBI_USER_API_KEY": "your_api_key"
}
}
}
}
```
### Get PubMed API key / Get PubMed API key
1. Log in to PubMed. / Log in to PubMed.
2. Click on your profile picture and select " Account Settings". / Click on your profile picture and select " Account Settings".
3. Scroll down to the "API Keys" section and click "Create API Key". / Scroll down to the "API Keys" section and click "Create API Key".
### LLM prompt (Agent mode)
**Use advanced search syntax**. / **Use advanced search syntax**.
- Help me analyze the research hotspots on prostate cancer immunotherapy in the past three months. The advanced search query is ((prostat*[Title/Abstract]) AND (cancer[Title/Abstract])) AND (immu*[Title/Abstract]).
- 帮我分析一下近三个月前列腺癌免疫治疗的研究热点,检索词为((prostat*[Title/Abstract]) AND (cancer[Title/Abstract])) AND (immu*[Title/Abstract]).
## Notes / Notes
- Follow NCBI usage policies. / Follow NCBI usage policies.
- Results saved in `pubmearch/results` directory, logs in `pubmed_server.log`. / Results saved in `pubmearch/results` directory, logs in `pubmed_server.log`.
- I am busy with my studies, the project may be delayed. / I am busy with my studies, the project may be delayed.
## Contributions / Contributions
Contributions are welcome via Issues or Pull Requests. / Contributions are welcome via Issues or Pull Requests.
## License / License
[MIT](https://github.com/Darkroaster/pubmearch/blob/main/LICENSE)
Connection Info
You Might Also Like
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
markitdown
Python tool for converting files and office documents to Markdown.
Filesystem
Node.js MCP Server for filesystem operations with dynamic access control.
edumcp
EDUMCP is an open protocol for AI in education, enabling interoperability...
langchainjs-mcp-adapters
Adapter for integrating the Model Context Protocol (MCP) tool with...
langchainjs-mcp-adapters
Lightweight wrapper for Model Context Protocol services in LangChain.js.