Scholar Feed

Servidor MCP para pesquisar mais de 600.000 artigos de pesquisa em Ciência da Computação e IA, com gráficos de citação, texto completo, embeddings e BibTeX.

Documentação

Scholar Feed

Servidor MCP Scholar Feed

CI npm version Node License: MIT smithery badge

Busca de artigos de pesquisa com ranqueamento e rastreamento de citações, para engenharia de LLM e pesquisa acadêmica, sem sair do Claude Code, Cursor ou qualquer cliente MCP.

A maioria das ferramentas de artigos devolve uma lista plana. O Scholar Feed a ranqueia: ordene por relevância, por contagem comprovada de citações ou por impacto crescente, e então trace a linhagem de citações de qualquer artigo para frente e para trás em mais de 22 milhões de arestas. Mais de 600 mil artigos de CS/IA/ML, atualizados diariamente, cada um com um resumo gerado por LLM e uma pontuação de novidade.

Scholar Feed indexa artigos do arXiv diariamente e os ranqueia por atualidade, velocidade de citações, reputação institucional e disponibilidade de código.

Início Rápido

npx scholar-feed-mcp@latest init

Este assistente interativo irá:

  1. Opcionalmente, solicitar uma chave de API (ou pular para acesso anônimo)
  2. Detectar seu cliente MCP (Claude Code, Cursor ou Claude Desktop)
  3. Escrever a configuração e verificar a conexão

Nenhuma chave de API é necessária. O acesso anônimo oferece 200 chamadas/mês, suficientes para uma sessão típica de pesquisa. Para uma cota maior (500/mês por conta) além da sua biblioteca — coleções, artigos salvos e monitoramentos — obtenha uma chave gratuita em scholarfeed.org/settings.

Experimente perguntar: "Busque artigos recentes sobre escalonamento de computação em tempo de teste"

O Que Você Pode Fazer

Prospecção de tecnologia: "Que pesquisa nova sobre geração aumentada por recuperação foi publicada este mês?"

Revisão de literatura: "Encontre artigos semelhantes a 2401.04088 e exporte o BibTeX deles"

Monitoramento de tendências: "O que está em alta em cs.CV esta semana? Resuma os 3 principais."

Descoberta de autores: "Quem são os principais pesquisadores em inferência eficiente de LLM?"

Orientação de área: "Dê-me um relatório de orientação sobre arquiteturas esparsas de mistura de especialistas."

Instalação

O caminho mais rápido é npx scholar-feed-mcp@latest init, que detecta automaticamente seu cliente e escreve a configuração. Para configurar manualmente, cada cliente inicia o mesmo servidor stdio (npx -y scholar-feed-mcp@latest); apenas o local do arquivo de configuração e a chave de wrapper diferem.

Claude Desktop (um clique) instala sem editar nenhuma configuração: baixe o pacote .mcpb do último lançamento e abra-o (ou arraste-o para Configurações > Extensões). O instalador mostra um campo opcional para uma chave de API do Scholar Feed (sf_...): deixe em branco para o modo anônimo (200 chamadas/mês) ou cole uma chave gratuita de scholarfeed.org/settings para 500/mês.

Claude Code usa um comando de uma linha:

# 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

Qualquer outro cliente usa este bloco JSON padrão:

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

Para aumentar a cota para 500 chamadas/mês, adicione "env": { "SF_API_KEY": "sf_your_key_here" } à entrada do servidor. Obtenha uma chave gratuita em scholarfeed.org/settings.

Coloque esse bloco no arquivo de configuração correto:

ClienteArquivo de configuraçãoObservações
Cursor.cursor/mcp.json (projeto) ou ~/.cursor/mcp.json (global)Reinicie o Cursor.
Claude DesktopmacOS: ~/Library/Application Support/Claude/claude_desktop_config.json; Windows: %APPDATA%\Claude\claude_desktop_config.jsonConfigurações → Desenvolvedor → Editar Configuração e reinicie.
Windsurf~/.codeium/windsurf/mcp_config.jsonCascade → ícone MCP → Configurar e atualize.
Cline / Roo Codecline_mcp_settings.jsonÍcone da barra lateral Servidores MCP → Configurar. Cline e Roo Code compartilham este formato.
Gemini CLI~/.gemini/settings.json (ou projeto .gemini/settings.json)
LM Studio~/.lmstudio/mcp.jsonAba Programa → Instalar → Editar mcp.json. Segue a notação do Cursor.
JetBrains (PyCharm / IntelliJ)AI Assistant → MCP → Adicionar → Como JSONRequer AI Assistant 2025.1+.

