EXAMPLES.md•7.26 kB
# Exemplos de Uso - FitSlot MCP Server
Este documento fornece exemplos práticos de como usar as ferramentas disponíveis no FitSlot MCP Server.
## Configuração Inicial
Antes de usar, certifique-se de que as variáveis de ambiente estão configuradas:
```env
FITSLOT_API_URL=https://api.fitslot.com
FITSLOT_API_KEY=sua_chave_api
LOG_LEVEL=INFO
```
## 1. Gerenciamento de Tickets
### Criar um Novo Ticket
```json
{
"tool": "create_ticket",
"arguments": {
"title": "Não consigo fazer login no aplicativo",
"description": "Ao tentar fazer login, recebo mensagem de erro 'Credenciais inválidas', mas tenho certeza de que minha senha está correta.",
"priority": "high",
"userId": "user_12345"
}
}
```
**Resposta esperada:**
```json
{
"success": true,
"message": "Ticket created successfully",
"ticket": {
"id": "ticket_67890",
"title": "Não consigo fazer login no aplicativo",
"status": "open",
"priority": "high",
"createdAt": "2024-11-03T10:30:00Z"
}
}
```
### Listar Tickets de um Usuário
```json
{
"tool": "list_tickets",
"arguments": {
"userId": "user_12345"
}
}
```
Com filtro por status:
```json
{
"tool": "list_tickets",
"arguments": {
"userId": "user_12345",
"status": "open"
}
}
```
### Atualizar Status de um Ticket
```json
{
"tool": "update_ticket",
"arguments": {
"ticketId": "ticket_67890",
"status": "in_progress"
}
}
```
### Fechar um Ticket
```json
{
"tool": "close_ticket",
"arguments": {
"ticketId": "ticket_67890"
}
}
```
## 2. Suporte via Chatbot
### Fazer uma Pergunta ao Suporte
```json
{
"tool": "ask_support",
"arguments": {
"query": "Como faço para agendar um horário?"
}
}
```
**Resposta esperada:**
```json
{
"success": true,
"response": {
"message": "Encontrei algumas informações que podem ajudar você:",
"relatedFAQs": [
{
"question": "Como agendar um horário?",
"answer": "Vá para 'Agendamentos', selecione o serviço desejado, escolha data e horário disponível, e confirme o agendamento. Você receberá uma confirmação.",
"category": "agendamento"
}
],
"suggestedActions": [
"Ver FAQs relacionadas",
"Criar novo agendamento",
"Ver meus agendamentos"
]
}
}
```
### Buscar FAQs
```json
{
"tool": "search_faqs",
"arguments": {
"query": "bioimpedância",
"limit": 3
}
}
```
### Listar Categorias de FAQs
```json
{
"tool": "get_faq_categories",
"arguments": {}
}
```
**Resposta esperada:**
```json
{
"success": true,
"categories": [
"conta",
"agendamento",
"bioimpedancia",
"suporte",
"pagamento"
]
}
```
### Obter FAQs de uma Categoria
```json
{
"tool": "get_faqs_by_category",
"arguments": {
"category": "bioimpedancia"
}
}
```
## 3. Análise de PDF de Bioimpedância
### Analisar PDF de um Arquivo Local
```json
{
"tool": "analyze_bioimpedance_pdf",
"arguments": {
"filePath": "/path/to/bioimpedance_report.pdf"
}
}
```
**Resposta esperada:**
```json
{
"success": true,
"analysis": {
"patientInfo": {
"name": "João Silva",
"date": "01/11/2024"
},
"measurements": {
"weight": "78 kg",
"height": "175 cm",
"bmi": 25.47,
"bodyFatPercentage": "22%",
"muscleMassPercentage": "38%",
"boneMass": "3.2 kg",
"bodyWaterPercentage": "55%",
"visceralFat": 8,
"bmr": "1750 kcal"
},
"analysis": "IMC (BMI) de 25.47 indica sobrepeso (overweight). Percentual de gordura corporal (22%) está em nível saudável. Massa muscular (38%) em nível adequado. Gordura visceral (8) em nível saudável. Nível de hidratação (55%) adequado.",
"recommendations": [
"Considere um programa de perda de peso supervisionado",
"Aumente atividade física gradualmente",
"Mantenha hábitos saudáveis de alimentação e exercício",
"Consulte profissionais de saúde para orientação personalizada",
"Realize nova avaliação em 3-6 meses para acompanhamento"
]
}
}
```
### Analisar PDF de Dados Base64
```json
{
"tool": "analyze_bioimpedance_pdf_base64",
"arguments": {
"base64Data": "JVBERi0xLjQKJeLjz9MKMy...(dados base64 do PDF)",
"patientId": "patient_123"
}
}
```
## 4. Cenários de Uso Completos
### Cenário 1: Usuário com Problema no Agendamento
1. **Usuário faz pergunta ao chatbot:**
```json
{
"tool": "ask_support",
"arguments": {
"query": "Não consigo cancelar meu agendamento"
}
}
```
2. **Se o chatbot não resolver, criar um ticket:**
```json
{
"tool": "create_ticket",
"arguments": {
"title": "Erro ao cancelar agendamento",
"description": "Quando clico em cancelar, o sistema mostra erro 'Operação não permitida'",
"priority": "medium",
"userId": "user_12345"
}
}
```
3. **Acompanhar o status do ticket:**
```json
{
"tool": "get_ticket",
"arguments": {
"ticketId": "ticket_67890"
}
}
```
### Cenário 2: Análise de Resultados de Bioimpedância
1. **Upload e análise do PDF:**
```json
{
"tool": "analyze_bioimpedance_pdf",
"arguments": {
"filePath": "/uploads/bioimpedance_user123_20241103.pdf"
}
}
```
2. **Criar ticket para consulta sobre os resultados:**
```json
{
"tool": "create_ticket",
"arguments": {
"title": "Dúvida sobre resultados da bioimpedância",
"description": "Gostaria de entender melhor os resultados da minha bioimpedância, especialmente sobre o percentual de gordura visceral.",
"priority": "low",
"userId": "user_12345"
}
}
```
### Cenário 3: Usuário Novo Buscando Informações
1. **Listar todas as categorias disponíveis:**
```json
{
"tool": "get_faq_categories",
"arguments": {}
}
```
2. **Ver FAQs de uma categoria específica:**
```json
{
"tool": "get_faqs_by_category",
"arguments": {
"category": "conta"
}
}
```
3. **Fazer pergunta específica:**
```json
{
"tool": "ask_support",
"arguments": {
"query": "Como criar uma conta?"
}
}
```
## Tratamento de Erros
Todas as ferramentas retornam erros de forma consistente:
```json
{
"success": false,
"error": "Ticket ID cannot be empty"
}
```
Erros comuns:
- **400**: Parâmetros inválidos ou ausentes
- **404**: Recurso não encontrado
- **500**: Erro interno do servidor
## Boas Práticas
1. **Sempre valide entradas do usuário** antes de enviar para o MCP
2. **Use prioridades adequadas** para tickets (urgent apenas para problemas críticos)
3. **Forneça descrições detalhadas** ao criar tickets
4. **Aproveite o chatbot** antes de criar tickets
5. **Monitore o status dos tickets** regularmente
## Integração com Claude Desktop
Adicione ao `claude_desktop_config.json`:
```json
{
"mcpServers": {
"fitslot": {
"command": "node",
"args": ["/caminho/completo/para/fitslot-mcp/dist/index.js"],
"env": {
"FITSLOT_API_URL": "https://api.fitslot.com",
"FITSLOT_API_KEY": "sua_chave_aqui",
"LOG_LEVEL": "INFO"
}
}
}
}
```
## Suporte
Para mais informações ou problemas, consulte:
- [README.md](./README.md) - Documentação principal
- [GitHub Issues](https://github.com/osmarsant/fitslot-mcp/issues) - Reportar problemas