# fitslot-mcp
## 基本信息
- Slug: `osmarsant-fitslot-mcp`
- Source: modelscope
- Publisher: @osmarsant/fitslot-mcp
- Categories: customer-support / health-and-wellness / biology-and-medicine
- Hosted: No
- License: Unknown
- Source URL: https://www.modelscope.cn/mcp/servers/@osmarsant/fitslot-mcp
## 简介
暂无描述。
## 安装提示

```bash
# 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
```

## MCP Server 详情

# 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

```bash
# 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:

```env
# 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

```bash
npm run dev
```

### Produo

```bash
npm start
```

### Como Servidor MCP

Para usar com Claude Desktop ou outras aplicaes MCP, adicione ao arquivo de configurao:

```json
{
  "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 ticket
- `description` (string): Descrio detalhada do problema
- `priority` (enum): Prioridade - `low`, `medium`, `high`, `urgent`
- `userId` (string): ID do usurio

#### `list_tickets`
Lista todos os tickets de um usurio.

**Parmetros:**
- `userId` (string): ID do usurio
- `status` (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 ticket
- `status` (enum, opcional): Novo status
- `description` (string, opcional): Nova descrio
- `priority` (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 busca
- `limit` (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 base64
- `patientId` (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

```typescript
{
  "tool": "create_ticket",
  "arguments": {
    "title": "Problema no agendamento",
    "description": "No consigo agendar horrio para sexta-feira",
    "priority": "high",
    "userId": "user123"
  }
}
```

### Buscar Suporte

```typescript
{
  "tool": "ask_support",
  "arguments": {
    "query": "Como fao para cancelar um agendamento?"
  }
}
```

### Analisar PDF

```typescript
{
  "tool": "analyze_bioimpedance_pdf",
  "arguments": {
    "filePath": "/caminho/para/documento.pdf"
  }
}
```

##  Contribuindo

Contribuies so bem-vindas! Por favor:

1. Faa um fork do projeto
2. Crie uma branch para sua feature (`git checkout -b feature/MinhaFeature`)
3. Commit suas mudanas (`git commit -m 'Adiciona MinhaFeature'`)
4. Push para a branch (`git push origin feature/MinhaFeature`)
5. Abra um Pull Request

##  Licena

ISC

##  Suporte

Para suporte, abra uma issue no repositri…

