Scholar Engine MCP

Compilador semántico de literatura científica de alta velocidad y servidor FastMCP impulsado por arXiv, OpenAlex, consultas de rango HTTP de DuckDB y TypeSafe Jev System One.

Documentación

Scholar Engine MCP 🔬⚡

Compilador Semántico de Literatura Científica de Alta Velocidad y Servidor FastMCP
Impulsado por arXiv, OpenAlex, consultas de rango HTTP de DuckDB y TypeSafe Jev System One.

License: MIT Python 3.10+ FastMCP Powered by Jev


💡 ¿Por qué Scholar Engine?

La Generación Aumentada por Recuperación (RAG) tradicional se basa en similitud vectorial densa (cos(query, chunk)). La similitud vectorial es excelente para responder "¿qué texto se parece a mi consulta?", pero falla fundamentalmente en preguntas científicas estructurales y empíricas, como:

"¿Qué artículo publicado demostró experimentalmente la reducción de latencia cargada en hardware inalámbrico fijo real sin requerir Wi-Fi 6 PHY?"

La búsqueda vectorial devolverá docenas de artículos llenos de ecuaciones de simulación o encuestas teóricas que simplemente mencionan "inalámbrico" y "latencia" miles de veces.

Scholar Engine replantea el descubrimiento científico para agentes de IA combinando:

  1. Cero Inflado de Almacenamiento: Consulta directamente el conjunto de datos Parquet de 3.15M arxiv-complete de Hugging Face usando consultas de rango HTTP de DuckDB. Sin necesidad de descargar un corpus de PDF de 16 TB.
  2. Enriquecimiento del Grafo de Citas: Obtiene instantáneamente métricas de citas y grafos de autores a través de OpenAlex.
  3. Compuertas Semánticas Probabilísticas (Jev System One): Las preguntas en lenguaje natural se compilan en predicados probabilísticos persistentes de 154ms (por ejemplo, P_real_hardware > 0.85, P_empirical > 0.75).
  4. Caché de Predicados Materializados: Los predicados evaluados se almacenan en mapas de bits SQLite para que las ejecuciones posteriores reutilicen juicios pasados con costo de inferencia cero.
  5. Doble Compuerta Jev (Pre-RAG y Post-RAG):
    • Pre-RAG: Descarta artículos no empíricos o irrelevantes antes de leer el texto completo.
    • Post-RAG: Verifica cada afirmación sintetizada por el agente de razonamiento contra pasajes de evidencia extraídos (supported, partial, unsupported, contradicted).

📊 Matriz de Comparación

CaracterísticaScholar MCPArXiv MCP TradicionalPaperQA2Elicit / Consensus
Interfaz PrincipalServidor FastMCP LocalMCP localBiblioteca Python / CLIAplicación Web / SaaS Cerrado
Velocidad de BúsquedaSub-segundo a ~3s~1-2s30s - 90s~5s
Costo por Consulta<$0.001 (o $0 simulación)Gratis (API con límite de tasa)$1.00 - $5.00+ / ejecuciónSuscripción Mensual
Acceso a LaTeX de Texto CompletoSí (Rango HTTP DuckDB)❌ (Solo resumen)Sí (Descarga PDFs completos)Índice Propietario
Filtrado Semántico por PredicadosSí (Jev System One)❌ Ninguno❌ NingunoFiltros heurísticos
Caché de Mapas de Bits de PredicadosSí (SQLite)❌ Ninguno❌ Ninguno❌ Ninguno
Verificación Afirmación-EvidenciaSí (Verificador Post-RAG)❌ NingunoSí (Bucle LLM pesado)Puntuación simple
Soporte de Herramientas para AgentesClaude, Cursor, Codex, AGYParcial❌ Ninguno❌ Ninguno

🏛️ Arquitectura

