Scholar Sidekick MCP

Resolva, formate e exporte citações acadêmicas de qualquer assistente de IA.

Documentação

Servidor MCP Scholar Sidekick

Servidor MCP para Scholar Sidekick — detecte citações fabricadas por IA, uma a uma ou em uma bibliografia inteira, a partir de qualquer assistente de IA. Ele também verifica o status de retratação e acesso aberto, e resolve qualquer identificador acadêmico (DOI, PMID, PMCID, ISBN, arXiv, ISSN, bibcode NASA ADS, URL WHO IRIS) em mais de 10.000 estilos CSL ou nove formatos de exportação.

Destaques

  • Detecção de fabricação de citações — verifyCitation verifica uma citação reivindicada contra o registro resolvido em seu identificador, detectando o padrão dominante de fabricação impulsionado por IA documentado por Topaz et al. (Lancet 2026) — DOI real + título inventado — que a simples resolução de identificador não consegue capturar. Explicação detalhada em scholar-sidekick.com/citation-integrity.
  • Auditoria de bibliografia completa — auditBibliography executa a mesma verificação mais uma consulta de retratação em toda uma lista de referências em uma única chamada, aceitando BibTeX bruto, RIS ou CSL JSON e retornando uma tabela de veredictos por entrada com um resumo do corpus.
  • Verificações de retratação e acesso aberto — checkRetraction revela retratações, correções e expressões de preocupação (Crossref / Retraction Watch); checkOpenAccess retorna o status de OA e a melhor URL legal de acesso ou PDF (Unpaywall). Ambos aceitam qualquer tipo de identificador e o resolvem para um DOI internamente.
  • Oito tipos de identificador prontos para uso — DOIs, PMIDs, PMCIDs, ISBNs, IDs arXiv, ISSNs, bibcodes NASA ADS e URLs WHO IRIS (raro em ferramentas de citação).
  • Resolução / formatação / exportação em lote — cada um aceita um único identificador ou uma lista separada por vírgula ou nova linha; o servidor normaliza a lista e os resolve em uma única ida e volta.
  • Mais de 10.000 estilos de citação — cinco integrados ajustados manualmente (Vancouver, AMA, APA, IEEE, CSE) mais qualquer ID de estilo CSL, com resolução de alias e estilos dependentes.
  • Nove formatos de exportação — BibTeX, RIS, CSL JSON, EndNote (XML/Refer), RefWorks, MEDLINE, Zotero RDF, CSV, texto simples.
  • Fluxo de trabalho componível — encadeie resolveIdentifier → formatCitation → exportCitation em um único prompt para um pipeline de ponta a ponta "IDs brutos → bibliografia exportável".
  • Metadados de proveniência em cada resposta — a saída formatada é seguida por um bloco de metadados (requestId, formatter, styleUsed, warnings) para que o assistente possa mostrar aos usuários qual mecanismo produziu cada citação.
  • Nenhuma chave necessária — funciona anonimamente contra a API pública do Scholar Sidekick (camada gratuita com limite de taxa); adicione uma chave ssk_ gratuita de primeira parte para limites mais altos, ou uma chave RapidAPI para camadas pagas/gerenciadas.
  • Endpoint HTTP hospedado (sem instalação) — prefere não executar um servidor stdio local? Conecte qualquer cliente MCP compatível com HTTP diretamente a https://scholar-sidekick.com/api/mcp (Streamable HTTP, mesmas 7 ferramentas). Veja Endpoint HTTP hospedado.
  • Gêmeo da API REST — os mesmos endpoints estão disponíveis como API REST do Scholar Sidekick para integrações não-MCP.

Ferramentas

