README.md•3.74 kB
# MCP Server Fichador
Um servidor MCP (Model Context Protocol) para buscar artigos educacionais no site todamateria.com.br e criar fichas de leitura automatizadas.
## Funcionalidades
Este servidor MCP oferece três ferramentas principais:
### 1. `buscar_artigos`
Busca artigos no site todamateria.com.br baseado em um termo de pesquisa.
**Parâmetros:**
- `termo_busca` (string, obrigatório): Termo para buscar nos artigos
- `todas_paginas` (boolean, opcional): Se deve buscar em todas as páginas ou apenas na primeira (padrão: false)
**Retorna:** Lista de artigos encontrados com título e URL.
### 2. `raspar_conteudo`
Extrai o conteúdo completo de uma página específica do site.
**Parâmetros:**
- `url` (string, obrigatório): URL da página para extrair o conteúdo
**Retorna:** Conteúdo completo da página incluindo título, texto, imagens, autor e citação.
### 3. `criar_fichas_leitura`
Função completa que busca artigos, extrai conteúdo e cria fichas de leitura estruturadas.
**Parâmetros:**
- `termo_busca` (string, obrigatório): Termo para buscar nos artigos
- `todas_paginas` (boolean, opcional): Se deve buscar em todas as páginas (padrão: false)
- `salvar` (boolean, opcional): Se deve salvar as fichas em arquivo JSON (padrão: true)
- `prompt_customizado` (string, opcional): Prompt customizado para geração das fichas
**Retorna:** Fichas de leitura completas com resumo, palavras-chave, pontos principais, etc.
## Instalação
1. Clone ou baixe os arquivos do servidor
2. Instale as dependências:
```bash
npm install
```
3. Compile o TypeScript:
```bash
npm run build
```
## Uso
### Como servidor MCP standalone
```bash
npm start
```
### Integração com Claude Desktop
Adicione ao seu arquivo de configuração do Claude Desktop (`claude_desktop_config.json`):
```json
{
"mcpServers": {
"fichador": {
"command": "node",
"args": ["/caminho/para/seu/projeto/dist/index.js"],
"env": {}
}
}
}
```
### Desenvolvimento
Para executar em modo de desenvolvimento:
```bash
npm run dev
```
## Estrutura das Fichas de Leitura
Cada ficha de leitura contém:
```typescript
interface FichaLeitura {
titulo: string; // Título do artigo
resumo: string; // Resumo do conteúdo
palavrasChave: string[]; // Palavras-chave extraídas
temaPrincipal: string; // Tema principal do artigo
pontosPrincipais: string[]; // Pontos principais do conteúdo
url: string; // URL do artigo original
autor: string; // Autor do artigo
citacao: string; // Citação formatada
}
```
## Exemplos de Uso
### Buscar artigos sobre física:
```json
{
"name": "buscar_artigos",
"arguments": {
"termo_busca": "física quântica",
"todas_paginas": false
}
}
```
### Criar fichas de leitura sobre matemática:
```json
{
"name": "criar_fichas_leitura",
"arguments": {
"termo_busca": "equações diferenciais",
"todas_paginas": true,
"salvar": true
}
}
```
### Extrair conteúdo de uma página específica:
```json
{
"name": "raspar_conteudo",
"arguments": {
"url": "https://www.todamateria.com.br/fisica-quantica/"
}
}
```
## Arquivos Gerados
Quando `salvar: true` é usado na função `criar_fichas_leitura`, as fichas são salvas em:
```
dados/fichas-leitura-{termo_busca}.json
```
## Limitações
- Funciona especificamente com o site todamateria.com.br
- A geração de fichas usa uma implementação simplificada (pode ser integrada com APIs de IA para melhor qualidade)
- Depende da estrutura HTML do site (pode quebrar se o site mudar)
## Contribuições
Sinta-se à vontade para contribuir com melhorias, correções ou novas funcionalidades!
## Licença
MIT