> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Referência de ferramentas do MCP

O AppSignal MCP expõe 24 ferramentas em sete áreas: **incidentes de erro**, **performance**, **detecção de anomalias**, **logging**, **métricas**, **dashboards** e **descoberta de apps**. As ferramentas incluem operações de leitura e escrita.

## Workflows

Estes exemplos mostram como as ferramentas se combinam para tarefas comuns.

### Investigando um erro de produção

1. Liste as exceções abertas recentes: *"Show me all open incidents in production from the last 24 hours"*
2. Obtenha detalhes completos sobre um incidente específico: *"Get the details for incident #847 including the stack trace"*
3. Puxe traces para ver o que aconteceu no nível do código: *"Get the error traces for incident #847"*
4. Documente seus achados: *"Add a note to incident #847: investigated the database timeout — connection pool was exhausted during peak traffic"*
5. Resolva-o: *"Close incident #847"*

### Analisando uma action lenta

1. Obtenha uma visão geral de performance: *"Which actions are slowest in the web namespace right now?"*
2. Puxe traces para o pior caso: *"Get traces for BlogPostsController#index from the last hour"*
3. Inspecione a árvore de spans para encontrar o gargalo: *"Show me the full span tree for trace abc123"*
4. Investigue um span específico: *"Get the details for span def456 in trace abc123"*

### Fazendo triagem de um lote de incidentes

1. *"Find all open incidents in the background namespace from the last week"*
2. *"Mark incidents #120, #121, and #122 as work in progress and assign them to Jana"*
3. *"Close all incidents related to ActionMailer — they were fixed in the last deploy"*

### Pesquisando logs durante um incidente

1. *"Find all error logs from the last hour"*
2. *"Show me logs where message contains 'timeout' on web-1 between 14:00 and 15:00"*
3. *"Get fatal logs from the payments source over the last 30 minutes"*

### Reconstruindo a jornada de um cliente

Quando um usuário reporta que algo deu errado, a resposta geralmente está espalhada por logs de várias fontes, além de erros e traces. Costurar essa linha do tempo à mão é o tipo de trabalho que a UI de logging não pode fazer por você, mas um agente pode.

1. *"Get all logs for user.id=4321 from production over the last 24 hours, across every source"*
2. *"Narrow that to the window between 14:00 and 15:30 UTC and group the results by source"*
3. *"List any open exception incidents from production in that same window — anything tagged with user.id=4321?"*
4. *"For incident #903, pull the error traces and walk the span tree"*
5. *"Summarize what happened: which actions did this user hit, what failed, and where did the error originate?"*

Isso usa `get_log_lines`, `get_exception_incidents` e `get_traces` em uma única conversa. A etapa final de resumo é onde o MCP entrega valor — o agente compõe a narrativa, e não você.

### Configurando processamento de logs

O AppSignal executa ações em linhas de log durante a ingestão, na ordem que você definir. Um padrão comum é emitir uma métrica, criar um gatilho e depois filtrar — isso garante que o AppSignal capture o sinal antes de descartar a linha de log.

1. Verifique as ações de log line existentes e sua ordem: use `get_app_resources` com `sections: ["log_line_actions"]`
2. *"Create a metrics action that counts log lines where severity is error as log.error\_count"*
3. *"Add a trigger action that fires an alert when severity is fatal"*
4. *"Add a filter to drop all health check log lines"*
5. *"Reorder those actions so the metrics action runs first, then the trigger, then the filter"*

### Criando um gatilho de detecção de anomalias

1. Descubra as métricas disponíveis: *"What metrics are available for my production app?"*
2. Verifique as tags disponíveis: *"What tags are available for response\_time?"*
3. Crie o gatilho: *"Create a trigger that fires when mean response time exceeds 500ms for more than 5 minutes, and notify the Slack #alerts channel"*
4. Arquive um gatilho antigo depois de substituído: use `get_triggers` para encontrar o ID primeiro, depois *"Archive the old response\_time trigger"*

### Construindo um dashboard de monitoramento

1. *"What metrics are available for my production app?"*
2. *"Create a dashboard called 'API Health' in production"*
3. *"Add a line chart of p95 response time by action to the API Health dashboard"*
4. *"Add an area chart of error rate broken down by namespace"*