FerramentaDescrição
verifyCitationVerifica uma citação reivindicada contra o registro resolvido em seu identificador. Detecta o padrão de fabricação de Topaz et al. (Lancet 2026) — DOI real + título inventado — que resolveIdentifier sozinho não consegue capturar. Retorna um de quatro veredictos (matched / mismatch / ambiguous / not_found) além de pontuações de similaridade por campo e o registro resolvido para que o usuário possa ver onde o título citado e o artigo real divergiram. Triagem opcional de LLM no Estágio 3 resgata falsos positivos de abreviações informais (somente planos pagos / autenticação de primeira parte). Uma citação por chamada.
auditBibliographyExecuta a verificação verifyCitation mais uma consulta de retratação em uma bibliografia inteira em uma única chamada. Aceita texto BibTeX bruto, RIS ou CSL-JSON, ou um array claims[] pré-analisado; retorna uma tabela de veredictos por entrada e um resumo do corpus. Limitado a 25 entradas por chamada.
resolveIdentifierResolve DOIs, PMIDs, PMCIDs, ISBNs, IDs arXiv, ISSNs, bibcodes ADS e URLs WHO IRIS para metadados bibliográficos estruturados (CSL JSON). Aceita um único identificador ou um lote separado por vírgula/nova linha.
formatCitationFormata um ou muitos identificadores em Vancouver, AMA, APA, IEEE, CSE ou qualquer um dos mais de 10.000 estilos CSL. Saída como texto, HTML ou JSON. Retorna citações formatadas mais um bloco de metadados de proveniência.
exportCitationExporta um ou muitos identificadores para BibTeX, RIS, CSL JSON, EndNote (XML/Refer), RefWorks, MEDLINE, Zotero RDF, CSV ou texto simples — pronto para gravar em disco ou entregar a um gerenciador de referências.
checkRetractionVerifica se um único trabalho foi retratado, corrigido ou recebeu uma expressão de preocupação. Com origem no Crossref updated-by (Retraction Watch). Resolve entradas DOI/PMID/PMCID/arXiv/ADS para um DOI antes da consulta. Um identificador por chamada.
checkOpenAccessVerifica se um único trabalho está acessível abertamente e onde encontrar a melhor versão legal. Com origem no Unpaywall. Retorna status de OA (gold/green/hybrid/bronze/closed), melhor URL de acesso/PDF, licença e versão. Resolve entradas DOI/PMID/PMCID/arXiv/ISBN/ADS para um DOI antes da consulta. Um identificador por chamada.

Todas as sete ferramentas são somente leitura (readOnlyHint: true, destructiveHint: false). O payload exato tools/list — descrições, JSON Schemas e anotações — está commitado como tools.json e acompanha o tarball npm, para que você possa revisar toda a superfície das ferramentas sem executar nada.

Configuração

Nenhuma chave necessária. O servidor funciona anonimamente contra a API pública do Scholar Sidekick (https://scholar-sidekick.com) em uma camada gratuita com limite de taxa — basta instalar e usar. Para aumentar seus limites, crie uma chave ssk_ gratuita de primeira parte em scholar-sidekick.com/account e defina SCHOLAR_API_KEY. Para camadas pagas/gerenciadas, assine no RapidAPI e defina RAPIDAPI_KEY (que roteia chamadas pelo gateway RapidAPI).

Prefere zero instalação? Há também um endpoint HTTP hospedado em https://scholar-sidekick.com/api/mcp (Streamable HTTP) — conecte qualquer cliente MCP compatível com HTTP diretamente, sem necessidade de npx. Veja Endpoint HTTP hospedado abaixo. O pacote stdio documentado aqui é a alternativa de instalação local (e o caminho para usuários com chave RapidAPI).

Claude Desktop

Adicione a ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) ou %APPDATA%\Claude\claude_desktop_config.json (Windows). Sem chave, sem bloco env:

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

Somente se você quiser limites de taxa mais altos, adicione um bloco env com uma chave ssk_ gratuita de scholar-sidekick.com/account:

"env": { "SCHOLAR_API_KEY": "ssk_your-first-party-key" }

Claude Code

# Anonymous (no key):
claude mcp add scholar-sidekick -- npx -y scholar-sidekick-mcp@latest

# With a free first-party key for higher limits:
claude mcp add scholar-sidekick \
  -e SCHOLAR_API_KEY=ssk_your-first-party-key \
  -- npx -y scholar-sidekick-mcp@latest

Plugin Claude Code (servidor + habilidade em uma única etapa)

Este repositório também é um marketplace de plugins do Claude Code. Instalar o plugin conecta o servidor MCP e a habilidade de agente companheira juntos — sem claude mcp add separado, sem bloco env:

/plugin marketplace add mlava/scholar-sidekick-mcp
/plugin install scholar-sidekick@scholar-sidekick

