Skip to main content
Glama
JonasSousaAP

MCP Advbox Server

by JonasSousaAP

📚 Documentação MCP Advbox Server

Versão: 2.2.0 (Hardened)
Última atualização: 05 de Janeiro de 2026
Autor: Jonas Sousa


📑 Índice

  1. Visão Geral

  2. Arquitetura

  3. Instalação

  4. Configuração

  5. Autenticação

  6. Endpoints HTTP

  7. Tools Disponíveis

  8. Exemplos de Uso

  9. Segurança

  10. Integração com n8n

  11. Monitoramento

  12. Troubleshooting


Related MCP server: bogamatic-sac-mcp

1. Visão Geral

O que é o MCP Advbox?

O MCP Advbox Server é um servidor que implementa o protocolo Model Context Protocol (MCP) para integração com a API do Advbox, sistema de gestão jurídica. Ele permite que agentes de IA (como Claude) interajam diretamente com dados de clientes, processos, tarefas e transações financeiras do escritório.

Funcionalidades Principais

  • 19 Tools para operações CRUD completas

  • Autenticação segura via Bearer Token

  • Rate Limiting para proteção contra abuso

  • SSE (Server-Sent Events) para comunicação em tempo real

  • Validação de entrada em todos os parâmetros

  • Headers de segurança (HSTS, CSP, X-Frame-Options)

Casos de Uso

Caso de Uso

Descrição

Consulta de clientes

Buscar informações de clientes por nome, telefone, email

Gestão de processos

Criar, atualizar e consultar processos jurídicos

Controle financeiro

Listar transações, receitas e despesas

Agenda de compromissos

Criar e listar tarefas e compromissos

Relatórios de equipe

Consultar pontuação e recompensas da equipe


2. Arquitetura

Diagrama

┌─────────────────┐     HTTPS/SSE      ┌──────────────────┐     HTTPS      ┌─────────────────┐
│   Claude / n8n  │ ◄────────────────► │  MCP Advbox API  │ ◄────────────► │   Advbox API    │
│                 │    Bearer Token    │   (Port 3847)    │   API Token    │   (v1)          │
└─────────────────┘                    └──────────────────┘                └─────────────────┘

Stack Tecnológica

Componente

Tecnologia

Runtime

Node.js 20 Alpine

Linguagem

TypeScript

Protocolo

MCP (Model Context Protocol)

Transporte

HTTP + SSE

Container

Docker

Proxy

Traefik

TLS

Let's Encrypt

Estrutura de Arquivos

/opt/stacks/advbox-mcp-server/
├── src/
│   └── http-server.ts      # Código principal
├── dist/
│   └── http-server.js      # Código compilado
├── docs/
│   └── README.md           # Esta documentação
├── docker-compose.yml
├── Dockerfile.http
├── package.json
├── tsconfig.json
└── .env

3. Instalação

Pré-requisitos

  • Docker 24.0+

  • Docker Compose v2

  • Rede Docker proxy configurada

  • Traefik com Let's Encrypt

Passo a Passo

# 1. Criar estrutura
mkdir -p /opt/stacks/advbox-mcp-server/src
cd /opt/stacks/advbox-mcp-server

# 2. Criar .env
cat > .env << EOF
ADVBOX_API_TOKEN=seu_token_advbox
ADVBOX_BASE_URL=https://app.advbox.com.br/api/v1
MCP_TOKEN=$(openssl rand -hex 32)
ALLOWED_ORIGINS=https://seu-dominio.com
EOF

# 3. Build e Deploy
docker compose build --no-cache advbox-api
docker compose up -d advbox-api

# 4. Verificar
curl http://localhost:3847/health

4. Configuração

Variáveis de Ambiente

Variável

Obrigatório

Descrição

ADVBOX_API_TOKEN

Token de acesso à API Advbox

ADVBOX_BASE_URL

URL base da API (default: https://app.advbox.com.br/api/v1)

MCP_TOKEN

Token de autenticação do MCP

ALLOWED_ORIGINS

Domínios permitidos (CORS)

PORT

Porta interna (default: 3000)

Limites de Segurança

Parâmetro

Valor

Descrição

MAX_BODY_SIZE

1 MB

Tamanho máximo do body

RATE_LIMIT_MAX

100 req/min

Requests por IP

MAX_SSE_CONNECTIONS

100

Conexões SSE simultâneas

MAX_SSE_PER_IP

5

Conexões SSE por IP

SSE_TIMEOUT

1 hora

Timeout de conexão SSE


5. Autenticação

Método

Bearer Token no header Authorization.

Header

Authorization: Bearer <MCP_TOKEN>

Exemplo

curl -H "Authorization: Bearer <TOKEN>" https://<SEU_DOMINIO>/tools

Erros

Status

Resposta

Causa

401

{"error":"Unauthorized"}

Token inválido

429

{"error":"Too Many Requests"}

Rate limit


6. Endpoints HTTP

Método

Endpoint

Auth

Descrição

GET

/health

Health check

GET

/sse

Conexão SSE (MCP)

POST

/message

Mensagem MCP

GET

/tools

Listar tools

POST

/execute

Executar tool

GET /health

curl https://<SEU_DOMINIO>/health
{"status":"healthy","version":"2.2.0","tools":19,"sse":0}

POST /execute

curl -X POST \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"tool":"list_customers","arguments":{"limit":5}}' \
  https://<SEU_DOMINIO>/execute

7. Tools Disponíveis

Resumo (19 tools)

Categoria

Tools

Quantidade

Customers

list, get, search, create

4

Lawsuits

list, get, search, create, update

5

Transactions

list, get

2

Tasks

list, create

2

Settings

get_settings, get_users, get_origins, get_stages, get_type_lawsuits

5

Rewards

get_users_rewards

1

7.1 Customers (Clientes)

list_customers

Lista e busca clientes com filtros.

Parâmetro

Tipo

Obrigatório

Descrição

name

string

Nome do cliente (busca parcial)

phone

string

Telefone

email

string

Email

city

string

Cidade

limit

number

Máximo de resultados (default: 100, max: 500)

offset

number

Pular resultados (paginação)

Exemplo:

{"tool":"list_customers","arguments":{"name":"Silva","limit":10}}

get_customer

Obtém detalhes de um cliente pelo ID.