***

## Referência de ferramentas

Toda ferramenta recebe `app_name` e `app_environment` para identificar a aplicação alvo. Ambos são comparados sem diferenciar maiúsculas de minúsculas, então `MyApp/Production` e `myapp/production` resolvem para a mesma aplicação.

### Descoberta de apps

#### `get_applications`

Obtenha todas as aplicações do AppSignal às quais o usuário tem acesso.

Retorna as aplicações no formato `app_name/app_environment`. Use isto primeiro para descobrir as aplicações disponíveis antes de chamar outras ferramentas.

Nenhum parâmetro é necessário.

***

#### `get_app_resources`

Descubra os recursos disponíveis em uma aplicação do AppSignal — namespaces, dashboards, usuários, notificadores, fontes de log, ações de log line e marcadores de deploy.

Particularmente útil ao configurar gatilhos, atribuir incidentes ou entender a estrutura de uma aplicação.

| Parâmetro         | Obrigatório | Descrição                                                                                                                                                                 |
| ----------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `app_name`        | sim         | Nome da aplicação do AppSignal.                                                                                                                                           |
| `app_environment` | sim         | Ambiente (por exemplo, `production`, `staging`).                                                                                                                          |
| `sections`        | não         | Seções para obter: `users`, `notifiers`, `namespaces`, `dashboards`, `log_sources`, `log_line_actions`, `log_views`, `deploy_markers`. Retorna todas se não especificado. |

***

### Incidentes de erro

#### `get_exception_incidents`

Liste e pesquise exceções e erros do AppSignal.

Use isto para obter uma visão geral de exceções recentes, pesquisar em um período de tempo, encontrar incidentes por estado, ou verificar quais incidentes precisam de atenção. Retorna 50 incidentes por página.

| Parâmetro         | Obrigatório | Descrição                                                                                              |
| ----------------- | ----------- | ------------------------------------------------------------------------------------------------------ |
| `app_name`        | sim         | Nome da aplicação do AppSignal.                                                                        |
| `app_environment` | sim         | Ambiente.                                                                                              |
| `namespaces`      | não         | Lista separada por vírgulas de namespaces para filtrar (por exemplo, `web,background`).                |
| `start`           | não         | Início do intervalo de tempo no formato ISO 8601. Padrão para o deploy mais recente se omitido.        |
| `end`             | não         | Fim do intervalo de tempo no formato ISO 8601. Obrigatório se `start` for fornecido.                   |
| `states`          | não         | Estados separados por vírgulas: `open`, `closed`, `wip`. Retorna todos os estados se não especificado. |
| `page`            | não         | Número da página (começando em 1, padrão 1).                                                           |

***

#### `get_incident`

Obtenha informações detalhadas sobre um incidente do AppSignal.

Retorna o estado atual, atribuição, primeira e última ocorrência, mensagens de erro, stack traces ou detalhes de alerta de anomalia. Suporta incidentes de exceção e anomalia.

| Parâmetro         | Obrigatório | Descrição                                                          |
| ----------------- | ----------- | ------------------------------------------------------------------ |
| `app_name`        | sim         | Nome da aplicação do AppSignal.                                    |
| `app_environment` | sim         | Ambiente.                                                          |
| `number`          | sim         | O ID numérico do incidente exibido nas URLs e listas do AppSignal. |

***

#### `update_incidents`

Atualize incidentes em massa para uma aplicação do AppSignal.

Use isto para alterar o estado do incidente, atualizar a severidade ou atribuir e desatribuir membros da equipe em vários incidentes de uma vez. Use `get_app_resources` com `sections: ["users"]` para encontrar IDs de usuários para atribuição.

| Parâmetro         | Obrigatório | Descrição                                                                       |
| ----------------- | ----------- | ------------------------------------------------------------------------------- |
| `app_name`        | sim         | Nome da aplicação do AppSignal.                                                 |
| `app_environment` | sim         | Ambiente.                                                                       |
| `incidents`       | não         | Lista de números de incidentes para atualizar (por exemplo, `[123, 456, 789]`). |
| `state`           | não         | `open`, `closed` ou `wip` (work in progress).                                   |
| `severity`        | não         | `critical`, `high`, `low`, `none`, `informational` ou `untriaged`.              |
| `assign_users`    | não         | Lista de IDs de usuários para atribuir como responsáveis.                       |
| `unassign_users`  | não         | Lista de IDs de usuários para remover do incidente.                             |

