Scholar Feed

Servidor MCP para buscar más de 600,000 artículos de investigación en CS/AI con gráficos de citas, texto completo, embeddings y BibTeX.

Documentación

Scholar Feed

Servidor MCP de Scholar Feed

CI npm version Node License: MIT smithery badge

Búsqueda de artículos de investigación con ranking y seguimiento de citas, para ingeniería de LLM e investigación académica, sin salir de Claude Code, Cursor ni ningún cliente MCP.

La mayoría de las herramientas de artículos devuelven una lista plana. Scholar Feed la clasifica: ordena por relevancia, por número de citas comprobado o por impacto creciente, y luego rastrea el linaje de citas de cualquier artículo hacia adelante y hacia atrás a través de más de 22 millones de aristas. Más de 600 mil artículos de CS/IA/ML, actualizados diariamente, cada uno con un resumen generado por LLM y una puntuación de novedad.

Scholar Feed indexa artículos de arXiv diariamente y los clasifica según actualidad, velocidad de citación, reputación institucional y disponibilidad de código.

Inicio rápido

npx scholar-feed-mcp@latest init

Este asistente interactivo:

  1. Opcionalmente solicita una clave de API (u omítela para acceso anónimo)
  2. Detecta tu cliente MCP (Claude Code, Cursor o Claude Desktop)
  3. Escribe la configuración y verifica la conexión

No se requiere clave de API. El acceso anónimo te da 200 llamadas/mes, suficiente para una sesión de investigación típica. Para una cuota mayor (500/mes por cuenta) más tu biblioteca (colecciones, artículos guardados y seguimientos), obtén una clave gratuita en scholarfeed.org/settings.

Prueba preguntando: "Busca artículos recientes sobre escalado de cómputo en tiempo de prueba"

Lo que puedes hacer

Exploración tecnológica: "¿Qué investigación novedosa sobre generación aumentada por recuperación se publicó este mes?"

Revisión de literatura: "Encuentra artículos similares a 2401.04088 y exporta su BibTeX"

Monitoreo de tendencias: "¿Qué está en tendencia en cs.CV esta semana? Resume los 3 principales."

Descubrimiento de autores: "¿Quiénes son los principales investigadores en inferencia eficiente de LLM?"

Orientación de campo: "Dame un informe de orientación sobre arquitecturas dispersas de mezcla de expertos."

Instalación

El camino más rápido es npx scholar-feed-mcp@latest init, que detecta automáticamente tu cliente y escribe la configuración. Para configurarlo manualmente, cada cliente lanza el mismo servidor stdio (npx -y scholar-feed-mcp@latest); solo difieren la ubicación del archivo de configuración y la clave contenedora.

Claude Desktop (un clic) se instala sin editar ninguna configuración: descarga el paquete .mcpb desde la última versión y ábrelo (o arrástralo a Configuración > Extensiones). El instalador muestra un campo opcional para la clave de API de Scholar Feed (sf_...): déjalo en blanco para modo anónimo (200 llamadas/mes) o pega una clave gratuita de scholarfeed.org/settings para 500/mes.

Claude Code requiere un comando de una línea:

# Anonymous (200 calls/month)
claude mcp add scholar-feed -- npx -y scholar-feed-mcp@latest

# With an API key (500 calls/month per account)
claude mcp add scholar-feed -e SF_API_KEY=sf_your_key_here -- npx -y scholar-feed-mcp@latest

Cualquier otro cliente usa este bloque JSON estándar:

{
  "mcpServers": {
    "scholar-feed": {
      "command": "npx",
      "args": ["-y", "scholar-feed-mcp@latest"]
    }
  }
}

Para aumentar la cuota a 500 llamadas/mes, agrega "env": { "SF_API_KEY": "sf_your_key_here" } a la entrada del servidor. Obtén una clave gratuita en scholarfeed.org/settings.

Coloca ese bloque en el archivo de configuración correcto:

ClienteArchivo de configuraciónNotas
Cursor.cursor/mcp.json (proyecto) o ~/.cursor/mcp.json (global)Reinicia Cursor.
Claude DesktopmacOS: ~/Library/Application Support/Claude/claude_desktop_config.json; Windows: %APPDATA%\Claude\claude_desktop_config.jsonConfiguración → Desarrollador → Editar configuración, luego reinicia.
Windsurf~/.codeium/windsurf/mcp_config.jsonCascade → ícono MCP → Configurar, luego actualiza.
Cline / Roo Codecline_mcp_settings.jsonÍcono de la barra lateral Servidores MCP → Configurar. Cline y Roo Code comparten este formato.
Gemini CLI~/.gemini/settings.json (o proyecto .gemini/settings.json)
LM Studio~/.lmstudio/mcp.jsonPestaña Programa → Instalar → Editar mcp.json. Sigue la notación de Cursor.
JetBrains (PyCharm / IntelliJ)AI Assistant → MCP → Agregar → Como JSONRequiere AI Assistant 2025.1+.

