KnowledgeBaseMCP

Extrair conteúdo textual de arquivos PDF, DOCX e PPTX locais para construir uma base de conhecimento.

Documentação

KnowledgeBaseMCP

Um poderoso servidor Model Context Protocol (MCP) para extrair conteúdo de texto de vários formatos de documentos, incluindo arquivos PDF, DOCX, PPTX e XLSX. Esta ferramenta permite que assistentes de IA como o Claude leiam e analisem o conteúdo de documentos da sua base de conhecimento local e também criem novas planilhas do Excel.

🚀 Recursos

Leitura de Documentos

  • Suporte a múltiplos formatos: Extrai texto de arquivos PDF, DOCX, PPTX e XLSX
  • Processamento de diretórios: Processa diretórios inteiros de documentos
  • Varredura recursiva: Opcionalmente, pesquisa subdiretórios
  • Metadados de arquivos: Obtém informações detalhadas sobre arquivos de documentos
  • Tratamento de erros: Tratamento robusto de erros com mensagens de erro claras
  • Processamento assíncrono: Processamento assíncrono eficiente de documentos

Criação de Planilhas Excel

  • Criação de pastas de trabalho XLSX: Cria arquivos Excel com várias planilhas
  • Suporte a DataFrame: Converte pandas DataFrames para Excel
  • Formatação de dados: Aplica formatação e estilo profissionais
  • Geração de relatórios: Cria relatórios estruturados com resumos
  • Acréscimo de dados: Adiciona dados a arquivos Excel existentes
  • Suporte a modelos: Usa modelos predefinidos para formatação consistente

Integração

  • Integração fácil: Configuração simples com o Claude Desktop
  • Protocolo MCP: Construído no padrão Model Context Protocol

📁 Tipos de Arquivos Suportados

Suporte de Leitura

  • PDF (.pdf) - Formato de Documento Portátil (usando pdfplumber)
  • DOCX (.docx) - Documentos do Microsoft Word
  • PPTX (.pptx) - Apresentações do Microsoft PowerPoint
  • XLSX (.xlsx) - Planilhas do Microsoft Excel (usando openpyxl e pandas)

Suporte de Escrita

  • DOCX (.docx) - Cria documentos do Word com formatação
  • XLSX (.xlsx) - Cria pastas de trabalho do Excel com várias planilhas, formatação e gráficos

🛠️ Instalação

Pré-requisitos

  • Python 3.8 ou superior
  • Aplicativo Claude Desktop

Configuração

  1. Clone o repositório
git clone https://github.com/mehmetozcan-zz/KnowledgeBaseMCP.git
cd KnowledgeBaseMCP
  1. Instale as dependências
pip install -r requirements.txt
  1. Teste o servidor
python test.py

⚙️ Configuração

Integração com Claude Desktop

Adicione este servidor ao seu arquivo de configuração do Claude Desktop:

Windows: %APPDATA%\\Claude\\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "knowledgebase": {
      "command": "python",
      "args": ["path/to/KnowledgeBaseMCP/launch_mcp.py"]
    }
  }
}

Substitua path/to/KnowledgeBaseMCP pelo caminho real da sua instalação.

🎯 Uso

Uma vez configurado, você pode usar estas ferramentas no Claude:

Ferramentas Disponíveis

Ferramentas de Leitura de Documentos

extract_text_from_file

Extrai conteúdo de texto de um único arquivo de documento.

Parâmetros:

  • file_path (string): Caminho para o arquivo de documento
extract_text_from_directory

Extrai conteúdo de texto de todos os documentos suportados em um diretório.

Parâmetros:

  • directory_path (string): Caminho para o diretório que contém os documentos
  • recursive (booleano, opcional): Se deve pesquisar subdiretórios recursivamente
list_supported_files

Lista todos os arquivos de documentos suportados em um diretório com metadados.

Parâmetros:

  • directory_path (string): Caminho para o diretório a ser verificado

Ferramentas de Criação de DOCX

create_docx_document

Cria um novo documento do Word com conteúdo de texto.

Parâmetros:

  • content (string): Conteúdo do documento
  • file_path (string): Caminho do arquivo de saída (extensão .docx)
  • title (string, opcional): Título do documento
create_structured_report

Cria um relatório do Word estruturado com formatação.

Parâmetros:

  • report_data (objeto): Estrutura de dados do relatório
  • file_path (string): Caminho do arquivo de saída (extensão .docx)

Ferramentas de Criação de XLSX

create_xlsx_workbook