flowchart TD
    subgraph INGESTION["1. Zero-Storage Discovery"]
        ARXIV["arXiv Atom API (Search & Metadata)"]
        OPENALEX["OpenAlex Graph API (Citations & Authors)"]
        HF["Hugging Face arxiv-complete (3.15M Papers)"]
        DUCKDB["DuckDB HTTP Range Scanner (Targeted LaTeX fetch)"]
        HF --> DUCKDB
    end

    subgraph ENGINE["2. Scholar Semantic Engine"]
        DISCOVER["Candidate Retrieval Engine"]
        ARXIV --> DISCOVER
        OPENALEX --> DISCOVER
        DUCKDB --> DISCOVER

        subgraph GATES["Jev System One Gates"]
            PRE_RAG["Pre-RAG Gate (P_empirical, P_applicable)"]
            POST_RAG["Post-RAG Verifier (Claim vs Evidence)"]
            PRED_CACHE[("SQLite Predicate Cache & Bitmaps")]
        end

        DISCOVER --> PRE_RAG
        PRE_RAG <--> PRED_CACHE
        PRE_RAG --> POST_RAG
        POST_RAG <--> PRED_CACHE
    end

    subgraph MCP_INTERFACE["3. FastMCP Server Interface"]
        TOOL_SEARCH["scholar_search (Fast paper discovery)"]
        TOOL_INSPECT["scholar_inspect (Deep paper metrics & OpenAlex)"]
        TOOL_RESEARCH["scholar_research (Full autonomous loop)"]
    end

    ENGINE --> MCP_INTERFACE
    MCP_INTERFACE --> CLIENTS["AI Agents: Claude Desktop, Cursor, Codex, Antigravity"]

🚀 Inicio Rápido

1. Instalación

# Clone the repository
git clone https://github.com/wolverin0/scholar-mcp.git
cd scholar-mcp

# Install dependencies (or install in a virtual environment)
pip install -e .

2. Configuración (.env)

Copia .env.example a .env:

cp .env.example .env
# Optional: TypeSafe Jev API Key for live 154ms System One probabilistic decisions
# If unset, Scholar Engine automatically runs in high-fidelity deterministic simulation mode!
TYPESAFE_API_KEY=your_typesafe_key_here

3. Ejecutar Pruebas

Verifica que todo funcione localmente:

pytest -v

🤖 Configuración del Servidor MCP

Agrega Scholar Engine a tus herramientas de agentes favoritas:

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "scholar": {
      "command": "python",
      "args": ["-m", "scholar.mcp.server"],
      "env": {
        "TYPESAFE_API_KEY": "your_key_here"
      }
    }
  }
}

Cursor (.cursor/mcp.json)

{
  "mcpServers": {
    "scholar": {
      "command": "python",
      "args": ["-m", "scholar.mcp.server"]
    }
  }
}

Antigravity / Wezbridge (.mcp.json)

{
  "mcpServers": {
    "scholar": {
      "type": "stdio",
      "command": "python",
      "args": ["-m", "scholar.mcp.server"]
    }
  }
}


🛠️ Referencia de Herramientas FastMCP

1. scholar_search

Busca rápidamente en arXiv artículos científicos por tema, palabra clave o título, con filtrado opcional por año de publicación.

  • Argumentos:
    • query (str): Tema o palabras clave de búsqueda (por ejemplo, "loaded latency wifi").
    • limit (int, predeterminado=5): Número de candidatos a devolver.
    • year_min (int, opcional): Año mínimo de publicación (por ejemplo, 2022).
    • year_max (int, opcional): Año máximo de publicación (por ejemplo, 2026).
  • Devuelve: Lista JSON estructurada de IDs, títulos, categorías, resúmenes y enlaces PDF.

2. scholar_inspect

Inspecciona un artículo en detalle por su ID de arXiv. Combina métricas de citas de OpenAlex, autores y predicados semánticos almacenados.

  • Argumentos:
    • paper_id (str): ID de artículo de arXiv (por ejemplo, "2007.07174" o "2306.04338").
  • Devuelve: Resumen completo, categorías, conteos de citas, DOI, ID de OpenAlex y características semánticas en caché.

3. scholar_verify_claim