Parâmetro

Tipo

Obrigatório

Descrição

customer_id

number

ID do cliente

Exemplo:

{"tool":"get_customer","arguments":{"customer_id":12345}}

search_customers

Busca clientes por nome.

Parâmetro

Tipo

Obrigatório

Descrição

query

string

✅*

Termo de busca

name

string

✅*

Alternativa ao query

create_customer

Cria um novo cliente.

Parâmetro

Tipo

Obrigatório

Descrição

users_id

number

ID do usuário criando

customers_origins_id

number

ID da origem do cliente

name

string

Nome do cliente

email

string

Email

document

string

CPF/CNPJ

identification

string

RG

phone

string

Telefone

birthdate

string

Data nascimento (YYYY-MM-DD)

Exemplo:

{
  "tool": "create_customer",
  "arguments": {
    "users_id": 1,
    "customers_origins_id": 2,
    "name": "João da Silva",
    "email": "joao@email.com",
    "phone": "85999999999"
  }
}

7.2 Lawsuits (Processos)

list_lawsuits

Lista processos com filtros.

Parâmetro

Tipo

Obrigatório

Descrição

name

string

Nome da pasta/cliente

process_number

string

Número do processo

customer_id

number

ID do cliente

responsible_id

number

ID do responsável

group_id

number

ID do grupo/área

limit

number

Máximo de resultados

offset

number

Pular resultados

get_lawsuit

Obtém detalhes de um processo.

Parâmetro

Tipo

Obrigatório

Descrição

lawsuit_id

number

ID do processo

search_lawsuits

Busca processos por nome/pasta.

Parâmetro

Tipo

Obrigatório

Descrição

query

string

✅*

Termo de busca

name

string

✅*

Alternativa

create_lawsuit

Cria um novo processo.

Parâmetro

Tipo

Obrigatório

Descrição

users_id

number

ID do usuário criando

customers_id

array[number]

IDs dos clientes

stages_id

number

ID do estágio

type_lawsuits_id

number

ID do tipo de processo

process_number

string

Número do processo

protocol_number

string

Número do protocolo

folder

string

Nome da pasta

date

string

Data (YYYY-MM-DD)

notes

string

Observações

Exemplo:

{
  "tool": "create_lawsuit",
  "arguments": {
    "users_id": 1,
    "customers_id": [123, 456],
    "stages_id": 5,
    "type_lawsuits_id": 10,
    "folder": "Silva vs Estado",
    "process_number": "0001234-56.2026.8.06.0001"
  }
}

update_lawsuit

Atualiza um processo existente.

Parâmetro

Tipo

Obrigatório

Descrição

lawsuit_id

number

ID do processo

stages_id

number

Novo estágio

type_lawsuits_id

number

Novo tipo

process_number

string

Número do processo

folder

string

Nome da pasta

notes

string

Observações


7.3 Transactions (Transações)

list_transactions

Lista transações financeiras.

Parâmetro

Tipo

Obrigatório

Descrição

date_payment_start

string

Data pagamento início (YYYY-MM-DD)

date_payment_end

string

Data pagamento fim

date_due_start

string

Data vencimento início

date_due_end

string

Data vencimento fim

lawsuit_id

number

Filtrar por processo

limit

number

Máximo de resultados

offset

number

Pular resultados

Exemplo:

{
  "tool": "list_transactions",
  "arguments": {
    "date_payment_start": "2026-01-01",
    "date_payment_end": "2026-01-31"
  }
}

get_transaction

Obtém detalhes de uma transação.

Parâmetro

Tipo

Obrigatório

Descrição

transaction_id

number

ID da transação


7.4 Tasks (Tarefas)

list_tasks

Lista tarefas e compromissos.

Parâmetro

Tipo

Obrigatório

Descrição

date_start

string

Data início (YYYY-MM-DD)

date_end

string

Data fim

user_id

number

Filtrar por usuário

lawsuit_id

number

Filtrar por processo

task_id

number

Filtrar por tipo de tarefa

limit

number

Máximo de resultados

offset

number

Pular resultados

create_task

Cria uma nova tarefa/compromisso.

Parâmetro

Tipo

Obrigatório

Descrição

from

number

ID do usuário criando

guests

array[number]

IDs dos convidados

tasks_id

number

ID do tipo de tarefa

lawsuits_id

number

ID do processo

start_date

string

Data início (YYYY-MM-DD)

start_time

string

Hora início (HH:MM)

end_date

string

Data fim

end_time

string

Hora fim

date_deadline

string

Prazo

comments

string

Comentários

local

string

Local

urgent

boolean

Urgente

important

boolean

Importante

Exemplo:

{
  "tool": "create_task",
  "arguments": {
    "from": 1,
    "guests": [2, 3],
    "tasks_id": 5,
    "lawsuits_id": 100,
    "start_date": "2026-01-10",
    "start_time": "14:00",
    "comments": "Reunião com cliente",
    "urgent": true
  }
}

7.5 Settings (Configurações)

get_settings

Obtém todas as configurações do sistema (users, stages, types, origins).

get_users

Lista usuários/colaboradores.

get_origins

Lista origens de clientes. Use para obter customers_origins_id.

get_stages

Lista estágios de processos. Use para obter stages_id.

get_type_lawsuits

Lista tipos de processos. Use para obter type_lawsuits_id.


7.6 Rewards (Recompensas)

get_users_rewards

Obtém pontuação e recompensas da equipe.

Parâmetro

Tipo

Obrigatório

Descrição

date

string

Data limite (YYYY-MM-DD)

Exemplo:

{"tool":"get_users_rewards","arguments":{"date":"2026-01-05"}}

8. Exemplos de Uso

8.1 Fluxo MCP Completo (SSE)

// 1. Conectar ao SSE
const eventSource = new EventSource('https://<SEU_DOMINIO>/sse', {
  headers: { 'Authorization': 'Bearer <TOKEN>' }
});

let messageEndpoint = '';

// 2. Receber endpoint para mensagens
eventSource.addEventListener('endpoint', (e) => {
  messageEndpoint = e.data;
  console.log('Endpoint:', messageEndpoint);
});

// 3. Receber respostas
eventSource.addEventListener('message', (e) => {
  const response = JSON.parse(e.data);
  console.log('Response:', response);
});

