JCR Journal Partition MCP Server
Provides access to journal partition tables, impact factors, and warning lists from Chinese Academy of Sciences and JCR databases. Enables searching, comparing journals, analyzing partition trends, and checking journal warning status across multiple years.
README
JCR分区表MCP服务器
基于ShowJCR仓库数据的Model Context Protocol (MCP) 服务器,为大语言模型提供最新的期刊分区表查询功能。
功能特性
🔧 工具 (Tools)
- search_journal - 搜索期刊信息,包括影响因子、分区、预警状态等
- get_partition_trends - 获取期刊分区变化趋势分析
- check_warning_journals - 查询国际期刊预警名单
- compare_journals - 对比多个期刊的综合信息
📋 资源 (Resources)
- jcr://database-info - 数据库基本信息和统计
💡 提示词 (Prompts)
- journal_analysis_prompt - 期刊分析专用提示词模板
数据来源
本项目基于 ShowJCR 仓库的数据,包括:
- 中科院分区表升级版 (2025、2023、2022年)
- JCR期刊影响因子 (2024、2023、2022年)
- 国际期刊预警名单 (2025、2024、2023、2021、2020年)
- CCF推荐国际学术期刊目录 (2022年)
- 计算领域高质量科技期刊分级目录 (2022年)
安装部署
1. 环境要求
- Python 3.8+
- SQLite3
2. 安装依赖
pip install -r requirements.txt
3. 数据同步
首次运行前需要同步数据:
python data_sync.py
选择"1"同步所有数据,等待下载和导入完成。
4. 启动服务器
python jcr_mcp_server.py
客户端测试
独立测试
python test_client.py
选择模式:
- 模式1:自动测试所有功能
- 模式2:交互式查询模式
Claude Desktop集成
在Claude Desktop配置文件中添加:
{
"mcpServers": {
"jcr-partition": {
"command": "python",
"args": ["path/to/jcr_mcp_server.py"],
"cwd": "path/to/project"
}
}
}
使用示例
1. 期刊搜索
# 搜索Nature期刊
result = await session.call_tool("search_journal", {
"journal_name": "Nature"
})
2. 分区趋势分析
# 获取Science期刊分区变化趋势
result = await session.call_tool("get_partition_trends", {
"journal_name": "Science"
})
3. 期刊对比
# 对比三个顶级期刊
result = await session.call_tool("compare_journals", {
"journal_list": "Nature,Science,Cell"
})
4. 预警期刊查询
# 查询预警期刊
result = await session.call_tool("check_warning_journals", {
"keywords": "MDPI"
})
输出示例
期刊搜索结果
📚 期刊名称: NATURE
【2024年】
📊 影响因子: 64.8
🏆 分区: Q1
📖 学科类别: Multidisciplinary Sciences
【2025年】
🏆 分区: 1区
📖 学科类别: 综合性期刊
期刊对比结果
📊 期刊对比分析结果
期刊名称 最新影响因子 最新分区 预警状态
----------------------------------------
Nature 64.8 Q1 正常
Science 56.9 Q1 正常
Cell 64.5 Q1 正常
💡 投稿建议:
⭐ Nature: 顶级期刊,强烈推荐
⭐ Science: 顶级期刊,强烈推荐
⭐ Cell: 顶级期刊,强烈推荐
技术架构
数据层
- SQLite数据库存储所有分区表数据
- 支持多个年份的历史数据
- 自动数据同步和验证机制
服务层
- FastMCP框架构建MCP服务器
- 异步处理提高性能
- 完善的错误处理和日志记录
接口层
- 标准MCP协议接口
- 支持工具、资源、提示词三种类型
- 兼容各种MCP客户端
扩展说明
添加新数据源
- 在
data_sync.py中的data_sources字典添加新数据源 - 运行数据同步更新数据库
- 在
jcr_mcp_server.py中更新解析逻辑
添加新工具
- 在
jcr_mcp_server.py中使用@app.tool()装饰器 - 实现具体的查询逻辑
- 添加合适的文档字符串
部署到云端
可以将服务器部署到云平台,支持HTTP传输:
app.run(transport="streamable-http", host="0.0.0.0", port=8080)
相关链接
许可证
本项目基于MIT许可证开源。
贡献
欢迎提交Issue和Pull Request来改进这个项目!
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.