Cria uma nova pasta de trabalho do Excel com várias planilhas.

Parâmetros:

  • data (objeto): Dicionário com nomes de planilhas como chaves e dados como valores
  • file_path (string): Caminho do arquivo de saída (extensão .xlsx)
  • apply_formatting (booleano, opcional): Aplica formatação padrão
create_xlsx_from_dataframe

Cria pasta de trabalho do Excel a partir de pandas DataFrames.

Parâmetros:

  • dataframes (objeto): Dicionário com nomes de planilhas e dados de DataFrame
  • file_path (string): Caminho do arquivo de saída (extensão .xlsx)
  • include_index (booleano, opcional): Inclui índice do DataFrame
append_to_xlsx

Adiciona dados a uma pasta de trabalho do Excel existente.

Parâmetros:

  • file_path (string): Caminho para o arquivo XLSX existente
  • sheet_name (string): Nome da planilha de destino
  • data (qualquer): Dados a serem adicionados (lista, dicionário ou DataFrame)
create_xlsx_report

Cria um relatório do Excel formatado com várias seções.

Parâmetros:

  • report_data (objeto): Estrutura do relatório com título, descrição e seções de dados
  • file_path (string): Caminho do arquivo de saída (extensão .xlsx)

Exemplo de Uso no Claude

Leitura de Documentos

Please analyze all the documents in my Documents/Reports folder using your KnowledgeBaseMCP tools.

Criação de Relatórios Excel

Create an Excel report with sales data for Q1 2025. Include a summary sheet and detailed transaction data.

Análise de Dados e Exportação

Read the data from 'financial_report.xlsx' and create a new Excel file with a summary analysis.

Conversão de Documentos

Extract content from all PDF files in my research folder and create a consolidated Excel workbook with the findings.

O Claude usará então o servidor MCP para extrair e analisar o conteúdo dos seus documentos ou criar novos arquivos Excel conforme solicitado.

🏗️ Estrutura do Projeto

KnowledgeBaseMCP/
├── src/
│   ├── __init__.py          # Package initialization
│   ├── main.py             # Main MCP server
│   ├── extractors.py       # Document reading classes
│   ├── docx_writer.py      # Word document creation
│   └── xlsx_writer.py      # Excel spreadsheet creation
├── requirements.txt        # Python dependencies
├── setup.py               # Package setup
├── README.md              # This file
├── LICENSE                # MIT License
├── launch_mcp.py          # Server launcher
├── run_server.py          # Alternative launcher
├── test.py               # Basic test script
└── test_xlsx.py          # XLSX functionality tests

🔧 Desenvolvimento

Executando Testes

python test.py

Adicionando Novos Formatos de Arquivo

Para adicionar suporte a formatos de documentos adicionais:

  1. Adicione a extensão do arquivo a SUPPORTED_EXTENSIONS em extractors.py
  2. Instale a biblioteca necessária
  3. Adicione a verificação da biblioteca a check_dependencies()
  4. Implemente o método de extração (por exemplo, _extract_xlsx())
  5. Adicione o tratamento do formato a extract_from_file()

Depuração

Para depurar problemas de conexão MCP:

  1. Verifique os logs do Claude Desktop
  2. Certifique-se de que o servidor inicia sem erros:
    python launch_mcp.py
    
  3. Verifique o caminho e o formato do arquivo de configuração

📦 Dependências

Dependências Principais

  • mcp>=0.9.0 - Estrutura Model Context Protocol

Leitura de Documentos

  • python-docx>=1.1.0 - Para processamento de arquivos DOCX
  • pdfplumber>=0.9.0 - Para processamento de arquivos PDF
  • python-pptx>=0.6.23 - Para processamento de arquivos PPTX
  • openpyxl>=3.1.0 - Para leitura/escrita de arquivos XLSX
  • pandas>=2.0.0 - Para manipulação e análise avançada de dados

Adicionais

  • lxml>=4.9.0 - Suporte a processamento XML

🤝 Contribuição

Contribuições são bem-vindas! Sinta-se à vontade para enviar pull requests ou abrir issues.

  1. Faça um fork do repositório
  2. Crie sua branch de recurso (git checkout -b feature/AmazingFeature)
  3. Faça commit das suas alterações (git commit -m 'Add some AmazingFeature')
  4. Envie para a branch (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

📄 Licença

Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.

🙏 Agradecimentos

📞 Suporte

Se você encontrar algum problema ou tiver dúvidas, abra uma issue no GitHub.


Feito com ❤️ para a comunidade de IA do Claude