***

#### `create_incident_note`

Crie uma nota em um incidente do AppSignal. Markdown é suportado.

Use isto para adicionar comentários, atualizações de status, descobertas de investigação ou passos de resolução.

| Parâmetro         | Obrigatório | Descrição                                          |
| ----------------- | ----------- | -------------------------------------------------- |
| `app_name`        | sim         | Nome da aplicação do AppSignal.                    |
| `app_environment` | sim         | Ambiente.                                          |
| `number`          | sim         | O ID numérico do incidente.                        |
| `content`         | sim         | Conteúdo da nota. Formatação Markdown é suportada. |

***

### Performance

#### `get_performance`

Visão geral de performance: incidentes de performance baseados em amostras e actions lentas a partir de traces.

Para apps padrão de Ruby e Elixir, retorna incidentes de performance baseados em amostras. Para apps que também enviam traces do OpenTelemetry, retorna adicionalmente uma lista ranqueada de actions com duração média, throughput e taxa de erro. Apps em migração para OpenTelemetry podem retornar ambos.

Ferramentas de acompanhamento: use `get_incident` para inspecionar um incidente de performance específico, `get_traces` para puxar traces de amostra para uma action lenta, e `update_incidents` para alterar estado, severidade ou responsáveis.

| Parâmetro         | Obrigatório | Descrição                                                                                                                                                                                                                                  |
| ----------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `app_name`        | sim         | Nome da aplicação do AppSignal.                                                                                                                                                                                                            |
| `app_environment` | sim         | Ambiente.                                                                                                                                                                                                                                  |
| `namespaces`      | não         | Namespaces separados por vírgula. Aplica-se a incidentes de performance e a actions OpenTelemetry.                                                                                                                                         |
| `start`           | não         | Início do intervalo de tempo no formato ISO 8601. Padrão para o deploy mais recente em incidentes baseados em amostras, ou 24 horas atrás para actions OpenTelemetry.                                                                      |
| `end`             | não         | Fim do intervalo de tempo no formato ISO 8601. Obrigatório se `start` for fornecido.                                                                                                                                                       |
| `states`          | não         | Estados separados por vírgula: `open`, `closed`, `wip`. Aplica-se apenas a incidentes baseados em amostras.                                                                                                                                |
| `revision`        | não         | Escopa para um deploy específico. Use `"last"` para o deploy mais recente, ou passe um hash de revisão. Ignorado quando `start`/`end` é fornecido. Use `get_app_resources(sections: ["deploy_markers"])` para listar revisões disponíveis. |
| `page`            | não         | Número da página para incidentes baseados em amostras (começando em 1, padrão 1). Actions OpenTelemetry são retornadas como uma lista ranqueada completa.                                                                                  |

***

#### `get_traces`

Consulte traces de performance e erro, inspecione árvores de spans e visualize detalhes de spans.

Suporta dois tipos de trace:

* **Performance traces** — identificados por namespace e `action_name`. Use-os para investigar requisições lentas.
* **Error traces** — identificados por digest. Obtenha o digest a partir de `get_incident` ou `get_exception_incidents`, depois use-o aqui para ver os traces de erro reais.

Cada tipo de trace suporta três modos:

1. **Modo de lista** — encontre traces e obtenha IDs de trace. Forneça namespace + `action_name`, ou `digest`.
2. **Modo de árvore** — passe um `trace_id` para ver todos os spans como uma árvore compacta.
3. **Modo de detalhe de span** — passe `trace_id` e `span_id` para obter atributos completos do span, eventos e informações de recurso.

O fluxo típico é: listar traces → inspecionar uma árvore de trace → investigar um span.

