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

# Tools

> The read-only surface an MCP client has, and the one tool that costs money.

| Tool                              | Does                                                             | Who       |
| --------------------------------- | ---------------------------------------------------------------- | --------- |
| `list_workspaces`                 | The workspaces you can access                                    | member    |
| `list_listeners` / `get_listener` | What is being watched                                            | member    |
| `search_signals`                  | Signals, filtered by listener, class, source, score, window      | member    |
| `get_rollup`                      | Rivals, accounts or places: one row per entity                   | member    |
| `list_runs`                       | Recent runs and their status                                     | member    |
| `get_quality_report`              | Per-query and per-source yield                                   | member    |
| `rate_signal`                     | Thumbs up or down, which calibrates the next classification pass | member    |
| `trigger_run`                     | Queue a run now                                                  | **admin** |

Start with `list_workspaces` — every other tool needs a `workspace_id` from it. Then `list_listeners` to see what is being watched, and `search_signals` or `get_rollup` to read what was found. `get_rollup` is usually the better answer for a sales question: "who is losing customers to RivalCo" is a `get_rollup` question, "show me the three worst reviews from last week" is a `search_signals` one.

## Why `trigger_run` is admin-only

Every other tool reads. `trigger_run` is the one tool that spends real retrieval and model cost the moment it is called, and it is not idempotent — calling it twice queues two runs, not one. Restricting it to admins matches who can already trigger a run from the interface.

## What is deliberately absent

There is **no create, update or delete** for listeners. An agent that can create listeners can commit a workspace to recurring spend on every schedule tick, and that mistake is not one a "are you sure?" prompt reliably catches in an agentic conversation. If you need to create or reconfigure a listener programmatically, the equivalent is `POST /v1/listeners/analyse-website` in the [API reference](/api-reference), which requires a workspace API key rather than an OAuth-connected assistant.


## Related topics

- [Free tools, no account needed](/guides/free-tools.md)
- [What Openpulse does not do](/guides/what-it-doesnt-do.md)
- [MCP: your AI assistant reads the workspace](/mcp/overview.md)