// 4. Enviar requisição MCP
fetch(messageEndpoint, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer <TOKEN>'
  },
  body: JSON.stringify({
    jsonrpc: '2.0',
    id: 1,
    method: 'tools/call',
    params: {
      name: 'list_customers',
      arguments: { limit: 5 }
    }
  })
});

8.2 Execução Direta (REST)

# Listar clientes
curl -X POST \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"tool":"list_customers","arguments":{"name":"Silva","limit":10}}' \
  https://<SEU_DOMINIO>/execute

# Buscar processo
curl -X POST \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"tool":"get_lawsuit","arguments":{"lawsuit_id":12345}}' \
  https://<SEU_DOMINIO>/execute

# Criar tarefa
curl -X POST \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "tool": "create_task",
    "arguments": {
      "from": 1,
      "guests": [1],
      "tasks_id": 5,
      "lawsuits_id": 100,
      "start_date": "2026-01-10",
      "comments": "Audiência"
    }
  }' \
  https://<SEU_DOMINIO>/execute

8.3 Paginação

# Página 1 (primeiros 100)
curl -X POST -H "Authorization: Bearer <TOKEN>" \
  -d '{"tool":"list_customers","arguments":{"limit":100,"offset":0}}' \
  https://<SEU_DOMINIO>/execute

# Página 2 (próximos 100)
curl -X POST -H "Authorization: Bearer <TOKEN>" \
  -d '{"tool":"list_customers","arguments":{"limit":100,"offset":100}}' \
  https://<SEU_DOMINIO>/execute

9. Segurança

9.1 Controles Implementados

Controle

Descrição

CWE Mitigado

Timing-safe Auth

Comparação de tokens resistente a timing attacks

CWE-208

Rate Limiting

100 req/min por IP

CWE-770

Input Validation

Sanitização de todos os parâmetros

CWE-20

Body Size Limit

Máximo 1MB

CWE-400

SSE Limits

Max 100 conexões, 5 por IP

CWE-770

Prototype Pollution

Filtro de __proto__, constructor

CWE-1321

Path Traversal

Regex validation em endpoints

CWE-22

Security Headers

HSTS, CSP, X-Frame-Options

Múltiplos

9.2 Headers de Segurança

X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-XSS-Protection: 1; mode=block
Content-Security-Policy: default-src 'none'
Strict-Transport-Security: max-age=31536000; includeSubDomains

9.3 CORS

Domínios permitidos (configurável via ALLOWED_ORIGINS):

  • https://<SEU_DOMINIO>

  • https://<SEU_DOMINIO>

9.4 Container Security

  • ✅ Executa como usuário não-root (advbox:1001)

  • ✅ Imagem Alpine mínima

  • ✅ Sem shell de root

  • ✅ Recursos limitados (512MB RAM, 1 CPU)

9.5 Boas Práticas

  1. Rotacione o MCP_TOKEN a cada 90 dias

  2. Monitore tentativas de autenticação falhadas

  3. Mantenha o container atualizado

  4. Use HTTPS sempre (via Traefik)


10. Integração com n8n

10.1 Configuração do MCP Client

No n8n, configure o nó MCP Client com:

Campo

Valor

URL

https://<SEU_DOMINIO>/sse

Authentication

Header Auth

Header Name

Authorization

Header Value

Bearer <MCP_TOKEN>

10.2 Tools Mais Usadas em Automações

Automação

Tools

Busca de clientes

search_customers, get_customer

Criação de processos

get_settings, create_lawsuit

Relatórios financeiros

list_transactions

Agenda

list_tasks, create_task

Gamificação

get_users_rewards


11. Monitoramento

11.1 Health Check

curl https://<SEU_DOMINIO>/health
# {"status":"healthy","version":"2.2.0","tools":19,"sse":0}

11.2 Logs do Container

# Ver logs em tempo real
docker logs -f advbox-mcp-api

# Últimas 100 linhas
docker logs --tail 100 advbox-mcp-api

11.3 Métricas a Monitorar

Métrica

Descrição

Alerta

sse

Conexões SSE ativas

> 80

Health status

Estado do servidor

≠ healthy

Response time

Tempo de resposta

> 5s

Error rate

Taxa de erros 5xx

> 1%

11.4 Integração com Uptime Kuma

Type: HTTP(s)
URL: https://<SEU_DOMINIO>/health
Method: GET
Expected Status: 200
Interval: 60 seconds
Retries: 3

12. Troubleshooting

12.1 Erros Comuns

401 Unauthorized

Causa: Token ausente ou inválido

Solução:

# Verificar token
cat /opt/stacks/advbox-mcp-server/.env | grep MCP_TOKEN

# Testar com curl
curl -H "Authorization: Bearer <TOKEN>" https://<SEU_DOMINIO>/tools

429 Too Many Requests

Causa: Rate limit excedido (100 req/min)

Solução: Aguardar 60 segundos ou otimizar requisições

503 Too many connections

Causa: Limite de conexões SSE atingido (100)

Solução:

docker restart advbox-mcp-api

Connection refused

Causa: Container não está rodando

Solução:

docker ps | grep advbox
docker logs advbox-mcp-api
docker compose up -d advbox-api

API error 401 (Advbox)

Causa: Token do Advbox inválido

Solução:

cat /opt/stacks/advbox-mcp-server/.env | grep ADVBOX_API_TOKEN
curl -H "Authorization: Bearer <ADVBOX_TOKEN>" https://app.advbox.com.br/api/v1/settings

12.2 Comandos de Diagnóstico

# Status do container
docker inspect advbox-mcp-api | jq '.[0].State'

# Uso de recursos
docker stats advbox-mcp-api --no-stream

# Verificar rede
docker exec advbox-mcp-api wget -qO- http://localhost:3000/health

# Rebuild completo
cd /opt/stacks/advbox-mcp-server
docker compose down
docker compose build --no-cache
docker compose up -d

13. Changelog

v2.2.0 (05/01/2026) - HARDENED

Segurança:

  • ✅ Timing-safe token comparison

  • ✅ Proteção contra Prototype Pollution

  • ✅ Rate limiting com proteção memory exhaustion

  • ✅ Limite de conexões SSE (global e por IP)

  • ✅ Timeout em conexões SSE (1 hora)

  • ✅ CORS restritivo com whitelist

  • ✅ Validação de email

  • ✅ Headers de segurança (HSTS)