| Parâmetro         | Obrigatório       | Descrição                                                                                                                    |
| ----------------- | ----------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `app_name`        | sim               | Nome da aplicação do AppSignal.                                                                                              |
| `app_environment` | sim               | Ambiente.                                                                                                                    |
| `namespace`       | sim (performance) | O namespace para pesquisar (por exemplo, `web`, `background`). Não é necessário para error traces.                           |
| `action_name`     | sim (performance) | O nome da action (por exemplo, `BlogPostsController#index`). Não é necessário para error traces.                             |
| `digest`          | sim (erro)        | O digest do incidente de exceção. Alterna para modo de error trace. Não pode ser combinado com `namespace` ou `action_name`. |
| `trace_id`        | não               | Alterna para modo de árvore. Retorna todos os spans deste trace.                                                             |
| `span_id`         | não               | Alterna para modo de detalhe de span. Requer `trace_id`.                                                                     |
| `start`           | não               | Início do intervalo de tempo no formato ISO 8601. Padrão para 24 horas atrás. Apenas performance traces.                     |
| `end`             | não               | Fim do intervalo de tempo no formato ISO 8601. Padrão para agora. Apenas performance traces.                                 |
| `min_duration_ms` | não               | Filtra para traces mais lentos do que este limite em milissegundos. Apenas modo de lista.                                    |
| `limit`           | não               | Número máximo de traces a retornar (1–100, padrão 25). Apenas modo de lista.                                                 |

***

### Detecção de anomalias

#### `get_anomaly_incidents`

Liste e pesquise alertas de detecção de anomalias do AppSignal.

Retorna 50 alertas por página, incluindo timestamps e valores para cada alerta.

| Parâmetro         | Obrigatório | Descrição                                                                                           |
| ----------------- | ----------- | --------------------------------------------------------------------------------------------------- |
| `app_name`        | sim         | Nome da aplicação do AppSignal.                                                                     |
| `app_environment` | sim         | Ambiente.                                                                                           |
| `state`           | não         | `open`, `closed`, `warmup`, `cooldown` ou `archived`. Retorna todos os estados se não especificado. |
| `trigger_id`      | não         | Filtra para incidentes de um gatilho específico. Use `get_triggers` para encontrar IDs de gatilhos. |
| `page`            | não         | Número da página (começando em 1, padrão 1).                                                        |

***

#### `get_triggers`

Liste gatilhos de detecção de anomalias para uma aplicação do AppSignal.

Retorna gatilhos ativos (não arquivados) com sua configuração completa — condições, notificadores e links de dashboard. Use isto para encontrar IDs de gatilhos antes de chamar `manage_trigger` ou `archive_trigger`.

| Parâmetro         | Obrigatório | Descrição                                                                 |
| ----------------- | ----------- | ------------------------------------------------------------------------- |
| `app_name`        | sim         | Nome da aplicação do AppSignal.                                           |
| `app_environment` | sim         | Ambiente.                                                                 |
| `metric_name`     | não         | Filtra pelo nome da métrica (por exemplo, `response_time`, `error_rate`). |
| `kind`            | não         | Filtra pelo tipo de gatilho.                                              |
| `tags`            | não         | Filtra por tags, por exemplo, `[{"key": "hostname", "value": "web-1"}]`.  |
| `page`            | não         | Número da página (começando em 1, padrão 1).                              |

***

#### `manage_trigger`

Crie ou atualize um gatilho de detecção de anomalias.

Os gatilhos são imutáveis. Quando você atualiza um gatilho, o AppSignal arquiva o existente (fechando todos os seus alertas e incidentes) e cria um novo com uma referência de cadeia de versão. Forneça todos os campos tanto para operações de criação quanto de atualização.

Use `get_metric_names` e `get_metric_tags` para descobrir métricas e campos disponíveis. Use `get_app_resources(sections: ["notifiers"])` para encontrar IDs de notificadores.

