JCR分区表MCP服务器
基于ShowJCR存储库数据的模型上下文协议(MCP)服务器,为大型语言模型提供最新的日志分区表查询功能。
 
💡 新版本:现在支持通过一键部署 uvx!无需手动安装依赖项,即用即用。 📖 升级指南:如果您从旧版本升级,请检查 MIGRATION_GUIDE.md特性
🔧 工具
- 搜索_新闻 -搜索日志信息,包括影响因子、分区、警告状态等。
- get_partition_trends -获取日志分区变化趋势分析
- 检查_学习_期刊 -查询警告列表上的国际期刊列表
- 比较期刊 -比较多个期刊的综合信息
📋 资源
- jcr://database-info -数据库基本信息和统计
💡 提示
- 日志分析 -用于日志分析的专用提示模板
数据源
该项目基于 ShowJCR 存储库,包括:
- 升级的CAS日志分区表 (2025, 2023, 2022)
- JCR期刊影响因素 (2024, 2023, 2022)
- 国际期刊警告列表 (2025, 2024, 2023, 2021, 2020)
- CCF国际学术期刊推荐目录 (2022)
- 计算机领域高质量科技期刊目录 (2022)
安装和部署
方法1:使用uvx进行部署(推荐)
uvx 是一个快速可靠的工具,用于运行Python应用程序,而无需手动安装依赖项。
1.首次同步数据
bash uvx-来自jcr-mcp-server@git+https://github.com/NormanMises/jcr_mcp.gitjcr-mcp同步
选择“1”以同步所有数据,并等待下载和导入完成。
2.启动服务器
bash uvxjcr-mcp-server@git+https://github.com/NormanMises/jcr_mcp.git
或者直接使用包名(如果发布到PyPI): bash uvx jcr mcp服务器
3.在Claude Desktop中配置
编辑Claude Desktop配置文件并添加: JSON { “mcpServers”:{ “jcr分区”:{ “命令”:“uvx”, “args”:\[jcr-mcp-server@git+https://github.com/NormanMises/jcr_mcp.git"\], “env”:{} } } }
方法2:从源代码安装
1.克隆存储库
bash 克隆https://github.com/NormanMises/jcr_mcp.git cd jcr_mcp
2.安装包装
bash pip安装-e。
3.同步数据
bash jcr-mcp同步
选择“1”以同步所有数据,并等待下载和导入完成。
4.启动服务器
bash jcr-mcp服务器
方法3:传统方法(与旧版本兼容)
1.环境要求
- Python 3.8+
- SQLite3
2.安装依赖项
bash pip安装-r要求.txt
3.同步数据
bash python数据同步.py
4.启动服务器
bash python jcr_mcpserver.py
快速测试
安装后,您可以快速验证安装是否成功:
1.测试服务器启动
bash
使用uvx
uvxjcr-mcp-server@git+https://github.com/NormanMises/jcr_mcp.git
或者使用已安装的命令
jcr-mcp服务器
或者使用python-m
python-m jcr_mcp
如果您看到启动信息,则安装成功。按 Ctrl+C 停止服务器。
2.测试数据同步
bash
使用已安装的命令
jcr-mcp同步
选择“4”退出测试界面
客户端测试
独立测试
bash python test_client.py
选择模式:
- 模式1:自动测试所有功能
- 模式2:交互式查询模式
与Claude Desktop集成
使用uvx(推荐)
将以下内容添加到Claude Desktop配置文件中: JSON { “mcpServers”:{ “jcr分区”:{ “命令”:“uvx”, “args”:\[jcr-mcp-server@git+https://github.com/NormanMises/jcr_mcp.git"\], “env”:{} } } }
使用已安装的软件包
JSON { “mcpServers”:{ “jcr分区”:{ “命令”:“jcr-mcp-server”, “args”:\[\], “env”:{} } } }####使用Python脚本(传统方法) JSON { “mcpServers”:{ “jcr分区”:{ “command”:“python”, “args”:\[“path/to/jcr_mcpserver.py”\], “cwd”:“路径/to/project” } } }
使用示例
1.期刊检索
python
搜索《自然》杂志
result=await-session.call_tool(“search_journal”{ “journal_name”:“自然” })
2.分区趋势分析
python
获取《科学》杂志的分区趋势变化
result=await-session.call_tool(“get_partition_trends”{ “journal_name”:“科学” })
3.期刊比较
python
比较三种顶级期刊
result=await-session.call_tool(“comparejournals”{ “journal_list”:“自然、科学、细胞” })
4.预警日记账查询
python
查询警告日志
result=await-session.call_tool(“check_warning_journals”{ “关键字”:“MDPI” })
输出示例
期刊搜索结果
📚 期刊名称:NATURE
\[2024\] 📊 影响系数:64.8 🏆 分区:Q1 📖 学科类别:多学科科学
\[2025\] 🏆 分区:第一层 📖 主题分类:普通期刊
日志比较结果
📊 期刊对比分析结果
日志名称最新影响因子最新分区警告状态
自然64.8 Q1正常\ 科学56.9 Q1正常\ 电池64.5 Q1正常
💡 提交建议: ⭐ Nature:顶级期刊,强烈推荐 ⭐ 科学:顶级期刊,强烈推荐\ ⭐ Cell:顶级期刊,强烈推荐
技术架构
数据层
- SQLite数据库,用于存储所有分区表数据
- 支持多年的历史数据
- 自动数据同步和验证机制
- 数据存储在用户目录中
~/.jcr_mcp/确保持久性
服务层
- 使用FastMCP框架构建的MCP服务器
- 异步处理以提高性能
- 全面的错误处理和记录
- 支持多种运行方式(uvx、pip安装、直接执行)
界面层
- 标准MCP协议接口
- 支持三种类型:工具、资源和提示
- 与各种MCP客户端兼容
扩展说明
添加新数据源
- 将新数据源添加到
data_sources字典在data_sync.py - 运行数据同步以更新数据库
- 更新中的解析逻辑
jcr_mcp_server.py
添加新工具
- 使用
@app.tool()室内装饰师jcr_mcp_server.py - 实现具体的查询逻辑
- 添加适当的文档字符串
数据存储位置
当使用uvx或已安装的软件包运行时,数据库将自动存储在用户的主目录中:
- Linux/Mac:
~/.jcr_mcp/jcr.db - 窗户:
%USERPROFILE%\.jcr_mcp\jcr.db
这确保了数据在不同的运行时环境中保持一致,不会被意外删除。
部署到云端
服务器可以部署到云平台,支持HTTP传输: python app.run(传输=“可流式传输http”,主机=“0.0.0.0”,端口=8080)
相关链接
许可证
这个项目是在MIT许可下开源的。
贡献
欢迎提交问题和拉取请求以改进此项目!