v2.1.0 (05/01/2026)

  • ✅ Autenticação Bearer Token

  • ✅ Rate Limiting básico

  • ✅ Input validation

v2.0.0 (04/01/2026)

  • ✅ Servidor HTTP standalone

  • ✅ 19 tools funcionais

  • ✅ Suporte SSE

v1.0.0 (03/01/2026)

  • Versão inicial (STDIO)


14. Referência Rápida

Credenciais de Produção

Item

Valor

Endpoint SSE

https://<SEU_DOMINIO>/sse

Endpoint Execute

https://<SEU_DOMINIO>/execute

MCP Token

<SEU_MCP_TOKEN>

Porta Local

3847

Comando de Teste Rápido

# Testar autenticação
curl -s -H "Authorization: Bearer <SEU_MCP_TOKEN>" \
  https://<SEU_DOMINIO>/health

# Listar tools
curl -s -H "Authorization: Bearer <SEU_MCP_TOKEN>" \
  https://<SEU_DOMINIO>/tools | jq '.tools[].name'

Documentação gerada em 05/01/2026 - Jonas Sousa


15. Integração com Claude Desktop

15.1 Pré-requisitos

  • Node.js instalado (versão 18+)

  • Claude Desktop instalado

Verifique se o Node.js está instalado:

node --version
npx --version

Se não tiver, baixe em: https://nodejs.org/

15.2 Localização do Arquivo de Configuração

Sistema

Caminho

Windows

%APPDATA%\Claude\claude_desktop_config.json

macOS

~/Library/Application Support/Claude/claude_desktop_config.json

Linux

~/.config/Claude/claude_desktop_config.json

15.3 Configuração

Edite o arquivo claude_desktop_config.json e adicione:

{
  "mcpServers": {
    "advbox": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://<SEU_DOMINIO>/sse",
        "--transport",
        "sse-only",
        "--header",
        "Authorization:Bearer <SEU_MCP_TOKEN>"
      ]
    }
  }
}

Nota: Se já existir conteúdo no arquivo, adicione apenas a seção mcpServers mantendo as outras configurações.

Exemplo com configurações existentes:

{
  "preferences": {
    "chromeExtensionEnabled": true
  },
  "mcpServers": {
    "advbox": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://<SEU_DOMINIO>/sse",
        "--transport",
        "sse-only",
        "--header",
        "Authorization:Bearer <SEU_MCP_TOKEN>"
      ]
    }
  }
}

15.4 Parâmetros Explicados

Parâmetro

Descrição

npx

Executor de pacotes Node.js

-y

Aceita automaticamente a instalação do pacote

mcp-remote

Pacote que faz ponte entre STDIO e SSE remoto

https://<SEU_DOMINIO>/sse

URL do servidor MCP Advbox

--transport sse-only

Força conexão via SSE (obrigatório)

--header

Header de autenticação

Authorization:Bearer ...

Token de autenticação (sem espaço após ":")

15.5 Ativação

  1. Salve o arquivo claude_desktop_config.json

  2. Feche completamente o Claude Desktop (incluindo na bandeja do sistema)

  3. Abra o Claude Desktop novamente

  4. Verifique se aparece o ícone de ferramentas/MCP na interface

15.6 Verificação

Após reiniciar, teste com um dos comandos:

  • "Liste as tools disponíveis do Advbox"

  • "Busque clientes com nome Silva no Advbox"

  • "Quais são os usuários do escritório?"

15.7 Troubleshooting Claude Desktop

Verificar Logs

No Claude Desktop, acesse: View → Toggle Developer Tools → Console

Erros Comuns

Erro

Causa

Solução

command is required

Formato JSON incorreto

Use o formato com command e args

transport strategy: http-first

Falta --transport sse-only

Adicione o parâmetro

Request timed out

Servidor não respondeu

Verifique se o servidor está online

Server disconnected

Conexão caiu

Verifique rede e reinicie Claude Desktop

Testar Conexão Manualmente

No terminal, execute:

npx -y mcp-remote https://<SEU_DOMINIO>/sse --transport sse-only --header "Authorization:Bearer <SEU_MCP_TOKEN>"

Se conectar corretamente, você verá mensagens JSON sendo trocadas.

15.8 Múltiplos Servidores MCP

Para adicionar outros servidores MCP junto com o Advbox:

{
  "mcpServers": {
    "advbox": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://<SEU_DOMINIO>/sse",
        "--transport",
        "sse-only",
        "--header",
        "Authorization:Bearer <SEU_MCP_TOKEN>"
      ]
    },
    "outro-servidor": {
      "command": "npx",
      "args": ["-y", "outro-mcp-server"]
    }
  }
}

Seção adicionada em 05/01/2026

Available Tools

17 tools
advbox_create_customerB

Create a new customer in Advbox. Requires user ID, origin ID, and customer name.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoCity
nameYesCustomer name
emailNoCustomer email address
notesNoAdditional notes
phoneNoPhone number (99999999999 or (99) 99999-9999)
stateNoState (e.g., SP, RJ)
documentNoCustomer document number
users_idYesID of the user creating the customer
birthdateNoBirthdate (YYYY-MM-DD)
cellphoneNoCellphone number
occupationNoOccupation/profession
postalcodeNoPostal code (99999-999)
identificationNoCustomer CPF/CNPJ (e.g., 123.456.789-01)
customers_origins_idYesID of the customer origin

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the creation action without mentioning permissions, side effects, return values, or reversibility. For a mutating operation, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that clearly states the action and required inputs. It is front-loaded with the primary purpose and contains no superfluous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 14 parameters, no output schema, and no annotations, this description is too minimal. It lacks usage context, behavioral details, and return format. Although the schema covers parameter descriptions, the overall description does not provide sufficient context for an agent to fully understand when and how to use the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all 14 parameters have descriptions. The description repeats the required parameters (users_id, customers_origins_id, name) but adds no extra meaning beyond what the schema already provides. Baseline 3 applies because the schema handles parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'Create a new customer in Advbox.' It clearly identifies the action and the target entity, and the required fields add specificity. This distinguishes it from sibling tools like advbox_create_movement or advbox_create_task by naming the customer resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states prerequisites ('Requires user ID, origin ID, and customer name') but does not explicitly provide when-to-use guidance or mention alternatives. Usage is implied by the action, but no exclusions or alternative tool references are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