| Parâmetro             | Obrigatório | Descrição                                                                                                  |
| --------------------- | ----------- | ---------------------------------------------------------------------------------------------------------- |
| `app_name`            | sim         | Nome da aplicação do AppSignal.                                                                            |
| `app_environment`     | sim         | Ambiente.                                                                                                  |
| `metric_name`         | sim         | A métrica que este gatilho monitora.                                                                       |
| `kind`                | sim         | Tipo de gatilho. Use `"Advanced"` para métricas personalizadas.                                            |
| `field`               | sim         | Campo da métrica para comparar: `gauge`, `mean`, `p90`, `p95`, `counter` ou `count`.                       |
| `condition_value`     | sim         | Valor do limite (por exemplo, `500.0` para "tempo de resposta > 500ms").                                   |
| `comparison_operator` | sim         | `<`, `>`, `<=`, `>=`, `==` ou `!=`.                                                                        |
| `warmup_duration`     | sim         | Minutos em que a condição deve ser atendida antes de um alerta ser aberto. Use `0` para imediato.          |
| `cooldown_duration`   | sim         | Minutos em que a condição não deve mais ser atendida antes de um alerta ser fechado.                       |
| `id`                  | não         | ID de um gatilho existente para atualizar. Se fornecido, arquiva o gatilho antigo e cria um novo.          |
| `notifier_ids`        | não         | IDs de notificadores para os quais enviar alertas.                                                         |
| `tags`                | não         | Filtros de tag para escopar quais métricas são incluídas. Suporta wildcards (`*`).                         |
| `name`                | não         | Nome de exibição. Padrão para o nome da métrica se não fornecido.                                          |
| `description`         | não         | Descrição do que este gatilho monitora e o que fazer quando ele dispara.                                   |
| `dashboard_id`        | não         | ID do dashboard para vincular em notificações.                                                             |
| `no_match_is_zero`    | não         | Se true, trata dados de métrica ausentes como 0. Útil para counters que podem não reportar quando ociosos. |
| `format`              | não         | Formato dos dados da métrica (por exemplo, `duration`, `size`, `percent`).                                 |

***

#### `archive_trigger`

Arquive um gatilho de detecção de anomalias e feche todos os alertas e incidentes associados.

Idempotente — não faz nada se o gatilho já estiver arquivado. Use `get_triggers` para encontrar o ID do gatilho.

| Parâmetro         | Obrigatório | Descrição                       |
| ----------------- | ----------- | ------------------------------- |
| `app_name`        | sim         | Nome da aplicação do AppSignal. |
| `app_environment` | sim         | Ambiente.                       |
| `id`              | sim         | ID do gatilho a arquivar.       |

***

### Logging

#### `get_log_lines`

Consulte linhas de log usando a sintaxe de expressão do AppSignal.

Suporta correspondência exata, contém, negação, comparações numéricas, lógica booleana e atributos aninhados. Retorna até 100 linhas por chamada, mais recentes primeiro por padrão. Para intervalos de tempo grandes, divida em várias chamadas e itere para frente.

**Sintaxe de consulta:**

| Padrão                | Exemplo                                                 |
| --------------------- | ------------------------------------------------------- |
| Correspondência exata | `severity=error`                                        |
| Contém                | `message:timeout`                                       |
| Não contém            | `message!:debug`                                        |
| Diferente de          | `hostname!=web-1`                                       |
| Comparação numérica   | `duration>100`                                          |
| Lógica booleana       | `severity=error AND (hostname=web-1 OR hostname=web-2)` |
| Valores entre aspas   | `group="background jobs"`                               |
| Atributos aninhados   | `user.id=123`                                           |

Campos disponíveis: `severity`, `hostname`, `group`, `message`, e quaisquer atributos personalizados.

| Parâmetro         | Obrigatório | Descrição                                                                                                                                                 |
| ----------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `app_name`        | sim         | Nome da aplicação do AppSignal.                                                                                                                           |
| `app_environment` | sim         | Ambiente.                                                                                                                                                 |
| `query`           | sim         | Consulta de expressão. Use uma string vazia para obter todos os logs.                                                                                     |
| `source_ids`      | não         | IDs de fontes de log para consultar. Consulta todas as fontes se não especificado. Use `get_app_resources(sections: ["log_sources"])` para encontrar IDs. |
| `start`           | não         | Início do intervalo de tempo no formato ISO 8601. Padrão para uma janela de consulta atrás.                                                               |
| `end`             | não         | Fim do intervalo de tempo no formato ISO 8601. Padrão para agora.                                                                                         |
| `limit`           | não         | Número de linhas de log para retornar (1–100, padrão 50).                                                                                                 |
| `order`           | não         | `desc` (mais recente primeiro, padrão) ou `asc` (mais antigo primeiro).                                                                                   |

***

#### `manage_log_line_action`

Crie ou atualize uma ação de log line.

