MCP Acadêmico
# 🎓 MCP Acadêmico
Servidor MCP (Model Context Protocol) para auxiliar na escrita de artigos acadêmicos, dissertações e teses. Extrai, organiza e referencia artigos cientÃficos em PDF com formatação ABNT.
## O que este MCP faz
| Ferramenta | Função |
|---|---|
| `listar_artigos` | Lista todos os artigos cadastrados e PDFs disponÃveis |
| `cadastrar_artigo` | Registra metadados de um artigo (autores, tÃtulo, DOI, etc.) |
| `extrair_pdf` | Extrai o texto completo de um PDF (com cache) |
| `fichar_artigo` | Prepara fichamento estruturado (resumo, método, citações) |
| `buscar_nos_artigos` | Busca um termo em todos os artigos de uma vez |
| `extrair_citacao` | Gera referência ABNT completa, citação direta ou indireta |
| `comparar_metodologias` | Compara metodologias de múltiplos artigos |
| `estruturar_artigo` | Sugere estrutura completa para seu artigo de mestrado |
| `gerar_secao` | Prepara material de referência para escrever uma seção especÃfica |
| `limpar_cache` | Limpa o cache de textos extraÃdos |
---
## Instalação
### 1. Instalar dependências
```bash
cd mcp-academico
npm install
```
### 2. Compilar
```bash
npm run build
```
### 3. Configurar no Claude Code
Adicione no seu arquivo `~/.claude/claude_desktop_config.json` (ou `%APPDATA%\Claude\claude_desktop_config.json` no Windows):
```json
{
"mcpServers": {
"academico": {
"command": "node",
"args": ["C:\\Users\\werve\\Downloads\\claude\\mcp-academico\\dist\\index.js"]
}
}
}
```
**Alternativa via `settings.json`** (Claude Code CLI):
```json
{
"mcpServers": {
"academico": {
"command": "node",
"args": ["dist/index.js"],
"cwd": "C:\\Users\\werve\\Downloads\\claude\\mcp-academico"
}
}
}
```
---
## Fluxo de Uso Recomendado
### Passo 1: Coloque seus PDFs
Copie todos os PDFs dos artigos para a pasta `referencias/`.
### Passo 2: Cadastre os metadados
Para cada artigo, use `cadastrar_artigo`:
```
→ Use a ferramenta cadastrar_artigo para cadastrar o artigo com:
id: "silva2023"
arquivo: "silva2023.pdf"
titulo: "Uma Análise da Aplicação de IA na Educação Brasileira"
autores: [{"sobrenome":"Silva","nome":"João"},{"sobrenome":"Santos","nome":"Maria"}]
ano: 2023
tipo: "artigo"
revista: "Revista Brasileira de Educação"
doi: "10.1234/rbe.2023.001"
```
### Passo 3: Extraia os textos
```
→ Use extrair_pdf para extrair o texto de "silva2023.pdf"
```
### Passo 4: Faça fichamentos
```
→ Use fichar_artigo para fazer o fichamento de "silva2023"
```
### Passo 5: Estruture seu artigo
```
→ Use estruturar_artigo com tema: "Aplicação de IA na Educação"
```
### Passo 6: Escreva seção por seção
```
→ Use gerar_secao com secao: "referencial_teorico" e tema_pesquisa: "IA na educação"
→ Depois use buscar_nos_artigos para aprofundar em conceitos especÃficos
→ Use extrair_citacao com tipo_citacao: "direta" para citações textuais
```
---
## Formato ABNT
O MCP gera automaticamente citações no formato ABNT:
**Citação inline (dentro do texto):**
- 1 autor: `(Silva, 2024)`
- 2 autores: `(Silva; Santos, 2024)`
- 3+ autores: `(Silva et al., 2024)`
**Referência completa:**
> SILVA, João Paulo; SANTOS, Maria Clara. TÃtulo do artigo. **Revista Brasileira de Pesquisa Exemplo**, São Paulo, v. 15, n. 2, p. 123-145, jan./jun. 2024. DOI: 10.1234/exemplo.2024.001.
---
## Dicas
1. **Mantenha o `artigos.json` organizado** — quanto mais completos os metadados, melhores as citações
2. **Use `buscar_nos_artigos` antes de escrever cada seção** — encontra conexões entre autores que você pode não ter notado
3. **Compare metodologias** com `comparar_metodologias` — ajuda muito a justificar suas escolhas metodológicas
4. **Cache é automático** — PDFs extraÃdos uma vez não precisam ser processados novamente
5. **Para PDFs grandes**, use o parâmetro `paginas` do `extrair_pdf` para ler apenas a seção que interessa
---
## Solução de Problemas
| Problema | Solução |
|---|---|
| `pdf-parse não está instalado` | Rode `npm install` |
| PDF não extrai texto | O PDF pode ser de imagem escaneada. Converta para PDF com texto usando OCR (ex: Adobe Acrobat, PDF24) |
| "Arquivo não encontrado" | Verifique se o PDF está na pasta `referencias/` e o nome está correto no cadastro |
| Cache desatualizado | Use `limpar_cache` para forçar re-extração |
TDQS
Scored across 10 tools
Each tool has a clearly distinct purpose: listing, registering, extracting, comparing, searching, citing, structuring, and generating sections. No overlap is apparent; even similar tools like 'fichar_artigo' and 'extrair_pdf' have different outputs (structured summary vs raw text).
All tool names follow a consistent verb_infinitive_noun pattern in Portuguese (e.g., listar_artigos, cadastrar_artigo, extrair_pdf). No mixing of naming conventions or styles.
10 tools is well-scoped for the domain of academic paper management and writing support. Each tool serves a necessary function without redundancy, covering the full workflow from import to writing assistance.
The toolset covers the entire lifecycle: adding articles (cadastrar, extrair), organizing (listar, buscar, comparar), structured extraction (fichar), citation formatting (extrair_citacao), and writing guidance (estruturar, gerar_secao). Minor gaps like automatic bibliography generation are mitigated by combining existing tools.