fitslot-mcp
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"fitslot": {
"args": [
"/caminho/para/fitslot-mcp/dist/index.js"
],
"command": "node",
"env": {
"FITSLOT_API_KEY": "sua_chave_aqui",
"FITSLOT_API_URL": "https://api.fitslot.com"
}
}
}
}
服务介绍
FitSlot MCP Server
MCP (Model Context Protocol) server para integrao com a API FitSlot, fornecendo funcionalidades de:
- Gerenciamento de tickets de suporte
- Chatbot com FAQs para suporte aos usurios
- Anlise de documentos PDF de bioimpedncia
Caractersticas
Gesto de Tickets
- Criar novos tickets de suporte
- Listar tickets por usurio e status
- Atualizar tickets existentes
- Fechar tickets resolvidos
Suporte via Chatbot
- Busca inteligente em base de FAQs
- Respostas contextualizadas com aes sugeridas
- Categorizao de perguntas frequentes
- Suporte em portugus
Anlise de Bioimpedncia
- Extrao automtica de dados de PDFs
- Anlise de composio corporal
- Clculo de IMC e mtricas de sade
- Recomendaes personalizadas baseadas nos dados
Requisitos
- Node.js 18+ ou superior
- npm ou yarn
Instalao
# Clonar o repositrio
git clone https://github.com/osmarsant/fitslot-mcp.git
cd fitslot-mcp
# Instalar dependncias
npm install
# Compilar o projeto
npm run build
Configurao
Configure as variveis de ambiente criando um arquivo .env na raiz do projeto:
# URL da API FitSlot
FITSLOT_API_URL=https://api.fitslot.com
# Chave de API (opcional)
FITSLOT_API_KEY=sua_chave_api_aqui
# Timeout para requisies (em ms)
FITSLOT_API_TIMEOUT=30000
# Nvel de log (DEBUG, INFO, WARN, ERROR)
LOG_LEVEL=INFO
Uso
Desenvolvimento
npm run dev
Produo
npm start
Como Servidor MCP
Para usar com Claude Desktop ou outras aplicaes MCP, adicione ao arquivo de configurao:
{
"mcpServers": {
"fitslot": {
"command": "node",
"args": ["/caminho/para/fitslot-mcp/dist/index.js"],
"env": {
"FITSLOT_API_URL": "https://api.fitslot.com",
"FITSLOT_API_KEY": "sua_chave_aqui"
}
}
}
}
Ferramentas Disponveis
Tickets
create_ticket
Cria um novo ticket de suporte.
Parmetros:
title(string): Ttulo do ticketdescription(string): Descrio detalhada do problemapriority(enum): Prioridade -low,medium,high,urgentuserId(string): ID do usurio
list_tickets
Lista todos os tickets de um usurio.
Parmetros:
userId(string): ID do usuriostatus(enum, opcional): Filtrar por status -open,in_progress,resolved,closed
get_ticket
Obtm detalhes de um ticket especfico.
Parmetros:
ticketId(string): ID do ticket
update_ticket
Atualiza um ticket existente.
Parmetros:
ticketId(string): ID do ticketstatus(enum, opcional): Novo statusdescription(string, opcional): Nova descriopriority(enum, opcional): Nova prioridade
close_ticket
Fecha um ticket.
Parmetros:
ticketId(string): ID do ticket
Chatbot
ask_support
Faz uma pergunta ao suporte e recebe respostas com FAQs relacionadas.
Parmetros:
query(string): Pergunta ou consulta do usurio
search_faqs
Busca FAQs por palavras-chave.
Parmetros:
query(string): Termo de buscalimit(number, opcional): Nmero mximo de resultados (padro: 5)
get_faq_categories
Lista todas as categorias de FAQs disponveis.
get_faqs_by_category
Lista FAQs de uma categoria especfica.
Parmetros:
category(string): Nome da categoria
get_all_faqs
Retorna todas as FAQs disponveis.
Anlise de PDF
analyze_bioimpedance_pdf
Analisa um arquivo PDF de bioimpedncia.
Parmetros:
filePath(string): Caminho absoluto para o arquivo PDF
analyze_bioimpedance_pdf_base64
Analisa um PDF de bioimpedncia a partir de dados base64.
Parmetros:
base64Data(string): Dados do PDF codificados em base64patientId(string, opcional): ID do paciente para referncia
Estrutura do Projeto
fitslot-mcp/
src/
index.ts # Servidor MCP principal
services/ # Camada de servios
fitslot-api.service.ts
chatbot.service.ts
pdf-analysis.service.ts
tools/ # Ferramentas MCP
ticket.tools.ts
chatbot.tools.ts
pdf.tools.ts
types/ # Definies de tipos TypeScript
index.ts
utils/ # Utilitrios
logger.ts
validation.ts
dist/ # Cdigo compilado
package.json
tsconfig.json
README.md
Arquitetura
O projeto segue as melhores prticas de engenharia de software:
- TypeScript: Tipagem forte e segurana em tempo de compilao
- Arquitetura em camadas: Separao clara entre servios, ferramentas e utilitrios
- Logging estruturado: Sistema de logs com nveis configurveis
- Validao de entrada: Validao rigorosa de todos os inputs
- Tratamento de erros: Gesto robusta de erros em todas as camadas
- Cdigo limpo: Cdigo bem documentado e fcil de manter
Segurana
- Validao de todas as entradas do usurio
- Sanitizao de dados para prevenir injees
- Gesto segura de credenciais via variveis de ambiente
- Tratamento adequado de erros sem expor informaes sensveis
Exemplos de Uso
Criar um Ticket
{
"tool": "create_ticket",
"arguments": {
"title": "Problema no agendamento",
"description": "No consigo agendar horrio para sexta-feira",
"priority": "high",
"userId": "user123"
}
}
Buscar Suporte
{
"tool": "ask_support",
"arguments": {
"query": "Como fao para cancelar um agendamento?"
}
}
Analisar PDF
{
"tool": "analyze_bioimpedance_pdf",
"arguments": {
"filePath": "/caminho/para/documento.pdf"
}
}
Contribuindo
Contribuies so bem-vindas! Por favor:
- Faa um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/MinhaFeature) - Commit suas mudanas (
git commit -m 'Adiciona MinhaFeature') - Push para a branch (
git push origin feature/MinhaFeature) - Abra um Pull Request
Licena
ISC
Suporte
Para suporte, abra uma issue no repositrio ou entre em contato atravs dos canais oficiais do FitSlot.