advbox_create_lawsuitA

Create a new lawsuit in Advbox. Requires user ID, customer IDs, stage ID, and lawsuit type ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoLawsuit date (YYYY-MM-DD)
notesNoDetailed notes about the lawsuit
folderNoFolder name
users_idYesID of the user creating the lawsuit
stages_idYesID of the lawsuit stage
customers_idYesList of customer IDs associated with the lawsuit
process_numberNoProcess number (e.g., 0123456-78.2025.8.26.0100)
protocol_numberNoProtocol number
type_lawsuits_idYesID of the lawsuit type

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavior itself. It only states that it creates a lawsuit and lists required parameters, but does not mention side effects, permissions, idempotency, or response behavior. For a mutation tool, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single efficient sentence that front-loads the core purpose ('Create a new lawsuit in Advbox') and immediately follows with essential requirements. No wasted words and appropriate length for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having 9 parameters, no annotations, and no output schema, the description is minimal. It does not mention optional parameters (notes, folder, process_number, etc.), return values, or prerequisites beyond required IDs. For a complex create operation, more context is needed for reliable invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, so the schema already explains each parameter. The description adds value by singling out the required parameters (users_id, customers_id, stages_id, type_lawsuits_id) but does not clarify formats, relationships, or optional parameter usage beyond the schema. This aligns with the baseline for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create'), the resource ('a new lawsuit'), and the system ('in Advbox'), which distinguishes it from sibling tools like advbox_update_lawsuit. It also lists the required IDs, making the tool's scope unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'Create a new lawsuit' provides clear context that this tool is for creation, not updates (which are handled by advbox_update_lawsuit). It doesn't explicitly name alternatives or exclusions, but the implied usage is clear enough for an agent to select it appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

advbox_create_movementB

Create a new movement/update for a lawsuit

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoMovement date (YYYY-MM-DD)
lawsuit_idYesLawsuit ID
descriptionYesMovement description

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only states 'Create', implying a write operation, but does not explain side effects, authentication needs, validation rules, or what happens if the lawsuit does not exist. This lack of detail leaves significant ambiguity for an agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that immediately conveys the core action and resource. No filler words or redundant phrasing, making it highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple create operation with fully described parameters, the description is minimally adequate. However, it lacks any mention of required context like the need for an existing lawsuit or the meaning of a 'movement' in this domain. With no annotations or output schema, this gap leaves the agent to infer critical details from the tool name alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameter semantics are already fully documented in the input schema. The description adds no additional context about parameter usage or relationships, meeting the baseline but not exceeding it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Create' and the resource 'movement/update for a lawsuit', making it evident this tool adds a new record associated with a case. It distinguishes itself from related siblings like advbox_create_lawsuit and advbox_update_lawsuit by referring to 'movement', though the term 'movement/update' is slightly ambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives or any prerequisites such as requiring an existing lawsuit. The description is a bare statement of functionality and does not mention typical workflows or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

advbox_create_taskB

Create a new task/appointment in Advbox. Requires creator ID, guests, task type, lawsuit, and start date.

ParametersJSON Schema
NameRequiredDescriptionDefault
fromYesID of the user creating the task
localNoLocation
guestsYesList of user IDs to be added as guests
urgentNoMark as urgent
commentsNoAdditional details/instructions
end_dateNoEnd date (YYYY-MM-DD)
end_timeNoEnd time (HH:MM)
tasks_idYesID of the task type
importantNoMark as important
start_dateYesAppointment date (YYYY-MM-DD)
start_timeNoStart time (HH:MM)
lawsuits_idYesID of the associated lawsuit
date_deadlineNoDeadline date (YYYY-MM-DD)
display_scheduleNoShow in schedule/calendar

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It indicates a create operation (implying mutation) but does not mention side effects, reversibility, permissions, return values, or error behavior. This is a significant gap for a mutation tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the core purpose ('Create a new task/appointment in Advbox') and then lists key requirements. It is efficient and free of unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 14 parameters, no annotations, and no output schema, the description is too thin. It identifies required fields but does not explain the return value, success/failure behavior, or any nuances about optional parameters. The schema covers parameter semantics, but the overall context for an agent is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description lists required fields (creator ID, guests, task type, lawsuit, start date) which map directly to schema properties, but it adds no additional semantic meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a new task/appointment in Advbox, using a specific verb and resource. It distinguishes from sibling creation tools like advbox_create_movement, advbox_create_customer, and advbox_create_lawsuit by explicitly naming the entity type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by listing required fields, but it does not explicitly state when to use this tool over alternatives or provide exclusions. The use case is reasonably clear from the tool name and description, but no explicit guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

advbox_get_birthdaysA

Get customers with birthdays in the current month

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states it 'gets' customers, implying a read operation, but does not disclose return format, pagination, sorting, timezone handling, or any side effects. For a simple read, this is minimal but lacks important behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no filler. Every word contributes to the purpose, and it is front-loaded with the action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with no parameters and no output schema, but the description could provide more context, such as what customer fields are returned, whether 'current month' follows a specific timezone, or whether results are ordered. These gaps make it adequate but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and schema coverage is 100%, so the description is not required to explain parameters. The baseline for 0 parameters is 4, and the description does not need to compensate anything here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get customers with birthdays in the current month' uses a specific verb ('Get'), identifies the resource ('customers'), and adds a distinct qualifier ('birthdays in the current month') that clearly differentiates it from sibling tools like list_customers and get_customer.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The purpose implies usage (when you need customers with birthdays this month), but there is no explicit guidance on when to use it versus alternatives like list_customers. No when-not or alternative tool is mentioned, so it relies on the agent to infer utility.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

advbox_get_customerB

