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

# Monitors from Claude

> Create and manage Croma monitors by asking Claude, ChatGPT or any MCP client: prompts that work, what the agent does, and the seven monitor tools.

With Croma connected over MCP, you set up a monitor by asking for it. The agent
searches the source first, so you see what already matches, then creates the
monitor and asks who should receive the emails.

<Note>
  Connect Croma first: [MCP server](/mcp-server). A monitor created from an
  agent is the same monitor the [API](/monitors) and the console at
  [platform.usecroma.com/monitors](https://platform.usecroma.com/monitors) manage.
</Note>

## Ask for it

Say what to watch, where, and who should hear about it. For example:

* "Avísame cuando la ANM publique algo sobre el título AD9-111. Envíalo a [legal@empresa.com](mailto:legal@empresa.com)."
* "Watch SECOP II for new contracts with NIT 900123456 and email me every Monday at 8."
* "Alert me when the Corte Constitucional publishes a ruling on habeas data, only the ones about tutela."
* "Pause my AD9-111 monitor." / "What did my monitors find this week?"

## What the agent does

<Steps>
  <Step title="Searches the source">
    It runs the search with your filters, for example `anm_notices_search` with
    `title_number: "AD9-111"`, so you see what exists today.
  </Step>

  <Step title="Creates the monitor">
    It calls `create_monitor` with `endpoint` set to that search's tool name and
    `query` set to the same arguments. The schedule defaults to right after the
    source's own refresh.
  </Step>

  <Step title="Asks for the recipients">
    Up to three addresses. It never guesses one; if you did not give them, it asks.
  </Step>

  <Step title="Runs the baseline">
    The first run records what already matches and sends a welcome email. From
    then on, every email carries only what is new.
  </Step>
</Steps>

This is the call behind the first example:

```json theme={"dark"}
{
  "name": "Contrato AD9-111",
  "endpoint": "anm_notices_search",
  "query": { "title_number": "AD9-111" },
  "recipients": ["legal@empresa.com"],
  "language": "es"
}
```

## The tools

| Tool                   | What it does                                                      |
| ---------------------- | ----------------------------------------------------------------- |
| `create_monitor`       | Watch a dataset search on a schedule and email what is new.       |
| `list_monitors`        | Your organization's monitors, with each one's last run.           |
| `get_monitor`          | One monitor: its query, schedule, next run and recipients.        |
| `update_monitor`       | Rename, re-query, reschedule, change recipients, pause or resume. |
| `run_monitor`          | Run it now, outside the schedule.                                 |
| `list_monitor_matches` | Every row it has reported, with the relevance filter's verdict.   |
| `delete_monitor`       | Remove it with its schedule, runs and matches.                    |

`endpoint` takes the tool name (`anm_notices_search`), the catalog id
(`anm-notices-search`) or the path (`/co/anm/notices-search/v1`). The searches a
monitor can watch are listed in [Monitorable sources](/monitors-sources).

## Tips

* **Be exact about what to watch.** An identifier (a placa, a NIT, a radicado)
  makes a precise monitor; free text works too and matches more.
* **Say "only when there is something new"** to skip the short "nothing new"
  email; the agent sets `notify: "on_new"`.
* **Describe what counts** ("only notices about caducidad") and the agent adds a
  [relevance filter](/monitors#the-relevance-filter). Discarded rows stay in the
  monitor.
* **Each run spends one credit.** Creating and managing monitors is free.
* Clients that load tools on demand, like Claude, find these tools when they
  search for "monitor" or "alert". If yours does not, ask it to use
  `create_monitor`.