Verifica una afirmación empírica o científica contra el resumen/texto completo de un artículo específico. Extrae el pasaje de evidencia más relevante con desplazamientos de caracteres exactos (start_char, end_char, source_field, doc_id).

  • Argumentos:
    • claim (str): Proposición empírica específica (por ejemplo, "Method achieves sub-5ms latency under load").
    • paper_id (str): ID del artículo contra el cual verificar.
  • Devuelve: Estado (supported, contradicted, unsupported), puntuación de probabilidad, fuente de procedencia (live vs heuristic) y tramos de evidencia exactos con desplazamientos de caracteres.

4. scholar_verify_predicate

Evalúa directamente una proposición booleana o probabilística contra cualquier estado o pasaje de texto usando la semántica TypeSafe Jev System One.

  • Argumentos:
    • state_text (str): Evidencia o pasaje de texto a evaluar.
    • question (str): Pregunta de proposición (por ejemplo, "Does this passage report an in-vivo experiment?").
  • Devuelve: Probabilidad en [0.0, 1.0], latencia en ms y procedencia (live vs heuristic).

5. scholar_research

Bucle de descubrimiento científico autónomo:

  1. Descubre candidatos en arXiv.
  2. Ejecuta el guardián semántico Jev System One para filtrar artículos no empíricos o incompatibles.
  3. Resuelve grafos de citas y verifica afirmaciones contra texto de evidencia con tramos exactos.
  • Argumentos:
    • query (str): Pregunta de investigación o tema de ingeniería.
    • domain (str, predeterminado="general"): Pista de dominio (por ejemplo, "wireless", "databases", "ai").
    • threshold (float, predeterminado=0.50): Puntuación de probabilidad mínima requerida para pasar las compuertas semánticas.
    • limit (int, predeterminado=10): Máximo de candidatos a evaluar.
  • Devuelve: Artículos sobrevivientes respaldados por evidencia con métricas de confianza, tramos de evidencia exactos y desglose de auditoría de los descartados.

🏛️ Consenso Arquitectónico de IA de Tres Modelos (Claude, Codex, Gemini)

La arquitectura v1.1 de Scholar Engine fue refinada y auditada a través de un debate estructurado de IA de 3 rondas entre las familias de LLM de frontera:

  • Anthropic Claude (Fable 5.1 / nivel Opus): Seguridad de sistemas, seguimiento de caracteres a nivel de tramo y arnés de regresión CI.
  • OpenAI Codex (GPT 6 Astra / nivel Codex): Pipeline de verificación de 3 etapas (Retrieval -> Extraction -> Assessment), seguridad MCP acotada y aislamiento de parámetros.
  • Google Gemini (Gemini 3.8 Flash / nivel Gemini 2.5): Facetas de metadatos sensibles al contexto, pistas de auditoría para retractaciones y resiliencia multi-modelo.

Lee los registros completos sin editar del debate y la hoja de ruta arquitectónica:


🧪 Arnés de Evaluación CI y Suite de Pruebas

Scholar Engine incluye un arnés de evaluación integral de 50 puntos de referencia en tests/test_eval_harness.py:

  • Integridad de Desplazamiento de Tramos: Verifica que los tramos de evidencia extraídos coincidan con rebanadas de cadena exactas en los documentos fuente.
  • Detección de Contradicciones: Prueba la refutación activa y la detección de negación.
  • Abstención por Evidencia Insuficiente: Valida que artículos no relacionados produzcan abstenciones en lugar de falsos positivos.
  • Resiliencia Adversarial: Prueba la resistencia contra inyección de prompts en texto académico no confiable (por ejemplo, instrucciones que intentan anular umbrales de verificación).
  • Demarcación de Procedencia: Garantiza que cada afirmación declare explícitamente su fuente (API live vs respaldo heuristic).

Ejecuta la suite de pruebas completa:

python -m pytest tests -v

💻 Uso desde CLI

También puedes usar Scholar Engine directamente desde tu terminal:

# Search arXiv papers
scholar search "neural network verification" --limit 5

# Inspect a paper with OpenAlex citation metrics
scholar inspect "1711.00455"

# Run the autonomous semantic research loop
scholar research "wireless loaded latency scheduler" --threshold 0.50 --limit 10

📄 Licencia

Licencia MIT. Consulta LICENSE para más detalles.