Get a specific customer by ID from Advbox

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCustomer ID

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure, but it only states 'Get a specific customer by ID.' It does not mention read-only nature explicitly, error handling, response format, or any side effects, leaving significant behavioral ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that is easy to scan. It avoids unnecessary detail but is extremely brief, which while concise, might under-specify the tool's behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple getter with one parameter and no output schema, the description is minimally adequate but lacks information about return value, error conditions (e.g., what happens if the ID does not exist), or any access prerequisites. It does not fully prepare the agent for invocation outcomes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the parameter 'id' is already described as 'Customer ID.' The description adds no additional semantic meaning beyond what the schema provides, which is consistent with the baseline score for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get') and resource ('a specific customer by ID'), clearly distinguishing it from sibling tools like list_customers. It unambiguously identifies the tool's function and scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide any guidance on when to use this tool versus alternatives such as advbox_list_customers. It gives no context about typical use cases, prerequisites, or conditions where this tool is preferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

advbox_get_last_movementsA

Get the latest movements across all lawsuits with filter options

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of items
offsetNoPagination offset

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description should disclose operational details. It adds scope context but does not mention pagination behavior, default ordering, or that 'filter options' are actually not present in the schema beyond limit/offset. Some gaps remain.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single efficient sentence, but the phrase 'with filter options' is misleading since no filter parameters exist beyond pagination. Minor inaccuracy slightly reduces conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with full schema coverage and no output schema, the description provides essential scope but omits behavioral details such as result ordering and defaults. It is adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema fully describes limit and offset with basic descriptions, so the tool description adds no parameter-specific meaning. Baseline of 3 applies because the schema covers everything and the description doesn't mislead.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get the latest movements across all lawsuits', using a specific verb and resource scope that distinguishes it from advbox_get_lawsuit_movements, which targets movements for a specific lawsuit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'across all lawsuits' implies when to use this tool (when broad scope is needed), but it does not explicitly name alternatives or state exclusion criteria. The guidance is clear but implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

advbox_get_lawsuitA

Get a specific lawsuit by ID from Advbox

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesLawsuit ID

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits on its own. It merely states 'Get' with no elaboration on return values, error handling (e.g., if the ID is not found), or any side effects. For a read-only credential, the bare action is insufficient; the agent cannot anticipate what to expect on success or failure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that immediately states the action, resource, and target. It contains zero redundant or filler content, making it perfectly concise for the simple tool it describes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one parameter and no output schema or annotations, the description covers the basic operation but omits any information about the return value or failure behavior. The agent knows what the tool does but not what to expect back, which is a notable gap for a retrieval operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already covers the single parameter 'id' with the description 'Lawsuit ID', and schema description coverage is 100%. The description adds no additional meaning beyond what the schema provides, so the baseline of 3 applies per rubric rules.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Get' with the resource 'lawsuit' and clearly identifies the scope as 'by ID from Advbox'. This distinguishes it from sibling tools like list_lawsuits, create_lawsuit, update_lawsuit, and get_lawsuit_history, leaving no ambiguity about whether it retrieves a single existing record versus performing other operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'specific lawsuit by ID' implies this tool is for retrieving a single record when the ID is known, which contrasts with list_lawsuits for listing all. However, no explicit guidance is given about when to prefer this over alternatives, nor are there prerequisites or exclusions mentioned. The usage is inferred rather than directly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

advbox_get_lawsuit_historyA

Get the task history of a specific lawsuit

ParametersJSON Schema
NameRequiredDescriptionDefault
lawsuit_idYesLawsuit ID

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden of behavioral disclosure. 'Get' implies a read-only operation, which is helpful, but the description does not explain any additional behavior such as return format, ordering, or whether the history includes all statuses. It is minimally transparent but not misleading.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, purposeful sentence that immediately states the tool's function. It contains no redundant words or filler, earning its place efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description is sufficiently complete. It clearly conveys what the tool returns (task history) and the scope (specific lawsuit). While it could mention that the result is a list, the implication is strong enough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the only parameter (lawsuit_id) with a clear meaning. The description adds no extra semantic detail beyond what the schema provides, which is acceptable given the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get') and clearly identifies the resource ('task history of a specific lawsuit'). It effectively distinguishes this tool from siblings like advbox_get_lawsuit (which retrieves lawsuit details) and advbox_get_lawsuit_movements (which retrieves movements).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description establishes clear context: use this tool to retrieve task history for a specific lawsuit, indicated by the required lawsuit_id parameter. However, it does not explicitly mention alternatives or exclusions, such as using advbox_list_tasks for a broader task list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

advbox_get_lawsuit_movementsC

Get the movements/updates of a specific lawsuit

ParametersJSON Schema
NameRequiredDescriptionDefault
lawsuit_idYesLawsuit ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'Get', which implies read-only, but does not explain what a 'movement' is, the return format, ordering, pagination, or any other behavioral traits that could affect the agent's expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no redundant words. It efficiently communicates the core purpose, though it forgoes the opportunity to include valuable context that could be added without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one well-documented parameter) and clear purpose, the description is minimally adequate. However, the absence of an output schema and any behavioral details leaves questions about the response structure and the exact nature of 'movements', making it incomplete for a fully self-sufficient description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema fully documents lawsuit_id with 100% coverage ('Lawsuit ID'), so the baseline is 3. The description adds no additional meaning beyond the schema, neither clarifying the parameter's format nor its role in the request.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get') and resource ('movements/updates of a specific lawsuit'), making the core purpose understandable. However, it does not distinguish itself from sibling tools like advbox_get_lawsuit_history or advbox_get_last_movements, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus similar alternatives. There is no mention of use cases, prerequisites, or exclusions, leaving the agent to infer the appropriate context from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

advbox_get_publicationsB

Get publications for a specific lawsuit

ParametersJSON Schema
NameRequiredDescriptionDefault
lawsuit_idYesLawsuit ID

TDQS

B3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description alone must convey behavioral traits. It only restates the tool's basic function and gives no information about return format, error behavior, ordering, pagination, or permission requirements. The description adds no transparency beyond what the name implies.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler words. It is as concise as possible while conveying the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema and no annotations, the description fails to explain what a 'publication' is, the nature of the response, or any edge cases. It is adequate only for conveying the high-level purpose, but lacks context on behavior and results, making it incomplete for an agent to reliably use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes lawsuit_id as an integer 'Lawsuit ID' with 100% coverage. The description doesn't add any additional semantic detail beyond acknowledging the lawsuit context, so the schema carries the explanatory weight. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Get' with a clear resource 'publications' and scope 'for a specific lawsuit', distinguishing it from sibling tools like get_lawsuit or get_lawsuit_history. It is unambiguous and action-oriented.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus alternatives, or any prerequisites such as whether a lawsuit must exist. There is no mention of exclusions or fallback tools, leaving the agent without direction on selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