Algunos clientes necesitan una clave contenedora o formato de archivo diferente:

OpenAI Codex, VS Code (GitHub Copilot), Zed, Continue y configuraciones a nivel de proyecto

OpenAI Codex (~/.codex/config.toml, o $CODEX_HOME/config.toml si lo configuras) usa TOML, no JSON — el bloque anterior no funcionará. Un solo archivo sirve tanto para la CLI de Codex como para la extensión del IDE.

[mcp_servers.scholar-feed]
command = "npx"
args = ["-y", "scholar-feed-mcp@latest"]
env = { SF_API_KEY = "sf_your_key_here" }

Elimina la línea env para ejecutar sin clave a 200 llamadas/mes. En Windows, si Codex no puede lanzar el servidor, usa command = "cmd" con args = ["/c", "npx", "-y", "scholar-feed-mcp@latest"].

VS Code: GitHub Copilot (.vscode/mcp.json) usa una clave servers y un type explícito, y necesita el modo agente de Copilot. También puedes ejecutar MCP: Add Server desde la Paleta de comandos.

{
  "servers": {
    "scholar-feed": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "scholar-feed-mcp@latest"]
    }
  }
}

Zed (settings.json) usa una clave context_servers, y la línea "source": "custom" es obligatoria (sin ella, Zed omite silenciosamente la entrada).

{
  "context_servers": {
    "scholar-feed": {
      "source": "custom",
      "command": "npx",
      "args": ["-y", "scholar-feed-mcp@latest"]
    }
  }
}

Continue usa YAML, con mcpServers como lista, en ~/.continue/config.yaml (global) o .continue/config.yaml (espacio de trabajo).

mcpServers:
  - name: scholar-feed
    type: stdio
    command: npx
    args:
      - "-y"
      - scholar-feed-mcp@latest

A nivel de proyecto (.mcp.json), para compartir el servidor en un repositorio:

{
  "mcpServers": {
    "scholar-feed": {
      "command": "npx",
      "args": ["-y", "scholar-feed-mcp@latest"],
      "env": { "SF_API_KEY": "${SF_API_KEY}" }
    }
  }
}

Windows: para cualquier configuración JSON anterior, usa "command": "cmd" y "args": ["/c", "npx", "-y", "scholar-feed-mcp@latest"].

Scholar Feed es un servidor MCP stdio estándar, por lo que cualquier otro cliente compatible con MCP también funciona con el bloque estándar.

Herramientas disponibles (27)

Búsqueda y descubrimiento principales

HerramientaDescripciónParámetros clave
search_papersBúsqueda semántica + por palabras clave con filtros. También permite descubrimiento de artículos similares, búsqueda limitada por citas y tendencias.q, category, novelty_min, days, sort, anchor_paper_id, scope_to_citations_of, mode, method_category, task, dataset, contribution_type, task_category, cursor, limit
get_paperObtén detalles completos de un artículo por ID de arXiv. También maneja consultas por lotes y exportación BibTeX.arxiv_ids, format, fields, verbose
get_citationsGrafo de citas (referencias salientes o citas entrantes)arxiv_id, direction, limit, fields
fetch_fulltextLee el texto de un artículo por sección (resumen, introducción, trabajo_relacionado, método, resultados, conclusión o all). Pasa arxiv_ids para leer hasta 8 artículos en una sola llamada; un artículo que no se pueda extraer regresa como entrada fallida, no como llamada fallida.arxiv_id, arxiv_ids, sections

Autores

HerramientaDescripciónParámetros clave
find_authorEncuentra investigadores por consulta de tema/nombre, u obtén un perfil por ID.q, id, field, limit
co_author_graphVecindario de coautoría para un autorauthor_ids, window_years

Incrustaciones (Embeddings)

HerramientaDescripciónParámetros clave
embed_textObtén una incrustación Gemini de 768 dimensiones para texto (para HyDE y similitud personalizada). Solo Pro, por lo que los usuarios anónimos/gratuitos reciben un 403 pro_required.text, task_type

Investigación

HerramientaDescripciónParámetros clave
get_field_orientationOrientación de recuperación económica para un área de investigación: artículos principales, subcampos, problemas abiertos. Sin cuota Pro.topic, limit
get_foundational_lineageTrabajo fundacional para el nicho de un artículo mediante el grafo de citas (consenso-luego-elevación): raíces_del_nicho → nivel_de_campo → disciplina, con evidencia cited_by_in_niche. Superficies anclas canónicas que la búsqueda semántica pasa por alto. Sin cuota Pro.anchor_paper_id, scope, generality_ceiling, limit
check_drift"¿El método que uso está superado — y por qué?" Recibos de crítica + aristas de dominancia de benchmarks en ~10 familias de problemas de constructores de LLM. Sin cuota Pro.family, method, limit