As ações de log line são executadas durante a ingestão de logs, na ordem que você definir. Existem três tipos:

* **filter** — descarta as linhas de log correspondentes para que nunca sejam armazenadas ou processadas posteriormente
* **trigger** — dispara alertas e incidentes quando a query corresponde
* **metrics** — extrai métricas de counter, gauge ou distribution das linhas de log correspondentes

A ordem de execução importa: se um filtro descartar uma linha de log, as ações subsequentes nunca a verão. Um padrão comum é colocar ações de métrica e gatilho antes de qualquer ação de filtro. Use `reorder_log_line_actions` para alterar a ordem após a criação.

Novas ações são adicionadas no final da ordem de execução.

| Parâmetro          | Obrigatório   | Descrição                                                                                                                                                                                                                                                                                                       |
| ------------------ | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `app_name`         | sim           | Nome da aplicação do AppSignal.                                                                                                                                                                                                                                                                                 |
| `app_environment`  | sim           | Ambiente.                                                                                                                                                                                                                                                                                                       |
| `name`             | sim (criação) | Nome da ação (por exemplo, `"Drop health checks"`, `"Track error count"`).                                                                                                                                                                                                                                      |
| `query`            | sim (criação) | Expressão de query para corresponder às linhas de log.                                                                                                                                                                                                                                                          |
| `action_type`      | sim (criação) | `filter`, `trigger` ou `metrics`. Não pode ser alterado em uma atualização.                                                                                                                                                                                                                                     |
| `id`               | não           | ID de uma ação existente para atualizar. Se omitido, cria uma nova ação.                                                                                                                                                                                                                                        |
| `source_ids`       | não           | IDs de fontes de log às quais esta ação se aplica. Aplica-se a todas as fontes se não especificado.                                                                                                                                                                                                             |
| `log_line_metrics` | não           | Definições de métrica para extrair. Obrigatório ao criar uma ação `metrics`. Cada métrica requer `name` e `metric_type` (`counter`, `gauge` ou `distribution`). `gauge` e `distribution` também requerem um `field` do qual extrair o valor. Ao atualizar, substitui todas as definições de métrica existentes. |

***

#### `reorder_log_line_actions`

Altere a ordem de execução das ações de log line.

Forneça IDs de ação na sequência desejada. Quaisquer IDs de ação não incluídos são adicionados no final em sua ordem relativa atual. Use `get_app_resources(sections: ["log_line_actions"])` para encontrar os IDs e ver a ordem atual.

| Parâmetro         | Obrigatório | Descrição                                                                                                   |
| ----------------- | ----------- | ----------------------------------------------------------------------------------------------------------- |
| `app_name`        | sim         | Nome da aplicação do AppSignal.                                                                             |
| `app_environment` | sim         | Ambiente.                                                                                                   |
| `action_ids`      | sim         | Lista ordenada de IDs de ações de log line. O primeiro ID da lista é executado primeiro durante a ingestão. |

***

#### `delete_log_line_action`

Exclua permanentemente uma ação de log line.

Use `get_app_resources(sections: ["log_line_actions"])` para encontrar o ID da ação primeiro.

| Parâmetro         | Obrigatório | Descrição                         |
| ----------------- | ----------- | --------------------------------- |
| `app_name`        | sim         | Nome da aplicação do AppSignal.   |
| `app_environment` | sim         | Ambiente.                         |
| `id`              | sim         | ID da ação de log line a excluir. |

***

### Métricas

#### `discover_metrics`

Descubra categorias de métricas disponíveis e suas métricas para monitoramento.

Use isto para obter uma visão geral do que pode monitorar, ou para investigar uma categoria específica. Também aceita uma referência `dashboard:id` para mostrar métricas usadas em um dashboard específico.

| Parâmetro         | Obrigatório | Descrição                                                                                                           |
| ----------------- | ----------- | ------------------------------------------------------------------------------------------------------------------- |
| `app_name`        | sim         | Nome da aplicação do AppSignal.                                                                                     |
| `app_environment` | sim         | Ambiente.                                                                                                           |
| `metric_subject`  | não         | Nome da categoria de métrica (por exemplo, `performance_metrics`, `host_metrics`) ou uma referência `dashboard:id`. |

***

#### `get_metric_names`