advbox_get_settingsA

Get Advbox account settings and configuration

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the full burden of behavioral disclosure. It indicates a read operation ('Get') but does not state side effects, return format, authentication requirements, or rate limits. The minimal description adds little beyond the basic verb, leaving the agent without key behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single six-word sentence, 'Get Advbox account settings and configuration.' It is extremely concise, front-loaded, and contains no unnecessary words, every word earning its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with a straightforward getter purpose, the description adequately states the core function. However, there is no output schema and the description does not explain what the returned settings look like or any operational context, making it complete enough for simple use but not deeply informative.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so schema description coverage is 100%. With no parameters, the description has no parameter semantics to add, and the baseline of 4 applies because there is nothing to clarify.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('Get') and resource ('Advbox account settings and configuration'), making the tool's purpose unambiguous. It also distinguishes from sibling tools like advbox_list_customers and advbox_get_customer, which target different resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no explicit guidance on when to use this tool versus alternatives, but the tool name and description strongly imply it is the go-to tool for retrieving account settings. Since no sibling tool covers settings, the usage context is implied rather than explicitly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

advbox_list_customersA

List customers from Advbox with various filter options including name, phone, email, location, and creation date. Returns paginated results.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoCustomer city
nameNoCustomer name or part of it (partial search)
emailNoCustomer email address
limitNoNumber of items (1-1000)
phoneNoCustomer phone (e.g., 48991234567)
stateNoCustomer state
offsetNoNumber of items to skip (pagination)
documentNoCustomer document number
birthdaysNoFilter customers with birthdays in current month
cellphoneNoCustomer cellphone
occupationNoCustomer occupation/profession
created_endNoEnd date for creation filter (YYYY-MM-DD)
created_startNoStart date for creation filter (YYYY-MM-DD)
identificationNoCustomer CPF/CNPJ

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. It adds value by mentioning pagination, which is a key behavioral trait. However, it does not disclose authentication requirements, default sorting, filter combination behavior, or response shape beyond 'paginated results', leaving notable gaps for a tool with 14 optional parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, concise, and front-loaded. It conveys the resource, capability, and key feature (paginated results) without wasted words. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 14 optional parameters and no output schema, the description is relatively thin. It mentions filtering and pagination but does not explain how filters combine, whether results have a default order, or what the response includes. The schema covers parameter semantics, so the description is minimally viable but not fully complete for such a complex listing tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds only a high-level summary of filters (name, phone, email, location, creation date) and does not provide additional semantics beyond what the schema already describes for each parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists customers from Advbox, with a specific verb ('List') and resource ('customers'), and mentions the primary capabilities (filtering, pagination). It distinguishes itself from siblings like advbox_get_customer (single customer retrieval) and advbox_create_customer (creation) by explicitly indicating a multi-record listing function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for customer listing with filtering and pagination, which is clear for selecting this over get_customer or create_customer. However, it does not explicitly name alternatives or state when not to use this tool, so it lacks explicit exclusions but provides adequate context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

advbox_list_lawsuitsA

List lawsuits from Advbox with various filter options including customer, process number, dates, stage, and responsible. Returns paginated results.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoLawsuit name or part of it
stepNoFilter by step (Aguardando retorno...)
typeNoFilter by type name or ID
groupNoFilter by group name or ID
limitNoNumber of items (1-100)
notesNoSearch in lawsuit notes
stageNoFilter by stage (Judicial, Recursal...)
folderNoLawsuit folder name
offsetNoPagination offset
created_endNoCreation date end (YYYY-MM-DD)
customer_idNoCustomer ID associated with the lawsuit
responsibleNoFilter by responsible person
created_startNoCreation date start (YYYY-MM-DD)
identificationNoCustomer CPF/CNPJ
process_numberNoProcess number
protocol_numberNoProtocol number
process_date_endNoProcess date end (YYYY-MM-DD)
process_date_startNoProcess date start (YYYY-MM-DD)
status_closure_endNoClosure date end (YYYY-MM-DD)
status_closure_startNoClosure date start (YYYY-MM-DD)

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. It adds the useful trait 'Returns paginated results,' which is not fully explicit in the schema. However, it omits other behavioral aspects like read-only nature, auth requirements, or filter combination behavior, so it is only partially transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the action, and every phrase adds value—the filter categories and pagination notice are substantive. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 20 parameters and no output schema, yet the description only covers the core action and pagination. It does not explain return fields, how filters interact, ordering, or other contextual details. Adequate but leaves meaningful gaps for such a complex tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description briefly references filter groups like customer, process number, dates, stage, and responsible, but does not add syntax, combination rules, or default behavior beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'List lawsuits from Advbox' with specific verb+resource. It distinguishes itself from sibling tools like advbox_get_lawsuit by indicating a listing (plural) rather than a single retrieval, and the mention of filter options clarifies its scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is provided on when to use this tool versus alternatives. While the description implies listing scenarios, it does not mention exclusions or reference siblings (e.g., advising to use advbox_get_lawsuit for a single lawsuit). Lacks clear contextual usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

advbox_list_tasksA

