Content
# JCR Partition Table MCP Server
**English** | [English](README.en.md)
[](https://opensource.org/licenses/MIT)
A Model Context Protocol (MCP) server based on the ShowJCR repository data, providing the latest journal partition table query functionality for large language models.

## Features
### 🔧 Tools
- **search_journal** - Search journal information, including impact factor, partition, warning status, etc.
- **get_partition_trends** - Get journal partition change trend analysis
- **check_warning_journals** - Query international journal warning list
- **compare_journals** - Compare comprehensive information of multiple journals
### 📋 Resources
- **jcr://database-info** - Database basic information and statistics
### 💡 Prompts
- **journal_analysis_prompt** - Journal analysis dedicated prompt word template
## Data Sources
This project is based on the data from the [ShowJCR](https://github.com/hitfyd/ShowJCR) repository, including:
- **New Journal Partition Table** (2026 version, 22299 journals + 15 important computer field conferences; warning information is embedded in "Warning Mark: Under Review" since this version)
- **CAS Partition Table Upgrade Version** (2025, 2023, 2022)
- **JCR Journal Impact Factor** (2024, 2023, 2022)
- **International Journal Warning List** (2025, 2024, 2023, 2021, 2020; upstream no longer releases separately since 2026)
- **CCF Recommended International Academic Conference and Journal Directory** (2026, 2022)
- **High-Quality Science and Technology Journal Classification Directory in Computing Field** (2025, 2022)
> 2026 version description: The `check_warning_journals` tool will scan both traditional `GJQKYJMD*` warning list and `XR2026.Warning Mark` field, covering new and old warning sources.
## Installation and Deployment
### 1. Environment Requirements
- Python **3.10+** (`mcp` SDK hard requirement)
- SQLite3 (usually comes with Python)
### 2. Install Dependencies
```bash
pip install -r requirements.txt
```
### 3. Data Synchronization
Synchronize data before running for the first time:
```bash
python data_sync.py
```
Choose "1" to synchronize all data and wait for download and import to complete.
### 4. Start Server
```bash
python jcr_mcp_server.py
```
## Client Testing
### Independent Testing
```bash
python test_client.py
```
Choose mode:
- Mode 1: Automatically test all functions
- Mode 2: Interactive query mode
### Claude Desktop Integration
Add the following to the Claude Desktop configuration file (`%APPDATA%\Claude\claude_desktop_config.json` or macOS's `~/Library/Application Support/Claude/claude_desktop_config.json`):
```json
{
"mcpServers": {
"jcr-partition": {
"command": "/path/to/python",
"args": ["/path/to/jcr_mcp_server.py"],
"cwd": "/path/to/project"
}
}
}
```
The `claude_desktop_config.json` in the repository can be used as a reference template.
### Claude Code Integration
Register using CLI (scope `user` represents global availability):
```bash
claude mcp add -s user jcr-partition -- /path/to/python /path/to/jcr_mcp_server.py
```
After registration, confirm the status using `claude mcp list`, which should display `✓ Connected`.
## Usage Examples
### 1. Journal Search
```python
# Search for Nature journal
result = await session.call_tool("search_journal", {
"journal_name": "Nature"
})
```
### 2. Partition Trend Analysis
```python
# Get Science journal partition change trend
result = await session.call_tool("get_partition_trends", {
"journal_name": "Science"
})
```
### 3. Journal Comparison
```python
# Compare three top journals
result = await session.call_tool("compare_journals", {
"journal_list": "Nature,Science,Cell"
})
```
### 4. Warning Journal Query
```python
# Query warning journals
result = await session.call_tool("check_warning_journals", {
"keywords": "MDPI"
})
```
## Output Examples
### Journal Search Result
```
📚 Journal Name: NATURE
【2024】(JCR)
📊 Impact Factor: 48.5
🏆 Partition: Q1
📖 Subject Category: MULTIDISCIPLINARY SCIENCES(SCIE)
【2025】(CAS Upgrade Version)
🏆 Partition: 1 [1/118](Top)
📖 Subject Category: Comprehensive Journals
【2026】(New Journal Partition Table)
🏆 Partition: 1 Zone(Top)
📖 Subject Category: Comprehensive Journals
```
### Journal Comparison Result
```
📊 Journal Comparison Analysis Result
Journal Name Latest Impact Factor Latest Partition Warning Status
----------------------------------------
Nature 64.8 Q1 Normal
Science 56.9 Q1 Normal
Cell 64.5 Q1 Normal
💡 Submission Suggestions:
⭐ Nature: Top journal, highly recommended
⭐ Science: Top journal, highly recommended
⭐ Cell: Top journal, highly recommended
```
## Technical Architecture
### Data Layer
- SQLite database stores all partition table data
- Supports multiple years of historical data
- Automatic data synchronization and verification mechanism
### Service Layer
- FastMCP framework builds MCP server
- Asynchronous processing improves performance
- Complete error handling and logging
### Interface Layer
- Standard MCP protocol interface
- Supports tools, resources, and prompts
- Compatible with various MCP clients
## Extension Instructions
### Add New Data Source
1. Add new data source in `data_sources` dictionary in `data_sync.py`
2. Run data synchronization to update database
3. Update parsing logic in `jcr_mcp_server.py`
### Add New Tool
1. Use `@app.tool()` decorator in `jcr_mcp_server.py`
2. Implement specific query logic
3. Add suitable docstring
### Deploy to Cloud
Deploy server to cloud platform, support HTTP transport:
```python
app.run(transport="streamable-http", host="0.0.0.0", port=8080)
```
## Related Links
- [ShowJCR Original Project](https://github.com/hitfyd/ShowJCR)
- [MCP Official Documentation](https://modelcontextprotocol.io/)
- [Claude Desktop MCP Integration Guide](https://claude.ai/docs/mcp)
## License
This project is open-sourced under the MIT license.
## Contribution
Welcome to submit issues and pull requests to improve this project!
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.
firecrawl
Firecrawl MCP Server enables web scraping, crawling, and content extraction.
Filesystem
Node.js MCP Server for filesystem operations with dynamic access control.
TrendRadar
TrendRadar: Your hotspot assistant for real news in just 30 seconds.
mempalace
The highest-scoring AI memory system ever benchmarked. And it's free.