Skip to main content
Glama
yosh3289

JCR Journal Partition MCP Server

by yosh3289

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客户端

扩展说明

添加新数据源

  1. data_sync.py中的data_sources字典添加新数据源

  2. 运行数据同步更新数据库

  3. jcr_mcp_server.py中更新解析逻辑

添加新工具

  1. jcr_mcp_server.py中使用@app.tool()装饰器

  2. 实现具体的查询逻辑

  3. 添加合适的文档字符串

部署到云端

可以将服务器部署到云平台,支持HTTP传输:

app.run(transport="streamable-http", host="0.0.0.0", port=8080)

相关链接

许可证

本项目基于MIT许可证开源。

贡献

欢迎提交Issue和Pull Request来改进这个项目!

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yosh3289/jcr_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server