Alguns clientes precisam de uma chave de wrapper ou formato de arquivo diferente:

OpenAI Codex, VS Code (GitHub Copilot), Zed, Continue e configurações com escopo de projeto

OpenAI Codex (~/.codex/config.toml, ou $CODEX_HOME/config.toml se você definir isso) usa TOML, não JSON — o bloco acima não funcionará. Um único arquivo atende tanto o CLI do Codex quanto a extensão do IDE.

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

Remova a linha env para executar sem chave com 200 chamadas/mês. No Windows, se o Codex não conseguir iniciar o servidor, use command = "cmd" com args = ["/c", "npx", "-y", "scholar-feed-mcp@latest"].

VS Code: GitHub Copilot (.vscode/mcp.json) usa uma chave servers e um type explícito, e precisa do modo agente do Copilot. Você também pode executar MCP: Add Server pela Paleta de Comandos.

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

Zed (settings.json) usa uma chave context_servers, e a linha "source": "custom" é obrigatória (sem ela, o Zed ignora silenciosamente a entrada).

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

Continue usa YAML, com mcpServers como lista, em ~/.continue/config.yaml (global) ou .continue/config.yaml (workspace).

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

Escopo de projeto (.mcp.json), para compartilhar o servidor em um repositório:

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

Windows: para qualquer configuração JSON acima, use "command": "cmd" e "args": ["/c", "npx", "-y", "scholar-feed-mcp@latest"].

O Scholar Feed é um servidor MCP stdio padrão, então qualquer outro cliente compatível com MCP funciona com o bloco padrão também.

Ferramentas Disponíveis (27)

Busca e Descoberta Principais

FerramentaDescriçãoParâmetros Principais
search_papersBusca semântica + por palavras-chave com filtros. Também faz descoberta de artigos semelhantes, busca com escopo de citações e tendências.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ém detalhes completos do artigo pelo ID do arXiv. Também lida com consulta em lote e exportação BibTeX.arxiv_ids, format, fields, verbose
get_citationsGrafo de citações (referências de saída ou citações recebidas)arxiv_id, direction, limit, fields
fetch_fulltextLê o texto de um artigo por seção (resumo, introdução, trabalho_relacionado, método, resultados, conclusão ou all). Passe arxiv_ids para ler até 8 artigos em uma única chamada; um artigo que não puder ser extraído retorna como uma entrada com falha, não como uma chamada com falha.arxiv_id, arxiv_ids, sections

Autores

FerramentaDescriçãoParâmetros Principais
find_authorEncontra pesquisadores por consulta de tópico/nome, ou recupera um perfil por ID.q, id, field, limit
co_author_graphVizinhança de coautoria para um autorauthor_ids, window_years

Embeddings

FerramentaDescriçãoParâmetros Principais
embed_textObtém um embedding Gemini de 768 dimensões para texto (para HyDE e similaridade personalizada). Somente Pro, então chamadas anônimas/gratuitas recebem um 403 pro_required.text, task_type

Pesquisa

FerramentaDescriçãoParâmetros Principais
get_field_orientationOrientação de recuperação barata para uma área de pesquisa: principais artigos, subcampos, problemas em aberto. Sem cota Pro.topic, limit
get_foundational_lineageTrabalho fundamental para o nicho de um artigo via grafo de citações (consenso-depois-elevação): raízes_do_nicho → nível_de_campo → disciplina, com evidência cited_by_in_niche. Revela âncoras canônicas que a busca semântica não encontra. Sem cota Pro.anchor_paper_id, scope, generality_ceiling, limit
check_drift"O método que uso está superado — e por quê?" Recibos de crítica + arestas de dominância de benchmark em ~10 famílias de problemas de construtores de LLM. Sem cota Pro.family, method, limit