Biblioteca, colecciones, seguimientos y análisis de brechas (requieren SF_API_KEY)

Estas MUTAN o leen la cuenta autenticada del usuario. Las herramientas principales de lectura/búsqueda anteriores funcionan de forma anónima; estas necesitan una clave.

HerramientaDescripciónParámetros clave
save_paperMarca un artículo en tu biblioteca (idempotente; alimenta la personalización).arxiv_id
unsave_paperElimina un artículo de tu biblioteca (idempotente).arxiv_id
like_paperSeñal de calibración "más como esto" para el feed Para ti (solo inserción).arxiv_id
list_libraryLista tus artículos guardados, más recientes primero (incluye tus notas).limit, page
annotate_paperRegistra tu veredicto sobre un artículo — por qué importa, cuándo usarlo, por qué lo descartaste. Se actualiza; lo devuelve list_library, por lo que es lo que una sesión posterior lee en lugar de volver a derivarlo.arxiv_id, note_text, action
list_collectionsLista colecciones con recuentos de artículos.(ninguno)
create_collectionCrea una colección con nombre (obtener-o-crear; sin error en duplicados).name
add_to_collectionAgrega un artículo a una colección por nombre o ID (también guarda automáticamente).arxiv_id, collection_name, collection_id
remove_from_collectionElimina un artículo de una colección (permanece guardado).arxiv_id, collection_name, collection_id
create_watchBúsqueda guardada evaluada diariamente; obtener-o-crear por nombre. Defínela con un filtro estructurado criteria (recomendado) o un selector semilla único.name, novelty_min, criteria, recency_days, q, collection_name, collection_id, anchor_paper_id, scope_to_citations_of, author_id, category
list_watchesLista seguimientos con resumen, last_evaluated_at y pending_hits.(ninguno)
check_watchesObtén nuevas coincidencias desde el último resumen (solo lectura, idempotente).watch_name, watch_id, limit
update_watchEdita un seguimiento en su lugar: renombra, cambia novelty_min o redirige su criteria estructurado (borra coincidencias pendientes). Dirígete por nombre o ID.name, watch_id, new_name, novelty_min, criteria, recency_days
preview_watchPrueba un filtro estructurado criteria sobre artículos recientes sin crear un seguimiento; devuelve match_count y un sample para ajustar antes de guardar. Solo lectura.criteria, recency_days
delete_watchElimina un seguimiento por nombre o ID (idempotente).name, watch_id
find_gaps"¿Qué me estoy perdiendo?" para una colección o tema: trabajo fundacional + de frontera que no has guardado (solo lectura, Pro).collection_name, collection_id, topic, scope, limit
ask_library"Responde desde mi conjunto guardado": una síntesis citada sobre tu biblioteca o una colección, basada únicamente en artículos que has guardado (solo lectura). Lo inverso de find_gaps. Gratis 20/mes, luego Pro 200/día.question, collection_name, collection_id, limit

Puntuación de novedad

Cada artículo tiene un llm_novelty_score de 0.0 a 1.0:

RangoSignificadoEjemplo
0.7+Cambio de paradigma o SOTA amplioNueva arquitectura que cambia el campo
0.5-0.7Método novedoso con resultados sólidosNueva técnica de entrenamiento con mejoras claras
0.3-0.5Mejora incrementalAplicar un método conocido a un nuevo dominio
<0.3Encuesta, conjunto de datos o extensión menorRevisión de literatura, lanzamiento de benchmark

Usa novelty_min: 0.5 en search_papers para filtrar trabajo genuinamente novedoso.

Límites de tasa

EndpointLímite
search_papers30/min
get_paper30/min
get_citations30/min
fetch_fulltext (artículo individual)10/min
fetch_fulltext (lote, 2-8 artículos)6/min
find_author20/min
co_author_graph20/min
embed_text30/min
get_field_orientation20/min
get_foundational_lineage20/min
find_gaps20/min
ask_library10/min

Las respuestas incluyen los encabezados X-RateLimit-Limit, X-RateLimit-Remaining y X-RateLimit-Reset.

Cuota de volumen mensual (separada de los límites por minuto anteriores, contada por cuenta en todas tus claves): 200 llamadas/mes anónimo (por IP), 500/mes con una clave gratuita, 10,000/mes en Pro. Un límite diario más pequeño (100 / 200 / 2,000) se encuentra debajo como protección contra ráfagas para que un bucle descontrolado no pueda gastar un mes en una hora; alcanzarlo devuelve un 429 con scope: "burst" y deja tu cuota mensual intacta. Consulta tu mes restante desde GET /v1/health (monthly_limit / usage_this_month) antes de un lote.