O plugin executa o servidor anonimamente (sem chave). Para limites de taxa mais altos, adicione uma chave ssk_ gratuita de scholar-sidekick.com/account via claude mcp add como mostrado acima, ou use o endpoint hospedado abaixo.

Cursor / VS Code / Windsurf

Adicione a .cursor/mcp.json ou .vscode/mcp.json. Nenhuma chave necessária:

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

Para limites de taxa mais altos, adicione "env": { "SCHOLAR_API_KEY": "ssk_your-first-party-key" }.

Executar em um contêiner (sandbox)

O servidor fala MCP via stdio e precisa apenas de HTTPS de saída para a API do Scholar Sidekick e nada mais — sem acesso ao sistema de arquivos, sem shell. Se sua política é que servidores MCP não recebam acesso ao host, construa a imagem neste repositório e execute-a isolada:

docker build -t scholar-sidekick-mcp .
{
  "mcpServers": {
    "scholar-sidekick": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "--read-only", "--cap-drop", "ALL", "--security-opt", "no-new-privileges",
        "scholar-sidekick-mcp"
      ]
    }
  }
}

-i é obrigatório — esse é o pipe stdio. Adicione "-e", "SCHOLAR_API_KEY", aos argumentos somente se você estiver passando uma chave para limites mais altos. Nenhuma imagem é publicada em um registro; construa-a localmente para executar um pacote que você mesmo compilou a partir de código-fonte que você pode ler.

Habilidade de agente (opcional)

Instale uma Habilidade de Agente companheira que ensina Claude Code, Cline e outros agentes quando e como usar essas ferramentas — ela complementa a configuração do servidor acima:

npx skills add mlava/scholar-sidekick-mcp

Endpoint HTTP hospedado (sem instalação)

Não quer executar um servidor stdio local? O Scholar Sidekick também é um MCP HTTP Streamable hospedado em https://scholar-sidekick.com/api/mcp — as mesmas sete ferramentas, sem npx, sem processo local. Funciona anonimamente (camada gratuita com limite de taxa); adicione um cabeçalho Authorization: Bearer ssk_… (uma chave gratuita de scholar-sidekick.com/account) para limites mais altos.

Aponte qualquer cliente MCP compatível com HTTP para ele:

{
  "mcpServers": {
    "scholar-sidekick": {
      "type": "http",
      "url": "https://scholar-sidekick.com/api/mcp"
    }
  }
}

No Claude Desktop, use Configurações → Conectores → Adicionar conector personalizado (ou "Adicionar servidor HTTP") e cole a URL. Adicione o token de portador no campo de cabeçalho/auth do cliente, se você tiver um.

Descoberta: /.well-known/mcp.json (cartão de servidor SEP-1649) lista este endpoint além do endpoint de Apps ChatGPT sem autenticação em /api/apps/mcp. O pacote stdio acima permanece a alternativa de instalação local e o caminho para usuários com chave RapidAPI.

Variáveis de Ambiente