List tasks/appointments from Advbox. Note: Date filters require both start AND end dates. Maximum range is 90 days.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoFilter by specific task ID
limitNoNumber of items (1-100)
offsetNoPagination offset
task_idNoFilter by task type ID
user_idNoFilter by responsible user ID
date_endNoAppointment date end (YYYY-MM-DD) - requires date_start
user_nameNoFilter by user name (partial match)
date_startNoAppointment date start (YYYY-MM-DD) - requires date_end
lawsuit_idNoFilter by lawsuit ID
created_endNoCreation date end (YYYY-MM-DD) - requires created_start
deadline_endNoDeadline date end (YYYY-MM-DD) - requires deadline_start
completed_endNoCompletion date end (YYYY-MM-DD) - requires completed_start
created_startNoCreation date start (YYYY-MM-DD) - requires created_end
deadline_startNoDeadline date start (YYYY-MM-DD) - requires deadline_end
completed_startNoCompletion date start (YYYY-MM-DD) - requires completed_end

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must carry the transparency burden. It does disclose the paired date requirement and 90-day maximum range, which is useful. However, it does not explicitly state that the operation is read-only, nor does it mention pagination or return format, though 'List' implies read-only.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: the first states the purpose, the second provides a critical constraint. Every word earns its place, and the structure is front-loaded with the key action. There is no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (15 parameters, no output schema, no annotations), the description is succinct but adequately covers the essential context: it states what the tool does and highlights a key restriction (90-day range). The schema covers parameter details, so the description doesn't need to repeat them. It could mention response format, but for a list tool the implied paginated list is sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents all 15 parameters (100% coverage), so the baseline is 3. The description adds value beyond the schema by explicitly stating the maximum 90-day date range constraint, which is not present in any parameter description. This gives the agent additional context for constructing valid date filters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear verb and resource: 'List tasks/appointments from Advbox.' This precisely identifies the tool's action and scope, and distinguishes it from sibling tools like advbox_list_customers and advbox_list_lawsuits.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context that this is for tasks/appointments and includes a critical usage constraint: date filters require both start and end dates and the date range is limited to 90 days. It doesn't explicitly exclude alternatives, but the tool's name and purpose make the use case obvious.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

advbox_list_transactionsA

List financial transactions from Advbox with comprehensive filter options

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoFilter by category
debit_bankNoFilter by debit bank
lawsuit_idNoFilter by lawsuit ID
cost_centerNoFilter by cost center
created_endNoCreation date end (YYYY-MM-DD)
descriptionNoFilter by description
responsibleNoFilter by responsible person
date_due_endNoDue date end (YYYY-MM-DD)
created_startNoCreation date start (YYYY-MM-DD)
customer_nameNoFilter by customer name
competence_endNoCompetence date end (YYYY-MM-DD)
date_due_startNoDue date start (YYYY-MM-DD)
process_numberNoFilter by process number
protocol_numberNoFilter by protocol number
competence_startNoCompetence date start (YYYY-MM-DD)
date_payment_endNoPayment date end (YYYY-MM-DD)
date_payment_startNoPayment date start (YYYY-MM-DD)
customer_identificationNoFilter by customer CPF/CNPJ

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry behavioral disclosure. It only says 'comprehensive filter options' and gives no insight into read-only nature, pagination, rate limits, authentication, or default behavior. The 'list' verb implies read-only, but that's not explicitly stated, leaving gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that wastes no words. It efficiently captures the key action and resource, then moves on.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 18 parameters and no output schema, the description is thin. It doesn't mention sorting, pagination, result limits, or any operation-specific behavior. While the schema covers filters, the description offers little beyond the tool name, so it falls short of complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds no parameter meaning beyond what the schema already provides; it merely calls filters 'comprehensive'. No extra semantics are given.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb + resource: 'List financial transactions from Advbox'. This clearly distinguishes it from sibling tools that list customers, lawsuits, or tasks. No ambiguity about what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The context is clear: this is the go-to tool for listing financial transactions, directly distinguished from siblings by the resource type. However, it lacks explicit 'when to use vs alternatives' guidance or any exclusions, so it doesn't hit the top score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

advbox_update_lawsuitC

Update an existing lawsuit in Advbox

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesLawsuit ID to update
notesNoNotes
folderNoFolder name
stages_idNoStage ID
process_numberNoProcess number
protocol_numberNoProtocol number
type_lawsuits_idNoLawsuit type ID

TDQS

C2.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. The text only restates the action from the tool name ('Update an existing lawsuit') and offers no information about side effects, whether it does partial or full updates, required permissions, or the nature of the operation beyond the verb, giving the agent almost no behavioral transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that directly states the tool's purpose. It contains no superfluous words and is easy to parse, earning full marks for conciseness and structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 7 parameters, no annotations, and no output schema, the description is severely under-specified. It doesn't explain what happens after updating, what the return value is, or how the update behaves (e.g., whether unspecified fields are left unchanged). This is a mutation tool with minimal guidance, comparable to the update_drive example that also scored a 2.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema documents all 7 parameters with descriptions, so schema coverage is 100%. The tool description adds no additional meaning beyond what the schema already captures, so it appropriately hits the baseline of 3 for relying on the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (update) and the resource (an existing lawsuit in Advbox), which is specific enough to understand the tool's basic function. However, it doesn't distinguish this from sibling tools like advbox_create_lawsuit or advbox_get_lawsuit beyond the verb, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives, no prerequisites, and no mention of whether it's appropriate for partial updates or only full replacements. The description merely states what it does without contextual usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 17 tool updatesv1.0.0
    • First observedadvbox_create_customer
    • First observedadvbox_create_lawsuit
    • First observedadvbox_create_movement
    • First observedadvbox_create_task
    • First observedadvbox_get_birthdays
    • First observedadvbox_get_customer
    • First observedadvbox_get_last_movements
    • First observedadvbox_get_lawsuit
    • First observedadvbox_get_lawsuit_history
    • First observedadvbox_get_lawsuit_movements
    • First observedadvbox_get_publications
    • First observedadvbox_get_settings
    • First observedadvbox_list_customers
    • First observedadvbox_list_lawsuits
    • First observedadvbox_list_tasks
    • First observedadvbox_list_transactions
    • First observedadvbox_update_lawsuit

TDQS

B3.4/5.0
Disambiguation4/5

Most tools are clearly distinct by resource and action (e.g., list_customers vs get_customer vs create_customer). The only minor overlap is between get_lawsuit_history and get_lawsuit_movements, but descriptions clarify their different scopes.

Naming Consistency5/5

All tools follow a consistent advbox_verb_noun pattern, using standard verbs like list, get, create, and update. There are no mixed naming conventions or vague verbs.

Tool Count4/5

17 tools is slightly heavy for a typical server, but it covers multiple entities (customers, lawsuits, tasks, transactions, settings) in a coherent way. Each tool has a clear role, and the count is justified by the broad domain.

Completeness3/5

Core workflows are covered (create/get/list lawsuits, customers, tasks), but there are gaps: no update or delete for customers and tasks, no transaction detail, and no create/delete for tasks. These omissions could require workarounds but do not break primary use cases.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JonasSousaAP/advbox-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server