Skip to main content
Glama
README.md
# 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