_ registry / mcp streamable-http · checked 56m ago

monity

https://api.monity.ai

Registry code: a17fd2b6c8e774b2

api record

monity.ai watches web pages over time and alerts the user when something they care about changes. Use it when the user wants to keep an eye on a page, be told when something changes (a price drop, a restock, a new post or listing, a status or policy change, a competitor update) or asks what changed on pages they watch. Do not use it for one-off reading, summarising or scraping of a page, or for reminders that do not depend on a web page. After creating a monitor, tell the user where alerts go and what the schedule costs in credits, from the result. When a result is shown as a monity.ai card,…

endpoint
https://api.monity.ai/plugins/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is monity live?
Yes — it answered the hub's last check (checked 56m ago). It answered 100% of checks over the last 30 days.
Is monity free to use?
Not measured yet.
What tools does monity have?
27 tools: get_editor_capabilities, open_task_editor, load_editor_preview, list_monitors, get_latest_result, get_check, view_check_screenshot, get_account, ….
Is monity safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
707ms

last good check

priced tools
0

of 27 tools

_ answered our checks, 90 days 3 checks · signed record
  • unknown → live
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 27 tools
27 never probed 0 of 27 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • get_editor_capabilities unknown never probed

    Whether this connection may open the embedded task editor.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {}
    }
    arguments 5 lines
  • open_task_editor unknown never probed

    Open the existing Monity task editor. Omit uuid to create a task in workspaceId. Does not save or load a website until the user acts.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {
        "uuid": {
          "type": "string",
          "format": "uuid"
        },
        "workspaceId": {
          "type": "integer",
          "exclusiveMinimum": 0
        }
      },
      "additionalProperties": false
    }
    arguments 15 lines
  • load_editor_preview unknown never probed

    Fetch the configured public page in Monity and run its browser steps for an editor preview; does not save a task.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "sessionId",
        "settings"
      ],
      "properties": {
        "settings": {
          "type": "object",
          "required": [
            "websiteUrl",
            "name",
            "compareType",
            "frequency"
          ],
          "properties": {
            "crop": {
              "anyOf": [
                {
                  "type": "object",
                  "required": [
                    "imagePosition"
                  ],
                  "properties": {
                    "width": {
                      "type": "number"
                    },
                    "height": {
                      "type": "number"
                    },
                    "imagePosition": {
                      "type": "object",
                      "required": [
                        "x1",
                        "y1",
                        "x2",
                        "y2"
                      ],
                      "properties": {
                        "x1": {
                          "type": "number",
                          "minimum": 0
                        },
                        "x2": {
                          "type": "number",
                          "minimum": 0
                        },
                        "y1": {
                          "type": "number",
                          "minimum": 0
                        },
                        "y2": {
                          "type": "number",
                          "minimum": 0
                        }
                      },
                      "additionalProperties": false
                    },
                    "cropperPosition": {
                      "$ref": "#/properties/settings/properties/crop/anyOf/0/properties/imagePosition"
                    }
                  },
                  "additionalProperties": true
                },
                {
                  "type": "null"
                }
              ]
            },
            "name": {
              "type": "string",
              "maxLength": 200
            },
            "notes": {
              "$ref": "#/properties/settings/properties/aiNotificationPrompt"
            },
            "active": {
              "type": "boolean"
            },
            "actions": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "maxLength": 100
                  },
                  "type": {
                    "enum": [
                      "CLICK",
                      "TYPE",
                      "SELECT",
                      "MOUSEOVER",
                      "SCROLL",
                      "WAIT",
                      "REFRESH",
                      "BLOCK"
                    ],
                    "type": "string"
                  },
                  "value": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 1000
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "active": {
                    "type": "boolean"
                  },
                  "selector": {
                    "type": "string",
                    "maxLength": 500
                  }
                },
                "additionalProperties": false
              },
              "maxItems": 20
            },
            "blockAds": {
              "type": "boolean"
            },
            "jsonPath": {
              "$ref": "#/properties/settings/properties/aiNotificationPrompt"
            },
            "keywords": {
              "$ref": "#/properties/settings/properties/aiNotificationPrompt"
            },
            "saveHtml": {
              "type": "boolean"
            },
            "disableJs": {
              "type": "boolean"
            },
            "frequency": {
              "enum": [
                "5",
                "15",
                "30",
                "60",
                "180",
                "360",
                "720",
                "1440",
                "10080",
                "302400"
              ],
              "type": "string"
            },
            "jobScreen": {
              "enum": [
                "ALL_PAGE",
                "AREA"
              ],
              "type": "string"
            },
            "threshold": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 20
                },
                {
                  "type": "null"
                }
              ]
            },
            "saveOutput": {
              "type": "boolean"
            },
            "websiteUrl": {
              "type": "string",
              "format": "uri",
              "maxLength": 2000
            },
            "compareType": {
              "enum": [
                "AUTO",
                "VISUAL",
                "TEXT",
                "HTML",
                "ELEMENT"
              ],
              "type": "string"
            },
            "waitSeconds": {
              "type": "number",
              "maximum": 60,
              "minimum": 0
            },
            "alertOnError": {
              "type": "boolean"
            },
            "jobSchedules": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "weekDays",
                  "timeConditionsEnabled",
                  "timeFrom",
                  "timeTo",
                  "exactDateEnabled",
                  "exactDate"
                ],
                "properties": {
                  "uuid": {
                    "type": "string",
                    "maxLength": 100
                  },
                  "timeTo": {
                    "type": "string",
                    "maxLength": 5
                  },
                  "timeFrom": {
                    "type": "string",
                    "maxLength": 5
                  },
                  "timezone": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 100
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "weekDays": {
                    "type": "array",
                    "items": {
                      "enum": [
                        "Mo",
                        "Tu",
                        "We",
                        "Th",
                        "Fr",
                        "Sa",
                        "Su"
                      ],
                      "type": "string"
                    },
                    "maxItems": 7
                  },
                  "exactDate": {
                    "type": "string",
                    "maxLength": 30
                  },
                  "frequency": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 20
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "exactDateEnabled": {
                    "type": "boolean"
                  },
                  "monthlyDayOfMonth": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "maximum": 31,
                        "minimum": 1
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "timeConditionsEnabled": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              "maxItems": 20
            },
            "viewportWidth": {
              "type": "integer",
              "maximum": 3840,
              "minimum": 320
            },
            "aiOutputActive": {
              "type": "boolean"
            },
            "aiOutputPrompt": {
              "$ref": "#/properties/settings/properties/aiNotificationPrompt"
            },
            "keywordsAction": {
              "type": "string",
              "maxLength": 30
            },
            "scrollFullPage": {
              "type": "boolean"
            },
            "viewportHeight": {
              "type": "integer",
              "maximum": 2160,
              "minimum": 200
            },
            "outputExtractor": {
              "type": "string",
              "maxLength": 40
            },
            "notifyConditions": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "conditionType",
                  "value"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "maxLength": 100
                  },
                  "value": {
                    "anyOf": [
                      {
                        "$ref": "#/properties/settings/properties/aiNotificationPrompt"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "conditionType": {
                    "enum": [
                      "con",
                      "eq",
                      "not",
                      "gt",
                      "gte",
                      "lt",
                      "lte"
                    ],
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              "maxItems": 20
            },
            "forceHtmlSnapshot": {
              "type": "boolean"
            },
            "aiNotificationActive": {
              "type": "boolean"
            },
            "aiNotificationPrompt": {
              "type": "string",
              "maxLength": 4000
            },
            "notificationsEnabled": {
              "type": "boolean"
            },
            "doubleCheckBeforeAlert": {
              "type": "boolean"
            },
            "outputExtractorPattern": {
              "$ref": "#/properties/settings/properties/aiNotificationPrompt"
            },
            "notifyConditionsEnabled": {
              "type": "boolean"
            },
            "compareDomElementAttributes": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "xpath": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 2000
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "domSelector": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 2000
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": true
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "additionalProperties": false
        },
        "sessionId": {
          "type": "string",
          "format": "uuid"
        }
      },
      "additionalProperties": false
    }
    arguments 426 lines
  • list_monitors unknown never probed

    List the website monitors (tasks) in the monity.ai account: name, monitored URL, type, active state, labels, and last/next check times. Use this first to find a monitor's uuid for the other tools.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {
        "page": {
          "type": "integer",
          "minimum": 1,
          "description": "Page number (default 1)"
        },
        "sort": {
          "enum": [
            "NEWEST",
            "OLDEST",
            "LAST_CHECK",
            "NEXT_CHECK",
            "MOST_RECENT_ALERT",
            "ALPHABETICAL_A-Z",
            "ALPHABETICAL_Z-A",
            "recent"
          ],
          "type": "string",
          "description": "Task list sort order; default newest created"
        },
        "label": {
          "type": "string",
          "description": "Filter by label name"
        },
        "limit": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Results per page (default 25, max 100)"
        },
        "active": {
          "type": "boolean",
          "description": "Filter by active state"
        },
        "search": {
          "type": "string",
          "maxLength": 200,
          "description": "Search monitor name or URL, case insensitive"
        },
        "labelIds": {
          "type": "array",
          "items": {
            "type": "integer",
            "exclusiveMinimum": 0
          },
          "maxItems": 50,
          "description": "Only monitors carrying one of these labels (ids from list_labels)"
        },
        "createdOn": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Only monitors created on this date (yyyy-mm-dd, UTC)"
        },
        "thresholds": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 20
          },
          "maxItems": 20,
          "description": "Only monitors with one of these change thresholds"
        },
        "frequencies": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 10
          },
          "maxItems": 20,
          "description": "Only monitors checking at one of these frequencies (minutes, as strings)"
        },
        "lastAlertTo": {
          "type": "string",
          "maxLength": 40,
          "description": "Only monitors whose last change is on or before this ISO date"
        },
        "workspaceId": {
          "type": "integer",
          "description": "Only monitors in this workspace (from list_workspaces)"
        },
        "compareTypes": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 30
          },
          "maxItems": 20,
          "description": "Only monitors of these compare types"
        },
        "lastAlertFrom": {
          "type": "string",
          "maxLength": 40,
          "description": "Only monitors whose last change is on or after this ISO date"
        }
      },
      "additionalProperties": false
    }
    arguments 100 lines
  • get_latest_result unknown never probed

    Get a monitor's most recent completed check: status, whether it alerted, the extracted output (current and previous value), AI summary, and artifact URLs (screenshots, diff image, HTML snapshot). This answers questions like 'what is the price now?' or 'did anything change?'. pageAccess says what the browser reached; when reachedContent is false the check saw a challenge, login or error page, so report that, not a change in content. Its result is already shown to the user as that check's card (summary, screenshot and a Compare before and after button): do not also call get_check for the same check. When you link to a check, use its checkUrl (its comparison in monity.ai), never the raw screenshot, diff or HTML file URLs.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "uuid"
      ],
      "properties": {
        "uuid": {
          "type": "string",
          "description": "Monitor uuid (from list_monitors)"
        }
      },
      "additionalProperties": false
    }
    arguments 14 lines
  • get_check unknown never probed

    Get the full detail of one specific check by id, shown as evidence the user can inspect: before/after screenshots with a comparison slider, the highlighted difference, the AI summary of what changed, extracted values (current + previous), and the full HTML copy Monity kept of the page. pageAccess says what the browser reached; when reachedContent is false the check saw a challenge, login or error page, so report that, not a change in content. Each call shows the check to the user as a card: call it once per check, and not for a check another result already shows (get_latest_result does). When you link to a check, use its checkUrl (its comparison in monity.ai), never the raw screenshot, diff or HTML file URLs.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "uuid",
        "checkId"
      ],
      "properties": {
        "uuid": {
          "type": "string",
          "description": "Monitor uuid (from list_monitors)"
        },
        "checkId": {
          "type": "string",
          "description": "Check id (from get_check_history)"
        }
      },
      "additionalProperties": false
    }
    arguments 19 lines
  • view_check_screenshot unknown never probed

    Returns the actual screenshot image from a check, so you can SEE the monitored page rather than infer it from a diff percentage. view: 'current' (the page as of this check), 'previous' (the page before it), or 'diff' (the two composited with changes highlighted). Pass checkId 'latest' to see the current state of a monitor without looking up a check id first. Use this to answer 'what does the page look like now?', to judge whether a reported change actually matters, and to work out the right CSS selector for an action or extractor by looking at the layout. These images are for you to look at; to show a change to the user, use get_check, and link a check by its checkUrl.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "uuid"
      ],
      "properties": {
        "uuid": {
          "type": "string",
          "description": "Monitor uuid (from list_monitors)"
        },
        "view": {
          "enum": [
            "current",
            "previous",
            "diff"
          ],
          "type": "string",
          "description": "Which image: 'current' (default), 'previous', or 'diff' with changes highlighted"
        },
        "checkId": {
          "type": "string",
          "description": "Check id (from get_check_history), or 'latest' for the most recent completed check. Defaults to 'latest'."
        },
        "maxWidth": {
          "type": "integer",
          "description": "Longest width to scale to, default 1200, max 4000"
        },
        "maxHeight": {
          "type": "integer",
          "description": "Height bound, default 3000, max 4000. Full-page captures are very tall, so this is what usually decides the scale."
        }
      },
      "additionalProperties": false
    }
    arguments 35 lines
  • get_account unknown never probed

    Who is connected and what their monity.ai plan allows: plan name, credit refresh date, active monitors used and slots left per workspace, check credits left (a check normally costs one), and the check frequencies the plan allows. Use it before creating a monitor or changing a frequency, and to explain a refused create.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {}
    }
    arguments 5 lines
  • list_workspaces unknown never probed

    List the account’s workspaces (business accounts hold several; personal accounts have one). Use this to find the workspaceId to filter list_monitors by, or to create a monitor into a team workspace instead of the key owner’s personal one.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {}
    }
    arguments 5 lines
  • get_recent_changes unknown never probed

    Account-wide feed of completed checks, newest first, each already carrying its monitor (name + URL), the AI summary of what changed, and the extracted output. This is the tool to use for reporting questions — 'what changed this week?', 'summarise my monitors', 'which pages moved?' — because it answers them in ONE call. Do not loop get_check_history over every monitor for that. Call it once per question: each call shows its own card to the user. Defaults to alerts only, which is what 'what changed' means; set alertedOnly false only when the user asks about every check (e.g. 'did my monitors run?'), never to look for more changes. pageAccess says what the browser reached; when reachedContent is false the check saw a challenge, login or error page, so report that, not a change in content. To show one change to the user, open it once with get_check. When you link to a check, use its checkUrl (its comparison in monity.ai), never the raw screenshot, diff or HTML file URLs.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {
        "to": {
          "type": "string",
          "description": "ISO date upper bound (inclusive)"
        },
        "from": {
          "type": "string",
          "description": "ISO date lower bound, inclusive — e.g. last week's date for a weekly report"
        },
        "page": {
          "type": "integer",
          "minimum": 1,
          "description": "Page number (default 1)"
        },
        "label": {
          "type": "string",
          "description": "Only monitors carrying this label"
        },
        "limit": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Results per page (default 25, max 100)"
        },
        "status": {
          "type": "string",
          "description": "Explicit status filter: ALERT_SENT, CHANGE, NO_CHANGE or ERROR. Ignored when alertedOnly is true."
        },
        "alertedOnly": {
          "type": "boolean",
          "description": "true (default) returns only checks that detected a change and alerted; false returns every completed check"
        },
        "monitorUuid": {
          "type": "string",
          "description": "Restrict to a single monitor (from list_monitors)"
        },
        "includeHidden": {
          "type": "boolean",
          "description": "Include changes the user hid (hide_change) or their team hid in Monity (teamHidden: true). Default false."
        }
      },
      "additionalProperties": false
    }
    arguments 46 lines
  • run_monitor unknown never probed

    Check an active monitor's page now instead of waiting for its schedule. The check runs in monity.ai's cloud browser and takes up to a minute or two; then get_latest_result shows it. Counts against the plan like any check. Resume a paused monitor first. For a dataset (a uuid from list_datasets) it collects every page again: that takes a few minutes and spends the plan's check credits (1 for each page it visits, 5 more for each page read with AI, 2 a minute for a saved login); if it cannot start, the answer says why (for example, not enough credits). Read the result with get_dataset_rows or get_dataset_changes.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "uuid"
      ],
      "properties": {
        "uuid": {
          "type": "string",
          "description": "Monitor uuid (from list_monitors)"
        }
      },
      "additionalProperties": false
    }
    arguments 14 lines
  • hide_change unknown never probed

    Hide one detected change from this user's history and recent changes (for example a false alarm). Nothing is deleted and teammates still see it; unhide_change brings it back, and includeHidden shows hidden ones.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "uuid",
        "checkId"
      ],
      "properties": {
        "uuid": {
          "type": "string",
          "description": "Monitor uuid"
        },
        "checkId": {
          "type": "string",
          "description": "Check id of the change (from get_recent_changes or get_check_history)"
        }
      },
      "additionalProperties": false
    }
    arguments 19 lines
  • unhide_change unknown never probed

    Show a change the user hid with hide_change in their history and recent changes again.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "uuid",
        "checkId"
      ],
      "properties": {
        "uuid": {
          "type": "string",
          "description": "Monitor uuid"
        },
        "checkId": {
          "type": "string",
          "description": "Check id of the hidden change"
        }
      },
      "additionalProperties": false
    }
    arguments 19 lines
  • pause_monitor unknown never probed

    Pause a monitor (stops scheduled checks; history is kept).

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "uuid"
      ],
      "properties": {
        "uuid": {
          "type": "string",
          "description": "Monitor uuid (from list_monitors)"
        }
      },
      "additionalProperties": false
    }
    arguments 14 lines
  • resume_monitor unknown never probed

    Resume a paused monitor. Subject to the plan's active-monitor limit.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "uuid"
      ],
      "properties": {
        "uuid": {
          "type": "string",
          "description": "Monitor uuid (from list_monitors)"
        }
      },
      "additionalProperties": false
    }
    arguments 14 lines
  • get_feed unknown never probed

    The person's Monity feed: alerted changes they have not marked read, newest first, with the unread count. Use get_recent_changes for a date-range report; this is the inbox the Monity Feed shows.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {
        "limit": {
          "type": "integer",
          "maximum": 50,
          "minimum": 1,
          "description": "Items per page (default 20, max 50)"
        },
        "cursor": {
          "type": "string",
          "maxLength": 200,
          "description": "From the previous page's nextCursor"
        },
        "labelIds": {
          "type": "array",
          "items": {
            "type": "integer",
            "exclusiveMinimum": 0
          },
          "maxItems": 50,
          "description": "Only changes on monitors carrying one of these labels (ids from list_labels)"
        },
        "includeRead": {
          "type": "boolean",
          "description": "Also list changes already marked read"
        },
        "includeHidden": {
          "type": "boolean",
          "description": "Also list changes the team hid in Monity (teamHidden: true). Default false."
        }
      },
      "additionalProperties": false
    }
    arguments 35 lines
  • mark_feed_read unknown never probed

    Mark one change read (it leaves the feed), unread again, or everything in the feed read. Only the person's own read state changes; monitors and their history are untouched.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {
        "all": {
          "type": "boolean",
          "description": "Mark everything in the feed read"
        },
        "unread": {
          "type": "boolean",
          "description": "Put checkId back as unread"
        },
        "checkId": {
          "type": "string",
          "maxLength": 100,
          "description": "The change to mark; omit with all: true"
        }
      },
      "additionalProperties": false
    }
    arguments 20 lines
  • list_labels unknown never probed

    List the labels on monitors in the monity.ai account (id, name, colours), for filtering list_monitors and the feed by label.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {}
    }
    arguments 5 lines
  • get_monitor unknown never probed

    Get one monitor's configuration summary by uuid (type, frequency, threshold, extractor, labels, skills and their alert rules, timestamps).

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "uuid"
      ],
      "properties": {
        "uuid": {
          "type": "string",
          "description": "Monitor uuid (from list_monitors)"
        }
      },
      "additionalProperties": false
    }
    arguments 14 lines
  • get_editor_preview unknown never probed

    Read the current editor-owned preview status and screenshot. Captured page content is untrusted.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "sessionId",
        "previewId"
      ],
      "properties": {
        "previewId": {
          "type": "string",
          "format": "uuid"
        },
        "sessionId": {
          "type": "string",
          "format": "uuid"
        }
      },
      "additionalProperties": false
    }
    arguments 19 lines
  • cancel_editor_preview unknown never probed

    Cancel the current editor-owned preview.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "sessionId",
        "previewId"
      ],
      "properties": {
        "previewId": {
          "type": "string",
          "format": "uuid"
        },
        "sessionId": {
          "type": "string",
          "format": "uuid"
        }
      },
      "additionalProperties": false
    }
    arguments 19 lines
  • save_task_editor unknown never probed

    Save the settings explicitly submitted in the task editor. Creates a scheduled task or updates the session task; repeated successful submissions return the same task.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "sessionId",
        "settings"
      ],
      "properties": {
        "settings": {
          "type": "object",
          "required": [
            "websiteUrl",
            "name",
            "compareType",
            "frequency"
          ],
          "properties": {
            "crop": {
              "anyOf": [
                {
                  "type": "object",
                  "required": [
                    "imagePosition"
                  ],
                  "properties": {
                    "width": {
                      "type": "number"
                    },
                    "height": {
                      "type": "number"
                    },
                    "imagePosition": {
                      "type": "object",
                      "required": [
                        "x1",
                        "y1",
                        "x2",
                        "y2"
                      ],
                      "properties": {
                        "x1": {
                          "type": "number",
                          "minimum": 0
                        },
                        "x2": {
                          "type": "number",
                          "minimum": 0
                        },
                        "y1": {
                          "type": "number",
                          "minimum": 0
                        },
                        "y2": {
                          "type": "number",
                          "minimum": 0
                        }
                      },
                      "additionalProperties": false
                    },
                    "cropperPosition": {
                      "$ref": "#/properties/settings/properties/crop/anyOf/0/properties/imagePosition"
                    }
                  },
                  "additionalProperties": true
                },
                {
                  "type": "null"
                }
              ]
            },
            "name": {
              "type": "string",
              "maxLength": 200
            },
            "notes": {
              "$ref": "#/properties/settings/properties/aiNotificationPrompt"
            },
            "active": {
              "type": "boolean"
            },
            "actions": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "maxLength": 100
                  },
                  "type": {
                    "enum": [
                      "CLICK",
                      "TYPE",
                      "SELECT",
                      "MOUSEOVER",
                      "SCROLL",
                      "WAIT",
                      "REFRESH",
                      "BLOCK"
                    ],
                    "type": "string"
                  },
                  "value": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 1000
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "active": {
                    "type": "boolean"
                  },
                  "selector": {
                    "type": "string",
                    "maxLength": 500
                  }
                },
                "additionalProperties": false
              },
              "maxItems": 20
            },
            "blockAds": {
              "type": "boolean"
            },
            "jsonPath": {
              "$ref": "#/properties/settings/properties/aiNotificationPrompt"
            },
            "keywords": {
              "$ref": "#/properties/settings/properties/aiNotificationPrompt"
            },
            "saveHtml": {
              "type": "boolean"
            },
            "disableJs": {
              "type": "boolean"
            },
            "frequency": {
              "enum": [
                "5",
                "15",
                "30",
                "60",
                "180",
                "360",
                "720",
                "1440",
                "10080",
                "302400"
              ],
              "type": "string"
            },
            "jobScreen": {
              "enum": [
                "ALL_PAGE",
                "AREA"
              ],
              "type": "string"
            },
            "threshold": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 20
                },
                {
                  "type": "null"
                }
              ]
            },
            "saveOutput": {
              "type": "boolean"
            },
            "websiteUrl": {
              "type": "string",
              "format": "uri",
              "maxLength": 2000
            },
            "compareType": {
              "enum": [
                "AUTO",
                "VISUAL",
                "TEXT",
                "HTML",
                "ELEMENT"
              ],
              "type": "string"
            },
            "waitSeconds": {
              "type": "number",
              "maximum": 60,
              "minimum": 0
            },
            "alertOnError": {
              "type": "boolean"
            },
            "jobSchedules": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "weekDays",
                  "timeConditionsEnabled",
                  "timeFrom",
                  "timeTo",
                  "exactDateEnabled",
                  "exactDate"
                ],
                "properties": {
                  "uuid": {
                    "type": "string",
                    "maxLength": 100
                  },
                  "timeTo": {
                    "type": "string",
                    "maxLength": 5
                  },
                  "timeFrom": {
                    "type": "string",
                    "maxLength": 5
                  },
                  "timezone": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 100
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "weekDays": {
                    "type": "array",
                    "items": {
                      "enum": [
                        "Mo",
                        "Tu",
                        "We",
                        "Th",
                        "Fr",
                        "Sa",
                        "Su"
                      ],
                      "type": "string"
                    },
                    "maxItems": 7
                  },
                  "exactDate": {
                    "type": "string",
                    "maxLength": 30
                  },
                  "frequency": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 20
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "exactDateEnabled": {
                    "type": "boolean"
                  },
                  "monthlyDayOfMonth": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "maximum": 31,
                        "minimum": 1
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "timeConditionsEnabled": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              "maxItems": 20
            },
            "viewportWidth": {
              "type": "integer",
              "maximum": 3840,
              "minimum": 320
            },
            "aiOutputActive": {
              "type": "boolean"
            },
            "aiOutputPrompt": {
              "$ref": "#/properties/settings/properties/aiNotificationPrompt"
            },
            "keywordsAction": {
              "type": "string",
              "maxLength": 30
            },
            "scrollFullPage": {
              "type": "boolean"
            },
            "viewportHeight": {
              "type": "integer",
              "maximum": 2160,
              "minimum": 200
            },
            "outputExtractor": {
              "type": "string",
              "maxLength": 40
            },
            "notifyConditions": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "conditionType",
                  "value"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "maxLength": 100
                  },
                  "value": {
                    "anyOf": [
                      {
                        "$ref": "#/properties/settings/properties/aiNotificationPrompt"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  },
                  "conditionType": {
                    "enum": [
                      "con",
                      "eq",
                      "not",
                      "gt",
                      "gte",
                      "lt",
                      "lte"
                    ],
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              "maxItems": 20
            },
            "forceHtmlSnapshot": {
              "type": "boolean"
            },
            "aiNotificationActive": {
              "type": "boolean"
            },
            "aiNotificationPrompt": {
              "type": "string",
              "maxLength": 4000
            },
            "notificationsEnabled": {
              "type": "boolean"
            },
            "doubleCheckBeforeAlert": {
              "type": "boolean"
            },
            "outputExtractorPattern": {
              "$ref": "#/properties/settings/properties/aiNotificationPrompt"
            },
            "notifyConditionsEnabled": {
              "type": "boolean"
            },
            "compareDomElementAttributes": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "xpath": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 2000
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "domSelector": {
                      "anyOf": [
                        {
                          "type": "string",
                          "maxLength": 2000
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": true
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "additionalProperties": false
        },
        "sessionId": {
          "type": "string",
          "format": "uuid"
        }
      },
      "additionalProperties": false
    }
    arguments 426 lines
  • get_check_history unknown never probed

    List a monitor's past checks (newest first): timestamps, status, alerted flag, percent difference, errors. Use get_check for the full detail of one check. pageAccess says what the browser reached; when reachedContent is false the check saw a challenge, login or error page, so report that, not a change in content. To show one change to the user, open it once with get_check. When you link to a check, use its checkUrl (its comparison in monity.ai), never the raw screenshot, diff or HTML file URLs.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "uuid"
      ],
      "properties": {
        "to": {
          "type": "string",
          "description": "ISO date upper bound (inclusive)"
        },
        "from": {
          "type": "string",
          "description": "ISO date lower bound (inclusive)"
        },
        "page": {
          "type": "integer",
          "minimum": 1,
          "description": "Page number (default 1)"
        },
        "sort": {
          "enum": [
            "newest",
            "oldest"
          ],
          "type": "string",
          "description": "Order (default newest first)"
        },
        "uuid": {
          "type": "string",
          "description": "Monitor uuid (from list_monitors)"
        },
        "limit": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Results per page (default 10 here, max 100)"
        },
        "detail": {
          "type": "boolean",
          "description": "Each check in full, with its evidence links, as get_check returns it. Used by the Monity view; leave unset for a summary."
        },
        "status": {
          "type": "string",
          "description": "Filter by status: ALERT_SENT, CHANGE, NO_CHANGE, or ERROR"
        },
        "taskPanel": {
          "type": "boolean",
          "description": "List what the Monity task panel lists: no skipped checks, failed checks only when the monitor alerts on errors. Used by the Monity view."
        },
        "includeHidden": {
          "type": "boolean",
          "description": "Include changes the user hid (hide_change). Default false."
        }
      },
      "additionalProperties": false
    }
    arguments 57 lines
  • open_monity unknown never probed

    Show the pages the user watches and what changed on them: open the user's monity.ai home, every monitor with its state and last check, and the latest changes with screenshots. Use it when the user wants an overview of what they watch or to browse changes; for a written report use get_recent_changes.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {}
    }
    arguments 5 lines
  • create_monitor unknown never probed

    Watch a web page and alert the user when it changes: price drops, restocks, new posts or listings, status changes, competitor updates, any 'tell me when this page changes'. Creates a website monitor that keeps watching after this conversation ends: monity.ai checks the page on a schedule in its own cloud browser, keeps a full-page screenshot and a full HTML copy of the page for every check, and alerts only when the change matters (an AI summary says what changed). Subject to the account plan's monitor limit. compareType AUTO (default) covers most pages; VISUAL for pixel comparison, TEXT for keyword monitoring, HTML for markup diffs. To watch one element pass selector (a CSS selector). Express the full intent in one call: use notifyWhen for a natural-language alert condition ('price drops below $500'), or notifyConditions + outputExtractor/jsonPath for deterministic threshold alerts without AI.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "websiteUrl"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "Monitor name (defaults to the URL host/path)"
        },
        "labels": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Label names to file the monitor under (up to 10); existing labels with the same name are reused."
        },
        "actions": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "enum": [
                  "CLICK",
                  "TYPE",
                  "SELECT",
                  "MOUSEOVER",
                  "SCROLL",
                  "WAIT",
                  "REFRESH",
                  "BLOCK"
                ],
                "type": "string",
                "description": "CLICK a element, TYPE text into it, SELECT a dropdown option, MOUSEOVER to reveal a menu, SCROLL (optionally by pixels), WAIT a number of milliseconds, REFRESH the page, or BLOCK (remove) an element from the page before comparing"
              },
              "value": {
                "type": [
                  "string",
                  "number"
                ],
                "description": "Text to type for TYPE, option to pick for SELECT, milliseconds for WAIT (max 60000), pixels for SCROLL"
              },
              "active": {
                "type": "boolean",
                "description": "Defaults to true; false keeps the step but skips it"
              },
              "selector": {
                "type": "string",
                "description": "How to find the element, as a Playwright selector. CSS by default (\"#accept-cookies\", \".product .price\"); a string starting with \"/\" is treated as XPath (\"//button[contains(text(),'Show more')]\"); Playwright engine prefixes also work, and \"text=Show more\" is usually the most robust choice for a button identified by its label rather than by a hashed class. Required for CLICK, TYPE, SELECT, MOUSEOVER and BLOCK."
              }
            },
            "additionalProperties": false
          },
          "description": "Ordered list of interactions to perform before each check, e.g. [{\"type\":\"CLICK\",\"selector\":\"#accept-cookies\"},{\"type\":\"WAIT\",\"value\":1500},{\"type\":\"CLICK\",\"selector\":\".load-more\"}]. Use this when the content to watch is behind a cookie banner, a tab, a \"show more\" control, or a dropdown. Max 20 steps. Script and JS/CSS injection steps are dashboard-only and rejected here."
        },
        "jsonPath": {
          "type": "string",
          "description": "For JSON API endpoints: JSONPath to the value to monitor, e.g. $.data.items[0].price. Starts with '$'."
        },
        "keywords": {
          "type": "string",
          "description": "TEXT monitors only: comma-separated keywords to watch for, e.g. \"sold out, unavailable\""
        },
        "selector": {
          "type": "string",
          "description": "CSS selector of ONE element to watch instead of the whole page (e.g. '.product-price' or '#stock-status'). Makes an element monitor that is found by this selector on every check; leave compareType unset."
        },
        "frequency": {
          "enum": [
            "5",
            "15",
            "30",
            "60",
            "180",
            "360",
            "720",
            "1440",
            "10080",
            "302400"
          ],
          "type": "string",
          "description": "Minutes between checks, as a string: '5', '15', '30', '60' (hourly), '180', '360', '720', '1440' (daily), '10080' (weekly), '302400' (monthly). Omit for the plan default. A frequency faster than the plan allows is raised to the plan minimum."
        },
        "notifyWhen": {
          "type": "string",
          "description": "Natural-language alert condition evaluated by AI on every check, e.g. 'notify me when the price drops below $500' or 'alert when the Pro plan changes'. Mutually exclusive with notifyConditions."
        },
        "websiteUrl": {
          "type": "string",
          "description": "Absolute http(s) URL of the page to monitor"
        },
        "compareType": {
          "enum": [
            "AUTO",
            "VISUAL",
            "TEXT",
            "HTML"
          ],
          "type": "string",
          "description": "Comparison mode (default AUTO)"
        },
        "workspaceId": {
          "type": "integer",
          "description": "Workspace to create the monitor in (from list_workspaces): one of the workspaces this connection may use. Defaults to the person’s personal workspace when they allowed it."
        },
        "keywordsAction": {
          "enum": [
            "ADDED",
            "REMOVED"
          ],
          "type": "string",
          "description": "TEXT monitors only: alert when keywords are ADDED to the page (default) or REMOVED from it"
        },
        "outputExtractor": {
          "enum": [
            "NONE",
            "NUMBER",
            "REGEX"
          ],
          "type": "string",
          "description": "How to extract the monitored value from the page text: NUMBER pulls the first number (good for prices), REGEX applies outputExtractorPattern, NONE keeps the full text."
        },
        "notifyConditions": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "conditionType",
              "value"
            ],
            "properties": {
              "value": {
                "type": [
                  "string",
                  "number"
                ],
                "description": "Comparison value (number for gt/gte/lt/lte)"
              },
              "conditionType": {
                "enum": [
                  "con",
                  "eq",
                  "not",
                  "gt",
                  "gte",
                  "lt",
                  "lte"
                ],
                "type": "string",
                "description": "con = output contains value, eq = equals, not = does not equal, gt/gte/lt/lte = numeric comparison of the extracted output"
              }
            },
            "additionalProperties": false
          },
          "description": "Deterministic alert conditions on the extracted output (no AI credits). All conditions must pass. Requires the output to change. Mutually exclusive with notifyWhen. Not available for HTML monitors."
        },
        "outputExtractorPattern": {
          "type": "string",
          "description": "Regular expression for outputExtractor: REGEX — bare pattern or /pattern/flags; the first capture group (or full match) becomes the monitored output, e.g. 'In stock: (\\d+)'"
        }
      },
      "additionalProperties": false
    }
    arguments 168 lines
  • update_monitor unknown never probed

    Update an existing monitor: rename, change frequency, pause/resume, or change its alert conditions, extraction, pre-check actions, skills and their alert rules. Omitted fields stay unchanged; pass null to clear notifyWhen, notifyConditions, jsonPath, outputExtractorPattern, notifyWebhookUrl, actions or skills.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "uuid"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "New monitor name"
        },
        "uuid": {
          "type": "string",
          "description": "Monitor uuid (from list_monitors)"
        },
        "active": {
          "type": "boolean",
          "description": "true resumes checks, false pauses them"
        },
        "labels": {
          "anyOf": [
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            {
              "type": "null"
            }
          ],
          "description": "Label names for the monitor (up to 10). New names create the label in the account; existing labels with the same name are reused. Replaces the monitor's labels: include the ones it already has (get_monitor lists them) to keep them. [] or null removes them all."
        },
        "actions": {
          "anyOf": [
            {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "enum": [
                      "CLICK",
                      "TYPE",
                      "SELECT",
                      "MOUSEOVER",
                      "SCROLL",
                      "WAIT",
                      "REFRESH",
                      "BLOCK"
                    ],
                    "type": "string",
                    "description": "CLICK a element, TYPE text into it, SELECT a dropdown option, MOUSEOVER to reveal a menu, SCROLL (optionally by pixels), WAIT a number of milliseconds, REFRESH the page, or BLOCK (remove) an element from the page before comparing"
                  },
                  "value": {
                    "type": [
                      "string",
                      "number"
                    ],
                    "description": "Text to type for TYPE, option to pick for SELECT, milliseconds for WAIT (max 60000), pixels for SCROLL"
                  },
                  "active": {
                    "type": "boolean",
                    "description": "Defaults to true; false keeps the step but skips it"
                  },
                  "selector": {
                    "type": "string",
                    "description": "How to find the element, as a Playwright selector. CSS by default (\"#accept-cookies\", \".product .price\"); a string starting with \"/\" is treated as XPath (\"//button[contains(text(),'Show more')]\"); Playwright engine prefixes also work, and \"text=Show more\" is usually the most robust choice for a button identified by its label rather than by a hashed class. Required for CLICK, TYPE, SELECT, MOUSEOVER and BLOCK."
                  }
                },
                "additionalProperties": false
              }
            },
            {
              "type": "null"
            }
          ],
          "description": "Ordered list of interactions to perform before each check, e.g. [{\"type\":\"CLICK\",\"selector\":\"#accept-cookies\"},{\"type\":\"WAIT\",\"value\":1500},{\"type\":\"CLICK\",\"selector\":\".load-more\"}]. Use this when the content to watch is behind a cookie banner, a tab, a \"show more\" control, or a dropdown. Max 20 steps. Script and JS/CSS injection steps are dashboard-only and rejected here. Replaces the whole list; read the monitor first to keep existing steps. Pass null to remove them all."
        },
        "jsonPath": {
          "type": [
            "string",
            "null"
          ],
          "description": "For JSON API endpoints: JSONPath to the value to monitor, e.g. $.data.items[0].price. Starts with '$'. Pass null to clear."
        },
        "keywords": {
          "type": [
            "string",
            "null"
          ],
          "description": "TEXT monitors only: comma-separated keywords to watch for, e.g. \"sold out, unavailable\" Pass null to clear."
        },
        "frequency": {
          "enum": [
            "5",
            "15",
            "30",
            "60",
            "180",
            "360",
            "720",
            "1440",
            "10080",
            "302400"
          ],
          "type": "string",
          "description": "Minutes between checks, as a string: '5', '15', '30', '60' (hourly), '180', '360', '720', '1440' (daily), '10080' (weekly), '302400' (monthly). Omit for the plan default. A frequency faster than the plan allows is raised to the plan minimum."
        },
        "notifyWhen": {
          "type": [
            "string",
            "null"
          ],
          "description": "Natural-language alert condition evaluated by AI on every check, e.g. 'notify me when the price drops below $500' or 'alert when the Pro plan changes'. Mutually exclusive with notifyConditions. Pass null to clear."
        },
        "keywordsAction": {
          "enum": [
            "ADDED",
            "REMOVED"
          ],
          "type": "string",
          "description": "TEXT monitors only: alert when keywords are ADDED to the page (default) or REMOVED from it"
        },
        "outputExtractor": {
          "enum": [
            "NONE",
            "NUMBER",
            "REGEX"
          ],
          "type": "string",
          "description": "How to extract the monitored value from the page text: NUMBER pulls the first number (good for prices), REGEX applies outputExtractorPattern, NONE keeps the full text."
        },
        "notifyConditions": {
          "anyOf": [
            {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "conditionType",
                  "value"
                ],
                "properties": {
                  "value": {
                    "type": [
                      "string",
                      "number"
                    ],
                    "description": "Comparison value (number for gt/gte/lt/lte)"
                  },
                  "conditionType": {
                    "enum": [
                      "con",
                      "eq",
                      "not",
                      "gt",
                      "gte",
                      "lt",
                      "lte"
                    ],
                    "type": "string",
                    "description": "con = output contains value, eq = equals, not = does not equal, gt/gte/lt/lte = numeric comparison of the extracted output"
                  }
                },
                "additionalProperties": false
              }
            },
            {
              "type": "null"
            }
          ],
          "description": "Deterministic alert conditions on the extracted output (no AI credits). All conditions must pass. Requires the output to change. Mutually exclusive with notifyWhen. Not available for HTML monitors. Pass null to clear."
        },
        "outputExtractorPattern": {
          "type": [
            "string",
            "null"
          ],
          "description": "Regular expression for outputExtractor: REGEX — bare pattern or /pattern/flags; the first capture group (or full match) becomes the monitored output, e.g. 'In stock: (\\d+)' Pass null to clear."
        }
      },
      "additionalProperties": false
    }
    arguments 187 lines
  • delete_monitor unknown never probed

    Permanently delete a monitor with all its checks, screenshots and HTML copies. This cannot be undone: confirm with the user first, and use pause_monitor instead when they only want it to stop checking.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "uuid"
      ],
      "properties": {
        "uuid": {
          "type": "string",
          "description": "Monitor uuid (from list_monitors)"
        }
      },
      "additionalProperties": false
    }
    arguments 14 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id a17fd2b6c8e774b2.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/a17fd2b6c8e774b2/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/a17fd2b6c8e774b2/badge.svg)](https://brick.blue/agent/a17fd2b6c8e774b2?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.