Biblioteca, Coleções, Monitoramentos e Análise de Lacunas (exigem SF_API_KEY)

Estas MUTAM ou leem a conta do usuário autenticado. As ferramentas principais de leitura/busca acima funcionam anonimamente; estas precisam de uma chave.

FerramentaDescriçãoParâmetros Principais
save_paperAdiciona um artigo à sua biblioteca (idempotente; alimenta a personalização).arxiv_id
unsave_paperRemove um artigo da sua biblioteca (idempotente).arxiv_id
like_paperSinal de calibração "mais como este" para o feed Para Você (somente inserção).arxiv_id
list_libraryLista seus artigos salvos, mais recentes primeiro (inclui suas anotações).limit, page
annotate_paperRegistra seu veredito sobre um artigo — por que ele importa, quando usá-lo, por que você o descartou. Upsert; retornado por list_library, então é o que uma sessão posterior lê em vez de rederivar.arxiv_id, note_text, action
list_collectionsLista coleções com contagens de artigos.(nenhum)
create_collectionCria uma coleção nomeada (obter-ou-criar; sem erro em duplicata).name
add_to_collectionAdiciona um artigo a uma coleção por nome ou id (também salva automaticamente).arxiv_id, collection_name, collection_id
remove_from_collectionRemove um artigo de uma coleção (permanece salvo).arxiv_id, collection_name, collection_id
create_watchBusca salva avaliada diariamente; obter-ou-criar por nome. Defina-a com um filtro estruturado criteria (recomendado) ou um único seletor de semente.name, novelty_min, criteria, recency_days, q, collection_name, collection_id, anchor_paper_id, scope_to_citations_of, author_id, category
list_watchesLista monitoramentos com resumo, last_evaluated_at e pending_hits.(nenhum)
check_watchesPuxa novas correspondências desde o último resumo (somente leitura, idempotente).watch_name, watch_id, limit
update_watchEdita um monitoramento no lugar: renomear, alterar novelty_min ou redirecionar seu criteria estruturado (limpa correspondências pendentes). Enderece por nome ou id.name, watch_id, new_name, novelty_min, criteria, recency_days
preview_watchTeste seco de um filtro estruturado criteria sobre artigos recentes sem criar um monitoramento; retorna match_count e um sample para ajustar antes de salvar. Somente leitura.criteria, recency_days
delete_watchExclui um monitoramento por nome ou id (idempotente).name, watch_id
find_gaps"O que estou perdendo?" para uma coleção ou tópico: trabalho fundamental + de fronteira que você não salvou (somente leitura, Pro).collection_name, collection_id, topic, scope, limit
ask_library"Responda do meu conjunto salvo": uma síntese citada sobre sua biblioteca ou uma coleção, fundamentada apenas em artigos que você salvou (somente leitura). O inverso de find_gaps. Grátis 20/mês, depois Pro 200/dia.question, collection_name, collection_id, limit

Pontuação de Novidade

Cada artigo tem um llm_novelty_score de 0,0 a 1,0:

FaixaSignificadoExemplo
0,7+Mudança de paradigma ou SOTA amploNova arquitetura que muda o campo
0,5-0,7Método novo com resultados fortesNova técnica de treinamento com ganhos claros
0,3-0,5Melhoria incrementalAplicar método conhecido a novo domínio
<0,3Levantamento, conjunto de dados ou extensão menorRevisão de literatura, lançamento de benchmark

Use novelty_min: 0.5 em search_papers para filtrar trabalho genuinamente novo.

Limites de Taxa

EndpointLimite
search_papers30/min
get_paper30/min
get_citations30/min
fetch_fulltext (artigo único)10/min
fetch_fulltext (lote, 2-8 artigos)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

As respostas incluem os cabeçalhos X-RateLimit-Limit, X-RateLimit-Remaining e X-RateLimit-Reset.

