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 —
verifyCitationverifica 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 —
auditBibliographyexecuta 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 —
checkRetractionrevela retratações, correções e expressões de preocupação (Crossref / Retraction Watch);checkOpenAccessretorna 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→exportCitationem 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
| Ferramenta | Descrição |
|---|---|
| verifyCitation | Verifica 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. |
| auditBibliography | Executa 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. |
| resolveIdentifier | Resolve 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. |
| formatCitation | Formata 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. |
| exportCitation | Exporta 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. |
| checkRetraction | Verifica 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. |
| checkOpenAccess | Verifica 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 denpx. 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ável | Obrigatória | Descrição |
|---|---|---|
SCHOLAR_API_KEY | Não | Chave 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_KEY | Não | Chave de assinatura RapidAPI para camadas pagas/gerenciadas; quando definida, as chamadas são roteadas pelo gateway RapidAPI. |
RAPIDAPI_HOST | Não | Host RapidAPI (padrão: scholar-sidekick.p.rapidapi.com) |
SCHOLAR_SIDEKICK_URL | Não | Substitui a URL base da API (padrão: https://scholar-sidekick.com, ou o gateway RapidAPI quando RAPIDAPI_KEY está definido). |
SCHOLAR_SIDEKICK_TIMEOUT_MS | Não | Tempo 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:
| Estilo | Palavra-chave |
|---|---|
| Vancouver | vancouver |
| APA (7ª ed.) | apa |
| AMA | ama |
| IEEE | ieee |
| CSE | cse |
| Chicago (autor-data) | chicago-author-date |
| Harvard | harvard-cite-them-right |
| MLA | modern-language-association |
| Turabian | turabian-fullnote-bibliography |
| Nature | nature |
| BMJ | bmj |
| Lancet | the-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
.bibno 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: truecom 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) oucsl(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, solicitarharvardresolve paraharvard-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