JCR Partition Table
Provides up-to-date journal partition table queries based on ShowJCR data.
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来改进这个项目!
相关服务器
Finance MCP Server
Provides real-time financial data from Yahoo Finance.
Google Directory by CData
A read-only MCP server for querying live Google Directory data using the CData JDBC Driver.
Drug Gene Interaction Database (DGIdb)
A bridge to the Drug Gene Interaction Database (DGIdb) API, enabling AI clients to query drug-gene interaction data.
mcp-clickhousex
A read-only MCP server for ClickHouse that supports metadata discovery, parameterized queries, and query analysis.
Sefaria Jewish Library MCP Server
Provides access to Jewish texts from the Sefaria library.
MCP-MySQL-Ops
You are working with the MCP MySQL Operations Server, a powerful tool that provides comprehensive MySQL database monitoring and analysis capabilities through natural language queries. This server offers 19 specialized tools for database administration, performance monitoring, and system analysis.
OpenGov MCP Server
Access Socrata Open Data APIs from government data portals.
CData API Driver MCP Server
A read-only MCP server for querying live data from various APIs using the CData JDBC Driver for API Driver.
Postgres MCP Server
Provides secure database access to PostgreSQL using the Kysely ORM.
Databricks MCP Server by CData
A read-only MCP server for Databricks, enabling LLMs to query live data without writing SQL.