Skip to main content
Glama

twitter_monitor_create

Watch an X account for new posts and deliver HMAC-signed copies to your registered webhooks. Filter by domain or exclude replies.

Instructions

Start watching an X account for new posts. Every new post from that handle is HMAC-signed and delivered to your registered webhook(s) on a shared poll interval (see twitter_monitor_webhook_create to register a delivery URL first). Free: monitor creation is account administration, not a metered read. Returns the new monitor's id, plus its normalized handle, status, and poll_interval_ms.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
handleYesThe X username to watch, without the leading @ (e.g. 'elonmusk').
webhook_idsNoOptional. Comma-separated webhook id(s) from twitter_monitor_webhook_create to restrict this monitor's deliveries to. Omit to deliver to every active webhook on the account (the default).
domain_filterNoOptional. A bare hostname ('example.com') or a full URL ('https://example.com/blog') to restrict delivery to only the new posts that link to that host or a subdomain of it (e.g. 'example.com' matches both example.com and blog.example.com). Normalized server-side: lowercased, scheme/path/query/fragment/leading www./trailing :port stripped. Omit for no filter, the default (deliver every new post). Rejected with a 400 if what remains after normalization is not a valid hostname shape. A post with no matching link is filtered out of delivery, never silently dropped: it still advances the monitor's cursor and counts toward the account's tweets_domain_filtered health metric.
include_repliesNoOptional boolean. true delivers the account's replies as well as its own posts, which is the default and what every monitor has always done; false holds replies back and delivers only the account's own posts. Must be a real boolean: the string "false" and the number 0 are rejected with a 400 rather than coerced, because coercing them would quietly give you the opposite of what you typed, and the wrong answer here is invisible since it looks exactly like the account not having posted.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.9.9

TDQS

A4.1/5.0
Behavior4/5

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

Annotations establish openWorldHint=true, readOnlyHint=false, and destructiveHint=false; the description goes further by disclosing HMAC signing of deliveries, a shared poll interval, and the non-metered cost profile. It doesn't surface auth/permission requirements or rate limits, so it adds real value but not full behavior detail.

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

Conciseness4/5

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

Three sentences, front-loaded with the core action and the prerequisite, followed by cost and return shape. Dense but every sentence carries information; the return-value list could arguably be trimmed given no output schema burden.

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?

With no output schema, the description usefully enumerates what is returned (id, normalized handle, status, poll_interval_ms) and covers the prerequisite and cost model. It is close to complete for this complexity level, missing only edge behavior on invalid handles or duplicate monitors.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents handle, webhook_ids, domain_filter, and include_replies thoroughly. The description only names webhook_ids indirectly via the webhook sibling; it adds little parameter-level meaning beyond the schema, so the baseline 3 applies.

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?

States a specific verb and resource ('Start watching an X account for new posts') and distinguishes this write/administration tool from siblings like twitter_monitor_list and twitter_monitor_update. The delivery mechanism and returned fields are spelled out, so an agent knows exactly what this tool does.

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

Usage Guidelines4/5

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

Explicitly names the prerequisite: register a delivery URL first via twitter_monitor_webhook_create. It also clarifies the cost model ('Free: monitor creation is account administration, not a metered read'). It stops short of stating when NOT to use it versus twitter_monitor_update, but the context is clear.

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

Deploy Server

Other Tools