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

# Call any tool

> Search the tools MoleSignal offers, call any of them with arguments from the terminal, open MoleSignal pages, and complete commands in the shell with the MoleSignal CLI.

The commands of the CLI cover common work. Every other tool of MoleSignal's catalogue, such as the
RUM, profiling, or status page tools, runs with `molesignal call`.

## Find a tool

```bash theme={null}
molesignal tools incident
```

The list shows the tools that the words describe best, with what a call does (`read` or
`change`), how a change runs under the organization's Tool Policy, and what the tool is for.
Without words, the command lists every tool the user may call. `--domain` keeps one domain, such
as `observability` or `alerts_on_call`.

`molesignal tools show` prints one tool with the arguments it takes, as JSON Schema:

```bash theme={null}
molesignal tools show list_rum_sessions
```

## Call a tool

```bash theme={null}
molesignal call list_rum_sessions --since 1h limit=20
```

The command prints what the tool returns as JSON. Arguments are written as follows:

| Written | Passed |
| - | - |
| `name=value` | The value, as the type the tool's schema asks for: text, a number, `true` or `false`, or a list from `a,b`. |
| `name:=json` | The JSON as written, such as `match:='{"service":"checkout"}'`. |
| `parent.child=value` | A field inside an object, such as `time_range.start_micros=…`. |
| `--input <file>` | A JSON object of arguments from a file, or `-` for standard input. Pairs after it add to it. |
| `--since`, `--from`, `--to` | Sets `time_range` for a tool that takes one. |

A tool that changes something runs through the Tool Policy, as described in
[How a change runs](https://docs.molesignal.com/en-US/cli/changes.md#how-a-change-runs). `--reason`, `--wait`, `--timeout`, and
`--yes` apply. An argument `reason` or `impact` is passed to the approval as it is.

```bash theme={null}
molesignal call trigger_alert_rule rule_id=<rule> --reason "Testing the pager"
```

## Open a page

`molesignal open` opens a page of MoleSignal in the browser, the home page when none is named:

```bash theme={null}
molesignal open logs app_logs
```

The pages are `home`, `logs`, `metrics`, `traces`, `services`, `incidents`, `oncall`,
`synthetics`, `dashboards`, `approvals`, `jobs`, `streams`, and `agent`. Most take an id, such as
a trace, an incident, or a dashboard. `--print` prints the address instead.

`logs`, `query`, `traces show`, `incidents show`, and `services show` take `--web` to open what
they would print.

## Complete commands in the shell

`molesignal completion` prints a script that completes commands, subcommands, profiles, and stream
names. Stream names are fetched once every few minutes. For bash:

```bash theme={null}
echo 'source <(molesignal completion bash)' >> ~/.bashrc
```

For zsh:

```bash theme={null}
echo 'source <(molesignal completion zsh)' >> ~/.zshrc
```

For fish:

```bash theme={null}
molesignal completion fish > ~/.config/fish/completions/molesignal.fish
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.