Cota mensal de volume (separada dos limites por minuto acima, contada por conta em todas as suas chaves): 200 chamadas/mês anônimas (por IP), 500/mês com chave gratuita, 10.000/mês no Pro. Um limite diário menor (100 / 200 / 2.000) fica abaixo disso como proteção contra picos, para que um loop descontrolado não consuma um mês em uma hora; atingi-lo retorna um 429 com scope: "burst" e não afeta sua cota mensal. Consulte seu saldo mensal restante em GET /v1/health (monthly_limit / usage_this_month) antes de um lote.

As ferramentas de síntese com IA têm seus próprios limites: ask_library é 20/mês grátis, depois 200/dia no Pro; find_gaps é somente Pro (um 403 pro_required caso contrário). embed_text exige uma conta de qualquer nível — chamadas anônimas recebem um 403 account_required.

Exemplo de Resposta

search_papers com q: "attention mechanism" retorna:

{
  "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=="
}

Passe next_cursor de volta para obter a próxima página (paginação por chave, que é mais estável que números de página para grandes conjuntos de resultados).

Variáveis de Ambiente

VariávelObrigatóriaPadrãoDescrição
SF_API_KEYNão(nenhum)Sua chave de API do Scholar Feed (começa com sf_). Sem ela, opera em modo anônimo (200 chamadas/mês).
SF_API_BASE_URLNãoURL de produçãoSubstitui a URL base da API

Desenvolvimento

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

Contribuindo

Consulte CONTRIBUTING.md para diretrizes.

Solução de Problemas

"Falha na autenticação: sua SF_API_KEY é inválida" A chave pode ter sido revogada. Gere uma nova em scholarfeed.org/settings. Ou remova a chave para usar o modo anônimo.

"Limite de taxa excedido" ou "Limite diário anônimo excedido" O modo anônimo permite 200 chamadas/mês. Obtenha uma chave de API gratuita em scholarfeed.org/settings para 500 chamadas/mês por conta, além da sua biblioteca.

O servidor aparece como "falhou" sem erro — especialmente logo após uma atualização O primeiro lançamento (e o primeiro lançamento após cada nova versão) faz npx baixar o pacote. O binário publicado é um único arquivo autocontido, sem árvore de dependências para resolver, então isso é rápido — mas em uma conexão lenta pode exceder o tempo limite de inicialização do seu cliente, e o servidor então aparece como "falhou" sem detalhes. Correções: (1) aqueça o cache executando-o uma vez em um terminal — npx -y scholar-feed-mcp@latest --version — e reinicie o cliente; (2) aumente o tempo limite de inicialização do MCP se o seu cliente suportar (Claude Code: MCP_TIMEOUT=60000). Para inicializações mais rápidas e offline, instale uma vez globalmente e aponte a configuração para ele em vez de npx:

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

Chamadas de ferramentas expiram ou falham silenciosamente Garanta que o Node.js 18+ esteja instalado (node --version). Versões mais antigas não possuem a API nativa fetch.

Cache npx desatualizado Os blocos de configuração acima fixam scholar-feed-mcp@latest, que re-resolve a versão mais recente a cada inicialização. Se você usou anteriormente um scholar-feed-mcp sem fixação e está preso em uma versão antiga: npx --yes scholar-feed-mcp@latest.

Windows: "comando não encontrado" Use "command": "cmd" com "args": ["/c", "npx", "-y", "scholar-feed-mcp@latest"] na sua configuração do MCP.

Sobre o Scholar Feed

Scholar Feed é um mecanismo de descoberta de pesquisa para artigos de ciência da computação e IA/ML, fundado em 2025. Ele indexa mais de 600.000 artigos do arXiv — classificados por novidade, velocidade de citação e relevância — com resumos gerados por LLM, um grafo de citações, perfis de autores e extração de texto completo. Está disponível como site, API REST pública e servidor Model Context Protocol (MCP) que agentes de IA podem chamar diretamente. Este pacote (scholar-feed-mcp) é o servidor MCP de código aberto.

Privacidade

Consulte nossa política de privacidade.

Licença

MIT