Obtenha os nomes de todas as métricas para a aplicação fornecida.

Retorna os nomes das métricas como uma string separada por vírgulas. Use-os como entrada para `get_metric_tags`, `get_metrics_timeseries` e `get_metrics_list`.

| Parâmetro         | Obrigatório | Descrição                       |
| ----------------- | ----------- | ------------------------------- |
| `app_name`        | sim         | Nome da aplicação do AppSignal. |
| `app_environment` | sim         | Ambiente.                       |

***

#### `get_metric_tags`

Obtenha as tags e o tipo de métrica (Gauge, Counter, etc.) para uma métrica específica.

Use os resultados para construir queries válidas com `get_metrics_timeseries` e `get_metrics_list`.

| Parâmetro         | Obrigatório | Descrição                                                                    |
| ----------------- | ----------- | ---------------------------------------------------------------------------- |
| `app_name`        | sim         | Nome da aplicação do AppSignal.                                              |
| `app_environment` | sim         | Ambiente.                                                                    |
| `metric_name`     | sim         | Nome da métrica. Use `get_metric_names` para encontrar métricas disponíveis. |

***

#### `get_metrics_timeseries`

Obtenha uma timeseries para uma métrica na aplicação fornecida.

Retorna dados ponto a ponto para um determinado intervalo de tempo, tipo de métrica e combinação de tags. Os valores de tag suportam correspondência por wildcard com `*`.

| Parâmetro         | Obrigatório | Descrição                                                                                                |
| ----------------- | ----------- | -------------------------------------------------------------------------------------------------------- |
| `app_name`        | sim         | Nome da aplicação do AppSignal.                                                                          |
| `app_environment` | sim         | Ambiente.                                                                                                |
| `metric_name`     | sim         | Nome da métrica.                                                                                         |
| `metric_type`     | sim         | `COUNT`, `COUNTER`, `GAUGE`, `MEAN`, `P90` ou `P95`. Use `get_metric_tags` para encontrar o tipo válido. |
| `start`           | sim         | Início do intervalo de tempo no formato ISO 8601.                                                        |
| `end`             | sim         | Fim do intervalo de tempo no formato ISO 8601.                                                           |
| `tags`            | não         | Filtros de tag, por exemplo, `[{"key": "hostname", "value": "web*"}]`. Suporta wildcards `*`.            |

***

#### `get_metrics_list`

Obtenha um valor agregado para uma métrica em um intervalo de tempo.

Retorna um único valor agregado em vez de uma timeseries ponto a ponto. Útil para visões de resumo.

| Parâmetro         | Obrigatório | Descrição                                                                   |
| ----------------- | ----------- | --------------------------------------------------------------------------- |
| `app_name`        | sim         | Nome da aplicação do AppSignal.                                             |
| `app_environment` | sim         | Ambiente.                                                                   |
| `metric_name`     | sim         | Nome da métrica.                                                            |
| `metric_type`     | sim         | `COUNT`, `COUNTER`, `GAUGE`, `MEAN`, `P90` ou `P95`.                        |
| `start`           | sim         | Início do intervalo de tempo no formato ISO 8601.                           |
| `end`             | sim         | Fim do intervalo de tempo no formato ISO 8601.                              |
| `tags`            | não         | Filtros de tag, por exemplo, `[{"key": "hostname", "value": "frontend1"}]`. |

***

### Dashboards

#### `manage_dashboard`

Crie ou atualize um dashboard do AppSignal.

Esta ferramenta gerencia apenas os metadados do dashboard (título e descrição). Use `create_dashboard_visual` e `update_dashboard_visual` para adicionar gráficos.

| Parâmetro         | Obrigatório | Descrição                                                                        |
| ----------------- | ----------- | -------------------------------------------------------------------------------- |
| `app_name`        | sim         | Nome da aplicação do AppSignal.                                                  |
| `app_environment` | sim         | Ambiente.                                                                        |
| `title`           | sim         | Título do dashboard.                                                             |
| `description`     | não         | Descrição do propósito e do conteúdo do dashboard.                               |
| `id`              | não         | ID do dashboard para atualizar um dashboard existente. Omita para criar um novo. |

***

#### `create_dashboard_visual`

