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
- Clone o repositório
git clone https://github.com/mehmetozcan-zz/KnowledgeBaseMCP.git
cd KnowledgeBaseMCP
- Instale as dependências
pip install -r requirements.txt
- 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 documentosrecursive(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 documentofile_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óriofile_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 valoresfile_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 DataFramefile_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 existentesheet_name(string): Nome da planilha de destinodata(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 dadosfile_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:
- Adicione a extensão do arquivo a
SUPPORTED_EXTENSIONSemextractors.py - Instale a biblioteca necessária
- Adicione a verificação da biblioteca a
check_dependencies() - Implemente o método de extração (por exemplo,
_extract_xlsx()) - Adicione o tratamento do formato a
extract_from_file()
Depuração
Para depurar problemas de conexão MCP:
- Verifique os logs do Claude Desktop
- Certifique-se de que o servidor inicia sem erros:
python launch_mcp.py - 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 DOCXpdfplumber>=0.9.0- Para processamento de arquivos PDFpython-pptx>=0.6.23- Para processamento de arquivos PPTXopenpyxl>=3.1.0- Para leitura/escrita de arquivos XLSXpandas>=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.
- Faça um fork do repositório
- Crie sua branch de recurso (
git checkout -b feature/AmazingFeature) - Faça commit das suas alterações (
git commit -m 'Add some AmazingFeature') - Envie para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
📄 Licença
Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.
🙏 Agradecimentos
- Construído com o Model Context Protocol
- Usa pdfplumber para processamento de PDF
- Usa python-docx para documentos do Word
- Usa python-pptx para apresentações do PowerPoint
📞 Suporte
Se você encontrar algum problema ou tiver dúvidas, abra uma issue no GitHub.
Feito com ❤️ para a comunidade de IA do Claude