VariávelObrigatóriaDescrição
SCHOLAR_API_KEYNãoChave ssk_ gratuita de primeira parte de scholar-sidekick.com/account; aumenta os limites de taxa e habilita a triagem de LLM do verificador. Enviada como Authorization: Bearer.
RAPIDAPI_KEYNãoChave de assinatura RapidAPI para camadas pagas/gerenciadas; quando definida, as chamadas são roteadas pelo gateway RapidAPI.
RAPIDAPI_HOSTNãoHost RapidAPI (padrão: scholar-sidekick.p.rapidapi.com)
SCHOLAR_SIDEKICK_URLNãoSubstitui a URL base da API (padrão: https://scholar-sidekick.com, ou o gateway RapidAPI quando RAPIDAPI_KEY está definido).
SCHOLAR_SIDEKICK_TIMEOUT_MSNãoTempo limite de solicitação em milissegundos (padrão: 30000)

Nenhuma chave → camada gratuita anônima com limite de taxa. Com SCHOLAR_API_KEY e RAPIDAPI_KEY definidos, o RapidAPI tem precedência.

Estilos de Citação Suportados

O Scholar Sidekick suporta mais de 10.000 estilos CSL, incluindo todos os principais formatos usados na publicação acadêmica:

EstiloPalavra-chave
Vancouvervancouver
APA (7ª ed.)apa
AMAama
IEEEieee
CSEcse
Chicago (autor-data)chicago-author-date
Harvardharvard-cite-them-right
MLAmodern-language-association
Turabianturabian-fullnote-bibliography
Naturenature
BMJbmj
Lancetthe-lancet

Qualquer ID de estilo CSL pode ser passado como o parâmetro style.

Exemplo de Uso

Depois de conectado, pergunte ao seu assistente de IA:

Identificador único

  • "Formate 10.1056/NEJMoa2033700 no estilo Vancouver"
  • "Resolva PMID:30049270 e exporte como BibTeX"
  • "Dê-me uma citação Chicago para arXiv:2301.08745"

Entrada em lote (separada por vírgula ou nova linha — toda ferramenta lida com isso)

  • "Formate estes como APA: 10.1056/NEJMoa2033700, PMID:30049270, ISBN:9780192854087"
  • "Resolva todos estes e diga-me quais são artigos de periódicos vs livros: 10.1056/NEJMoa2033700, ISBN:9780192854087, PMC7793608"

Fluxo de trabalho de ponta a ponta (o assistente encadeia resolveIdentifier → formatCitation → exportCitation em um único prompt)

  • "Resolva estes três identificadores, formate cada um em AMA e exporte o conjunto como BibTeX: 10.1056/NEJMoa2033700, PMID:30049270, ISBN:9780192854087"
  • "Construa-me uma bibliografia estilo Nature a partir desta lista e dê-me um arquivo .bib no final: PMID:30049270, arXiv:2301.08745, 10.1038/s41586-021-03819-2"

Verificações de retratação e acesso aberto (um identificador por chamada)

  • "O 10.1016/S0140-6736(20)31180-6 foi retratado?" → retorna isRetracted: true com o aviso de retratação e a data
  • "O artigo do NumPy (10.1038/s41586-020-2649-2) é de acesso aberto? Onde posso lê-lo gratuitamente?" → retorna o status de OA mais a melhor URL legal de PDF com licença e versão
  • "Verifique se arXiv:2301.08745 tem alguma correção ou expressão de preocupação." → resolve arXiv → DOI e depois consulta o Retraction Watch

Identificadores Suportados

  • DOIs (por exemplo, 10.1056/NEJMoa2033700)
  • IDs do PubMed (por exemplo, PMID:30049270)
  • IDs do PubMed Central (por exemplo, PMC7793608)
  • ISBNs (por exemplo, ISBN:9780192854087)
  • IDs do arXiv (por exemplo, 2301.08745)
  • ISSNs e eISSNs
  • Códigos bibcode da NASA ADS
  • URLs do WHO IRIS

Proveniência e Determinismo

Toda resposta de formatCitation e exportCitation é seguida por um bloco de metadados para que o assistente — e o usuário — possa ver exatamente qual mecanismo produziu cada citação:

  • formatter — builtin (um de Vancouver, AMA, APA, IEEE, CSE — ajustado manualmente em TypeScript) ou csl (citeproc-js com uma folha de estilo CSL).
  • styleUsed — o ID de estilo canônico após a resolução de aliases e estilos dependentes (por exemplo, solicitar harvard resolve para harvard-cite-them-right).
  • requestId — para suporte, reprodutibilidade e correlação de logs.
  • warnings — preenchido quando um fallback foi usado ou o estilo solicitado era dependente de outro.

A resolução de identificadores é determinística, dados as mesmas entradas e metadados upstream fixados. Solicitações idênticas repetidas são atendidas por cache na API REST subjacente e isso é sinalizado por meio do cabeçalho x-scholar-cache.

API REST

Para acesso programático fora de clientes MCP, as mesmas capacidades estão disponíveis como uma API REST em scholar-sidekick.com — anonimamente, com uma chave ssk_ gratuita de primeira parte (Authorization: Bearer), ou via RapidAPI para níveis pagos. Qualquer credencial que você usar aqui também funciona lá.

Desenvolvimento

npm install
npm run build    # Bundle to dist/mcp-server.mjs
npm test         # Run tests
npm run typecheck

Licença

MIT

MCP Badge M8ven Verified