Adicione um novo gráfico ou visualização a um dashboard existente.

Use `discover_metrics` ou `get_metrics_list` para encontrar métricas disponíveis primeiro.

| Parâmetro           | Obrigatório | Descrição                                                                                                                             |
| ------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `app_name`          | sim         | Nome da aplicação do AppSignal.                                                                                                       |
| `app_environment`   | sim         | Ambiente.                                                                                                                             |
| `dashboard_id`      | sim         | ID do dashboard ao qual adicionar o visual.                                                                                           |
| `title`             | sim         | Título do gráfico.                                                                                                                    |
| `metrics`           | sim         | Array de métricas para exibir. Cada uma requer `name`, `fields` (por exemplo, `mean`, `p90`, `p95`, `count`), e opcionalmente `tags`. |
| `description`       | não         | Contexto adicional sobre o visual.                                                                                                    |
| `display`           | não         | `line` (padrão), `area` ou `area_relative`.                                                                                           |
| `line_label`        | não         | Rótulo personalizado para linhas do gráfico. Suporta substituições `%name%`, `%field%` e `%tag%`.                                     |
| `format`            | não         | Formato de valor, por exemplo, `duration`, `size`, `percentage`.                                                                      |
| `draw_null_as_zero` | não         | Se deve desenhar pontos de dados ausentes como zero. Padrão: `false`.                                                                 |
| `min_y_axis`        | não         | Valor mínimo do eixo Y.                                                                                                               |
| `tags`              | não         | Tags globais aplicadas a todas as métricas neste visual.                                                                              |

***

#### `update_dashboard_visual`

Atualize um gráfico ou visualização existente em um dashboard.

Todos os campos são opcionais, exceto os identificadores. Campos não especificados mantêm seus valores atuais. Se `metrics` for fornecido, ele substitui todas as métricas existentes naquele visual.

| Parâmetro           | Obrigatório | Descrição                                                                                         |
| ------------------- | ----------- | ------------------------------------------------------------------------------------------------- |
| `app_name`          | sim         | Nome da aplicação do AppSignal.                                                                   |
| `app_environment`   | sim         | Ambiente.                                                                                         |
| `visual_id`         | sim         | ID do componente visual a atualizar.                                                              |
| `title`             | não         | Novo título. O título atual é mantido se não fornecido.                                           |
| `description`       | não         | Nova descrição. Defina como uma string vazia para remover.                                        |
| `metrics`           | não         | Array de métricas atualizado. Substitui todas as métricas existentes se fornecido.                |
| `display`           | não         | `line`, `area` ou `area_relative`.                                                                |
| `line_label`        | não         | Rótulo personalizado para linhas do gráfico. Suporta substituições `%name%`, `%field%` e `%tag%`. |
| `format`            | não         | Formato de valor, por exemplo, `duration`, `size`, `percentage`.                                  |
| `draw_null_as_zero` | não         | Se deve desenhar pontos de dados ausentes como zero.                                              |
| `min_y_axis`        | não         | Valor mínimo do eixo Y.                                                                           |
| `tags`              | não         | Tags globais. Substitui as tags globais existentes se fornecido.                                  |

***

## Permissões de token

Cada token MCP tem permissões configuráveis por conjunto de ferramentas: `app`, `exceptions`, `performance`, `metrics`, `anomalies`, `dashboards`, `logging`. Cada conjunto de ferramentas pode ser definido como `read`, `write` ou desabilitado.

Os tokens também podem ser escopados para aplicações específicas e configurados para expor automaticamente novas ferramentas conforme elas são adicionadas.

Para gerar um token:

1. Selecione o ícone do seu perfil.
2. Vá para **Account Settings**.
3. Selecione **MCP Tokens** para criar um novo token.

***

## Faltando uma ferramenta?

<Tip>
  Se seu agente de IA ou editor não conseguir realizar algo que você esperaria
  que fosse possível, avise-o. O AppSignal MCP inclui um mecanismo de feedback
  integrado que registra solicitações de capacidades que ainda não existem — isso ajuda a
  equipe do AppSignal a priorizar o que construir em seguida. Você também pode postar pedidos
  de recursos na <a href="https://discord.gg/fT2cbMuQSJ">comunidade no Discord</a>.
</Tip>
