Skip to main content
Glama
Vaquill-AI

Vaquill-AI/vaquill-mcp

Official
by Vaquill-AI

Create Watch

create_watch

Subscribe to a legal source and get notified when it changes. Deliver alerts by HMAC-signed webhook or email, triggered only when the source's refresh detects actual updates.

Instructions

Subscribe to a board so a change to that source notifies you. Delivery is by webhook (HMAC-SHA256 signed) or email, fired when the source's existing refresh finds real changes -- nothing is crawled on your behalf and there is no real-time trigger. channel is immutable once set; to change it, delete and recreate.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
scopeNoNarrow the alert to one citation instead of a whole source. Three mutually exclusive forms. Hierarchy prefix: `{"title": "21", "part": "314"}`, where every level set must match and `title` is required whenever a narrower level is set. Exact section: `{"actId": "CFR_T21_P314_S314_50"}`, validated at create time and the only form EVERY source accepts, including flat ones. Named source: `{"source": "fdic_fil"}`, accepted on `agency_guidance`, `agency_manuals` and `cfr` only. Omit to watch the whole source.
stateNoBoard's state, 2-letter and case-insensitive. For a federal board (USC, eCFR, the Federal Register) pass `federal` or omit entirely; the two are equivalent. Must otherwise match the `state` list_boards returned for this corpusType.
channelNowebhook
corpusTypeYesBoard's corpus_type (e.g. `state`, `state_regulation`, `federal_register`, `agency_guidance`), matched case-insensitively so `USC` / `CFR` work too. Call list_boards for the authoritative list: this is a growing set, not a fixed enum, and not every corpus is a watchable board.
webhookUrlNoRequired when channel is webhook or both.
webhookAuthNoOptional outbound credential sent on every delivery, so your gateway can authenticate us with the header it already reads. Independent of `webhookSecret`: set neither, either, or both. Only valid on a webhook or both channel watch.
emailAddressNoRequired when channel is email or both.
webhookSecretNoOptional signing secret, stored encrypted and never returned. Every delivery then carries `X-Vaquill-Signature: sha256=<hex>`, an HMAC-SHA256 of the raw request body bytes keyed with this secret. Verify over the raw body before parsing JSON, constant-time.
Install Server

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond the minimal annotations by disclosing important behavior: delivery is HMAC-SHA256 signed, notifications fire only when the existing refresh finds real changes, nothing is crawled, and there is no real-time trigger. It also exposes the immutability constraint on channel and directs the agent to delete and recreate to change it. This is rich, behavioral context that annotations alone do not provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: purpose, delivery/trigger behavior, and the immutability caveat. Important constraints are front-loaded and no redundant wording or restatement of the tool name appears.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of 8 parameters and no output schema, the description supplies the most decision-critical context: notification timing, delivery methods, and the channel immutability rule. It does not describe what a successful create returns, such as a watch ID, which would be helpful, but the rich per-parameter schema descriptions compensate for most remaining gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is high at 88%, so the schema carries most parameter meaning. The description adds genuinely new parameter-level semantics by stating that channel is immutable once set and that changing it requires delete and recreate, which is not in the schema. This goes beyond the baseline expected from a high-coverage schema, though most other parameter details are left to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Subscribe to a board so a change to that source notifies you.' It clearly defines the tool as watch creation and distinguishes it from siblings like update_watch, delete_watch, and list_watches by focusing on the notification-subscription action. It also adds key delivery specifics (webhook/email) that make the tool's role concrete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives strong context for when to use it: when a board needs to be watched and notifications are desired, with explicit clarification that delivery only happens on real changes found during existing refreshes. However, it does not explicitly name alternatives or state when not to use it, such as 'to modify an existing watch, use update_watch instead.' Usage is implied rather than directly contrasted with sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Vaquill-AI/vaquill-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server