FitSlot MCP Server
MCP (Model Context Protocol) server para integração com a API FitSlot, fornecendo funcionalidades de:
🎫 Gerenciamento de tickets de suporte
🤖 Chatbot com FAQs para suporte aos usuários
📊 Análise de documentos PDF de bioimpedância
🚀 Características
Gestão de Tickets
Criar novos tickets de suporte
Listar tickets por usuário e status
Atualizar tickets existentes
Fechar tickets resolvidos
Suporte via Chatbot
Busca inteligente em base de FAQs
Respostas contextualizadas com ações sugeridas
Categorização de perguntas frequentes
Suporte em português
Análise de Bioimpedância
Extração automática de dados de PDFs
Análise de composição corporal
Cálculo de IMC e métricas de saúde
Recomendações personalizadas baseadas nos dados
📋 Requisitos
Node.js 18+ ou superior
npm ou yarn
🔧 Instalação
⚙️ Configuração
Configure as variáveis de ambiente criando um arquivo .env na raiz do projeto:
🎯 Uso
Desenvolvimento
Produção
Como Servidor MCP
Para usar com Claude Desktop ou outras aplicações MCP, adicione ao arquivo de configuração:
🛠️ Ferramentas Disponíveis
Tickets
create_ticket
Cria um novo ticket de suporte.
Parâmetros:
title(string): Título do ticketdescription(string): Descrição detalhada do problemapriority(enum): Prioridade -low,medium,high,urgentuserId(string): ID do usuário
list_tickets
Lista todos os tickets de um usuário.
Parâmetros:
userId(string): ID do usuáriostatus(enum, opcional): Filtrar por status -open,in_progress,resolved,closed
get_ticket
Obtém detalhes de um ticket específico.
Parâmetros:
ticketId(string): ID do ticket
update_ticket
Atualiza um ticket existente.
Parâmetros:
ticketId(string): ID do ticketstatus(enum, opcional): Novo statusdescription(string, opcional): Nova descriçãopriority(enum, opcional): Nova prioridade
close_ticket
Fecha um ticket.
Parâmetros:
ticketId(string): ID do ticket
Chatbot
ask_support
Faz uma pergunta ao suporte e recebe respostas com FAQs relacionadas.
Parâmetros:
query(string): Pergunta ou consulta do usuário
search_faqs
Busca FAQs por palavras-chave.
Parâmetros:
query(string): Termo de buscalimit(number, opcional): Número máximo de resultados (padrão: 5)
get_faq_categories
Lista todas as categorias de FAQs disponíveis.
get_faqs_by_category
Lista FAQs de uma categoria específica.
Parâmetros:
category(string): Nome da categoria
get_all_faqs
Retorna todas as FAQs disponíveis.
Análise de PDF
analyze_bioimpedance_pdf
Analisa um arquivo PDF de bioimpedância.
Parâmetros:
filePath(string): Caminho absoluto para o arquivo PDF
analyze_bioimpedance_pdf_base64
Analisa um PDF de bioimpedância a partir de dados base64.
Parâmetros:
base64Data(string): Dados do PDF codificados em base64patientId(string, opcional): ID do paciente para referência
📁 Estrutura do Projeto
🏗️ Arquitetura
O projeto segue as melhores práticas de engenharia de software:
TypeScript: Tipagem forte e segurança em tempo de compilação
Arquitetura em camadas: Separação clara entre serviços, ferramentas e utilitários
Logging estruturado: Sistema de logs com níveis configuráveis
Validação de entrada: Validação rigorosa de todos os inputs
Tratamento de erros: Gestão robusta de erros em todas as camadas
Código limpo: Código bem documentado e fácil de manter
🔒 Segurança
Validação de todas as entradas do usuário
Sanitização de dados para prevenir injeções
Gestão segura de credenciais via variáveis de ambiente
Tratamento adequado de erros sem expor informações sensíveis
📝 Exemplos de Uso
Criar um Ticket
Buscar Suporte
Analisar PDF
🤝 Contribuindo
Contribuições são bem-vindas! Por favor:
Faça um fork do projeto
Crie uma branch para sua feature (
git checkout -b feature/MinhaFeature)Commit suas mudanças (
git commit -m 'Adiciona MinhaFeature')Push para a branch (
git push origin feature/MinhaFeature)Abra um Pull Request
📄 Licença
ISC
📞 Suporte
Para suporte, abra uma issue no repositório ou entre em contato através dos canais oficiais do FitSlot.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
Integrates with FitSlot API to manage support tickets, provide chatbot assistance with FAQs, and analyze bioimpedance PDF documents with health metrics and personalized recommendations.