JCR Partition Table

Proporciona consultas actualizadas de la tabla de partición de revistas basadas en datos de ShowJCR.

Documentación

Servidor MCP de tabla de particiones JCR

简体中文 | English

License: MIT

Servidor de Protocolo de Contexto de Modelo (MCP) basado en los datos del repositorio ShowJCR, que proporciona a los modelos de lenguaje grandes la función de consulta de la tabla de particiones de revistas más reciente.

在 Claude 中使用 jcr-partition MCP 查询期刊分区示例

Características

🔧 Herramientas (Tools)

  • search_journal - Busca información de revistas, incluidos factor de impacto, partición, estado de alerta, etc.
  • get_partition_trends - Obtiene el análisis de tendencias de cambios de partición de revistas
  • check_warning_journals - Consulta la lista de alertas de revistas internacionales
  • compare_journals - Compara la información completa de varias revistas

📋 Recursos (Resources)

  • jcr://database-info - Información básica y estadísticas de la base de datos

💡 Prompts

  • journal_analysis_prompt - Plantilla de prompt especializada para análisis de revistas

Fuente de datos

Este proyecto se basa en los datos del repositorio ShowJCR, que incluye:

  • Tabla de particiones de revistas emergentes (edición 2026, 22 299 revistas + 15 conferencias importantes en el campo de la informática; desde esta edición, la información de alerta está integrada como «Marca de alerta: Under Review»)
  • Edición mejorada de la tabla de particiones de la Academia China de Ciencias (2025, 2023, 2022)
  • Factor de impacto JCR de revistas (2024, 2023, 2022)
  • Lista de alertas de revistas internacionales (2025, 2024, 2023, 2021, 2020; el proveedor upstream dejó de publicarla por separado a partir de 2026)
  • Directorio de conferencias académicas internacionales y revistas recomendadas por CCF (2026, 2022)
  • Directorio de clasificación de revistas científicas y tecnológicas de alta calidad en el campo de la computación (2025, 2022)

Nota sobre la versión 2026: la herramienta check_warning_journals escanea simultáneamente la tabla de alertas tradicional GJQKYJMD* y el campo XR2026.预警标记, cubriendo las dos fuentes de alertas, la antigua y la nueva.

Instalación e implementación

1. Requisitos del entorno

  • Python 3.10+ (requisito estricto del SDK mcp)
  • SQLite3 (generalmente incluido con Python)

2. Instalación de dependencias

pip install -r requirements.txt

3. Sincronización de datos

Antes de la primera ejecución, es necesario sincronizar los datos:

python data_sync.py

Seleccione «1» para sincronizar todos los datos y espere a que finalice la descarga e importación.

4. Iniciar el servidor

python jcr_mcp_server.py

Pruebas con clientes

Prueba independiente

python test_client.py

Seleccione el modo:

  • Modo 1: prueba automática de todas las funciones
  • Modo 2: modo de consulta interactiva

Integración con Claude Desktop

En el archivo de configuración de Claude Desktop (%APPDATA%\Claude\claude_desktop_config.json o ~/Library/Application Support/Claude/claude_desktop_config.json en macOS), agregue:

{
  "mcpServers": {
    "jcr-partition": {
      "command": "/path/to/python",
      "args": ["/path/to/jcr_mcp_server.py"],
      "cwd": "/path/to/project"
    }
  }
}

El archivo claude_desktop_config.json del repositorio puede servir como plantilla de referencia.

Integración con Claude Code

Regístrelo en una sola línea mediante CLI (el ámbito user representa disponibilidad global):

claude mcp add -s user jcr-partition -- /path/to/python /path/to/jcr_mcp_server.py

Después del registro, puede confirmar el estado mediante claude mcp list; debería mostrar ✓ Connected.

Ejemplos de uso

1. Búsqueda de revistas

# 搜索Nature期刊
result = await session.call_tool("search_journal", {
    "journal_name": "Nature"
})

2. Análisis de tendencias de partición

# 获取Science期刊分区变化趋势
result = await session.call_tool("get_partition_trends", {
    "journal_name": "Science"
})

3. Comparación de revistas

# 对比三个顶级期刊
result = await session.call_tool("compare_journals", {
    "journal_list": "Nature,Science,Cell"
})

4. Consulta de revistas en alerta

# 查询预警期刊
result = await session.call_tool("check_warning_journals", {
    "keywords": "MDPI"
})

Ejemplos de salida

Resultado de búsqueda de revistas

📚 期刊名称: NATURE

【2024年】(JCR)
  📊 影响因子: 48.5
  🏆 分区: Q1
  📖 学科类别: MULTIDISCIPLINARY SCIENCES(SCIE)

【2025年】(中科院升级版)
  🏆 分区: 1 [1/118](Top)
  📖 学科类别: 综合性期刊

【2026年】(新锐期刊分区表)
  🏆 分区: 1 区(Top)
  📖 学科类别: 综合性期刊

Resultado de comparación de revistas

📊 期刊对比分析结果

期刊名称                    最新影响因子      最新分区        预警状态       
----------------------------------------
Nature                    64.8           Q1             正常          
Science                   56.9           Q1             正常          
Cell                      64.5           Q1             正常          

💡 投稿建议:
  ⭐ Nature: 顶级期刊,强烈推荐
  ⭐ Science: 顶级期刊,强烈推荐  
  ⭐ Cell: 顶级期刊,强烈推荐

Arquitectura técnica

Capa de datos

  • Base de datos SQLite que almacena todos los datos de las tablas de partición
  • Compatibilidad con datos históricos de múltiples años
  • Mecanismo automático de sincronización y validación de datos

Capa de servicio

  • Servidor MCP construido con el framework FastMCP
  • Procesamiento asíncrono para mejorar el rendimiento
  • Manejo completo de errores y registro de actividad

Capa de interfaz

  • Interfaz estándar del protocolo MCP
  • Compatibilidad con tres tipos: herramientas, recursos y prompts
  • Compatible con varios clientes MCP

Notas de extensión

Agregar nuevas fuentes de datos

  1. Agregue la nueva fuente de datos al diccionario data_sources en data_sync.py
  2. Ejecute la sincronización de datos para actualizar la base de datos
  3. Actualice la lógica de análisis en jcr_mcp_server.py

Agregar nuevas herramientas

  1. Utilice el decorador @app.tool() en jcr_mcp_server.py
  2. Implemente la lógica de consulta específica
  3. Agregue la cadena de documentación adecuada

Implementación en la nube

Puede implementar el servidor en una plataforma en la nube con soporte de transporte HTTP:

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

Enlaces relacionados

Licencia

Este proyecto está bajo la licencia de código abierto MIT.

Contribuciones

¡Le invitamos a enviar Issues y Pull Requests para mejorar este proyecto!