Google Scholar MCP
Um servidor MCP para pesquisar no Google Scholar, desenvolvido para assistentes de IA e fluxos de automação que precisam de artigos, autores, citações e entradas BibTeX.
Documentação
google-scholar-search-mcp
Um servidor MCP (Model Context Protocol) para pesquisar no Google Scholar, desenvolvido para assistentes de IA e fluxos de automação que precisam de artigos, autores, citações e entradas BibTeX.
Sumário
Recursos
- Pesquisa de Artigos: Consulte o Google Scholar por palavra-chave com filtros, ordenação e paginação
- Consulta de Autores: Encontre perfis de pesquisadores com listas de publicações e métricas de índice h
- Rastreamento de Citações: Recupere artigos que citam um determinado trabalho
- Detalhes do Artigo: Obtenha metadados completos, gráficos de citações por ano e informações de acesso público
- Exportação BibTeX: Gere entradas de citação no formato BibTeX
- Pesquisa em Lote: Execute várias consultas em lote com limitação de taxa automática
- Limitação de Taxa: Atrasos integrados entre solicitações para evitar bloqueios
- Suporte a Proxy: Configuração opcional de proxy (gratuito, único ou ScraperAPI)
Instalação
Requisitos
Python 3.11ou posterior- Dependências:
mcp[cli]>=1.4.0,scholarly>=1.7.11,pydantic>=2.0(veja pyproject.toml)- O projeto usa
uvpara gerenciamento de dependências
- O projeto usa
Instale a partir do PyPI
pip install google-scholar-search-mcp
Compile a partir do código-fonte
git clone https://github.com/LWaetzig/google-scholar-search-mcp.git
cd google-scholar-search-mcp
pip install -e .
Nota: Este servidor usa a biblioteca scholarly para acessar o Google Scholar. Respeite os Termos de Serviço do Google e use a limitação de taxa adequadamente para evitar bloqueios.
Configuração
Configure o servidor MCP por meio de variáveis de ambiente:
| Variável | Padrão | Descrição |
|---|---|---|
GS_MIN_DELAY | 5.0 | Segundos mínimos entre solicitações |
GS_MAX_DELAY | 15.0 | Segundos máximos entre solicitações |
GS_MAX_RETRIES | 3 | Número de tentativas em caso de falha |
GS_PROXY_TYPE | none | Modo de proxy: none, free, single, scraperapi |
GS_PROXY_HTTP | — | URL do proxy HTTP (para o modo single) |
GS_PROXY_HTTPS | — | URL do proxy HTTPS (para o modo single) |
GS_SCRAPERAPI_KEY | — | Chave da ScraperAPI (para o modo scraperapi) |
GS_TIMEOUT | 30 | Tempo limite de solicitação em segundos |
Exemplos de Configuração de Proxy
Sem Proxy (Padrão)
export GS_PROXY_TYPE=none
Proxy Gratuito
export GS_PROXY_TYPE=free
Proxy Único
export GS_PROXY_TYPE=single
export GS_PROXY_HTTP=http://proxy.example.com:8080
export GS_PROXY_HTTPS=https://proxy.example.com:8080
ScraperAPI
export GS_PROXY_TYPE=scraperapi
export GS_SCRAPERAPI_KEY=your_key_here
Uso
Documentação detalhada sobre as ferramentas individuais pode ser encontrada aqui
Integração com o Claude Desktop
Adicione o servidor à configuração do seu Claude Desktop:
| Plataforma | Caminho |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
Adicione a entrada google_scholar_mcp sob mcpServers, substituindo o caminho pelo caminho absoluto do seu clone:
{
"mcpServers": {
"google-scholar": {
"command": "python",
"args": ["-m", "google_scholar_mcp.server"],
"env": {
"GS_MIN_DELAY": "5.0",
"GS_MAX_DELAY": "15.0",
"GS_PROXY_TYPE": "none"
}
}
}
}
Após atualizar a configuração, reinicie o Claude Desktop. As ferramentas do Google Scholar aparecerão no painel de Ferramentas MCP.
Integração com Outros Clientes MCP
Qualquer cliente MCP (por exemplo, Cline, Continue ou ferramentas personalizadas) pode usar este servidor. Configure a conexão para:
Command: python -m google_scholar_mcp.server
Transport: stdio
Limitação de Taxa
O servidor aplica automaticamente a limitação de taxa entre solicitações para evitar sobrecarregar os servidores do Google Scholar:
- Atraso Mínimo (padrão 5s): Tempo mínimo de espera entre solicitações consecutivas
- Atraso Máximo (padrão 15s): Tempo máximo de espera (aleatorizado para evitar padrões)
- Máximo de Tentativas (padrão 3): Repetir solicitações com falha até este número de vezes
Essas configurações ajudam a evitar bloqueios pelo Google Scholar. Ajuste por meio de variáveis de ambiente, se necessário:
export GS_MIN_DELAY=3.0
export GS_MAX_DELAY=10.0
export GS_MAX_RETRIES=5
⚠️ Aviso de Bloqueio de IP
Se você exceder os limites de taxa do Google Scholar apesar do limitador de taxa:
- Seu IP pode ser temporariamente bloqueado (geralmente 24-48 horas)
- Todas as solicitações falharão com erros de conexão ou respostas 429
- IPs bloqueados não podem fazer solicitações mesmo com proxies válidos na mesma faixa de IP
- Violações repetidas podem causar bloqueios permanentes ou exigir resolução de CAPTCHA
Práticas Recomendadas:
- Nunca reduza os atrasos abaixo de 5 segundos — os padrões são ajustados para confiabilidade
- Use a ferramenta bulk_search em vez de pesquisas sequenciais rápidas — ela inclui atrasos integrados
- Adicione buffer extra durante operações em lote — considere definir
GS_MIN_DELAY=10.0para trabalhos grandes - Use um serviço de proxy (proxy gratuito ou ScraperAPI) para distribuir solicitações entre vários IPs
- Monitore erros 429 — se você os vir, aumente os atrasos imediatamente e aguarde antes de tentar novamente
- Distribua as solicitações ao longo do tempo — não execute 100 consultas em 5 minutos, mesmo com atrasos
Recuperação de Bloqueios de IP
Se o seu IP for bloqueado:
- Aguarde 24-48 horas para que o bloqueio temporário expire
- Use um proxy — ative
GS_PROXY_TYPE=freeouscraperapipara rotear por IPs diferentes - Mude sua rede — use um WiFi/ISP diferente temporariamente, se possível
- Contate o suporte — para bloqueios persistentes, encaminhe ao suporte do Google Scholar
Escolhendo Atrasos Adequados
| Cenário | GS_MIN_DELAY | GS_MAX_DELAY | Notas |
|---|---|---|---|
| Pesquisas únicas | 5.0 | 15.0 | Padrão; seguro para consultas ocasionais |
| Operações em lote | 10.0 | 20.0 | Use para trabalhos em lote; evita solicitações rápidas em sequência |
| Carga pesada | 15.0 | 30.0 | Use com proxy para pesquisa em larga escala |
| Agressivo ⚠️ | <5.0 | <10.0 | Não recomendado; alto risco de bloqueio de IP |
Solução de Problemas
"Erro: 429 Too Many Requests"
Você atingiu o limite de taxa do Google Scholar. Soluções:
- Aumente os atrasos: Defina valores mais altos para
GS_MIN_DELAYeGS_MAX_DELAY - Use um proxy: Defina
GS_PROXY_TYPE=freeou use ScraperAPI - Aguarde e tente novamente: O Google Scholar pode estar bloqueando temporariamente; tente mais tarde
"Nenhum resultado encontrado"
- Verifique a sintaxe da sua consulta (o Google Scholar suporta operadores de pesquisa avançados)
- Certifique-se de que o nome do autor/artigo esteja escrito corretamente
- Tente uma consulta mais simples com menos palavras-chave
"Tempo limite de conexão"
- Aumente
GS_TIMEOUTse sua rede estiver lenta - Verifique sua conexão com a internet
- Verifique as configurações de proxy, se estiver usando um
Contribuição
Contribuições são bem-vindas! Por favor:
- Faça um fork do repositório
- Crie um branch de recurso (
git checkout -b feature/your-feature) - Faça commit das suas alterações com mensagens claras
- Envie para o seu fork
- Abra um pull request
Suporte
Para problemas, dúvidas ou solicitações de recursos, abra uma issue no GitHub.