Las herramientas de síntesis de IA tienen sus propios límites: ask_library es 20/mes gratis, luego 200/día en Pro; find_gaps es solo Pro (un 403 pro_required de lo contrario). embed_text necesita una cuenta de cualquier nivel — los llamadores anónimos reciben un 403 account_required.

Ejemplo de Respuesta

search_papers con q: "attention mechanism" devuelve:

{
  "papers": [
    {
      "arxiv_id": "2401.04088",
      "title": "Attention Is All You Need (But Not All You Get)",
      "authors": ["A. Researcher", "B. Scientist"],
      "year": 2024,
      "categories": ["cs.LG", "cs.AI"],
      "primary_category": "cs.LG",
      "arxiv_url": "https://arxiv.org/abs/2401.04088",
      "has_code": true,
      "github_url": "https://github.com/example/repo",
      "citation_count": 42,
      "rank_score": 0.73,
      "llm_summary": "Proposes a sparse attention variant that reduces compute by 60% while matching dense attention accuracy on 5 benchmarks.",
      "llm_novelty_score": 0.55
    }
  ],
  "total": 1847,
  "page": 1,
  "limit": 20,
  "next_cursor": "eyJzIjogMC43MywgImlkIjogIjI0MDEuMDQwODgifQ=="
}

Pasa next_cursor de vuelta para obtener la siguiente página (paginación por conjunto de claves, que es más estable que los números de página para conjuntos de resultados grandes).

Variables de Entorno

VariableRequeridaPredeterminadoDescripción
SF_API_KEYNo(ninguna)Tu clave de API de Scholar Feed (comienza con sf_). Sin ella, se ejecuta en modo anónimo (200 llamadas/mes).
SF_API_BASE_URLNoURL de producciónAnula la URL base de la API

Desarrollo

npm install
npm run build      # Build to build/
npm run dev        # Watch mode
npm run typecheck  # Type check without emitting
npm test           # Run tests

Contribuciones

Consulta CONTRIBUTING.md para las pautas.

Solución de Problemas

"Authentication failed: your SF_API_KEY is invalid" La clave puede haber sido revocada. Genera una nueva en scholarfeed.org/settings. O elimina la clave para usar el modo anónimo.

"Rate limit exceeded" o "Anonymous daily limit exceeded" El modo anónimo permite 200 llamadas/mes. Obtén una clave de API gratuita en scholarfeed.org/settings para 500 llamadas/mes por cuenta, además de tu biblioteca.

El servidor se muestra como "failed" sin error — especialmente justo después de una actualización El primer lanzamiento (y el primer lanzamiento después de cada nueva versión) hace que npx descargue el paquete. El binario publicado es un único archivo autocontenido sin árbol de dependencias que resolver, por lo que esto es rápido — pero en un enlace lento aún puede superar el tiempo de espera de inicio de tu cliente, y el servidor se muestra como "failed" sin detalle. Soluciones: (1) calienta la caché ejecutándolo una vez en una terminal — npx -y scholar-feed-mcp@latest --version — luego reinicia tu cliente; (2) aumenta el tiempo de espera de inicio de MCP si tu cliente lo admite (Claude Code: MCP_TIMEOUT=60000). Para los lanzamientos más rápidos y sin conexión, instala una vez globalmente y apunta la configuración a él en lugar de npx:

npm install -g scholar-feed-mcp
# then in your MCP config:  "command": "scholar-feed-mcp", "args": []

Las llamadas a herramientas se agotan o fallan silenciosamente Asegúrate de que Node.js 18+ esté instalado (node --version). Las versiones anteriores carecen de la API nativa fetch.

Caché de npx obsoleta Las configuraciones de bloque anteriores fijan scholar-feed-mcp@latest, que vuelve a resolver la versión más reciente en cada lanzamiento. Si anteriormente usaste un scholar-feed-mcp sin fijar y estás atascado en una versión antigua: npx --yes scholar-feed-mcp@latest.

Windows: "command not found" Usa "command": "cmd" con "args": ["/c", "npx", "-y", "scholar-feed-mcp@latest"] en tu configuración de MCP.

Acerca de Scholar Feed

Scholar Feed es un motor de descubrimiento de investigación para ciencias de la computación y artículos de IA/ML, fundado en 2025. Indexa más de 600,000 artículos de arXiv — clasificados por novedad, velocidad de citas y relevancia — con resúmenes generados por LLM, un grafo de citas, perfiles de autores y extracción de texto completo. Está disponible como sitio web, API REST pública y servidor de Protocolo de Contexto de Modelo (MCP) que los agentes de IA pueden llamar directamente. Este paquete (scholar-feed-mcp) es el servidor MCP de código abierto.

Privacidad

Consulta nuestra política de privacidad.

Licencia

MIT