EventSend
Server Details
Ask your AI about your product's events, delivery health and usage
- Status
- Healthy
- Uptime
- 99.3% over 42 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- mytinyrocket/eventsend-claude-plugin
- GitHub Stars
- 0
TDQS
Scored across 9 tools
The tools split cleanly into org/config, usage, analytics, and event retrieval, with each tool having a distinct primary purpose. However, search_events and get_user_timeline both retrieve events for a customer user, and event_stats vs list_event_names both report event counts/names over a range, creating minor selection ambiguity.
Most tools follow a verb_noun pattern (get_event, list_organizations, search_events, describe_setup), but delivery_health and event_stats are noun-first. All names use snake_case and remain readable, but the set is not fully uniform.
Nine tools is well-scoped for a read-only event analytics server. Each tool covers a distinct capability, and there is no obvious redundancy or bloat.
The surface covers organizations, configuration, usage, event names, event stats, event search, user timelines, individual events, and delivery health. Minor gaps include no write/management operations and list_event_names returning only frequent names rather than an exhaustive list, but these are small for a query-focused toolset.
Available Tools
9 toolsdelivery_healthDelivery healthARead-onlyIdempotentInspect
Delivery health per destination (Slack, Discord, webhooks, …) over a range of calendar days — delivered, failed, success rate, response time, what was held back — plus the most recent failed deliveries with their errors. Totals come from daily aggregates; failures from raw deliveries within retention.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Last calendar date (YYYY-MM-DD, org-local); with from. | |
| org | No | Organization slug; omit for the default organization. See list_organizations. | |
| days | No | The last N calendar days including today; instead of from/to. Default 7. | |
| from | No | First calendar date (YYYY-MM-DD, org-local); with to. | |
| destination_id | No | One destination (dst_…) from describe_setup. | |
| failures_limit | No | ||
| failures_since | No | Earliest failure time for the recent failures: ISO-8601 with offset, YYYY-MM-DD, or 30m/24h/7d/2w back. | |
| failures_until | No | Latest failure time, same forms. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry the safety profile (readOnly, idempotent, non-destructive), so the bar is low; the description nonetheless adds a genuinely useful interpretive caveat: totals derive from daily aggregates while failures come from raw deliveries within retention, which tells the agent why failure data may be truncated or inconsistent with totals.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, zero filler, with the core subject (per-destination delivery health) and the data-sourcing caveat front-loaded. Every clause carries information an agent can act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must convey the return shape, and it does — delivered, failed, success rate, response time, held-back counts, and recent failures with errors. The retention caveat covers the main interpretive risk; only minor gaps (pagination, default-org behavior) remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 88%, so the schema already documents from/to/days, destination_id, org, and the failures_* bounds. The description only alludes to the calendar-day range and adds no syntax or format detail beyond the schema, so the baseline 3 is right.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (delivery health per destination) with a defined scope (range of calendar days) and enumerates the metrics returned. An agent can immediately distinguish this from event_stats or get_usage without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the content — you call this to inspect delivery reliability and recent failures — but there is no explicit when-to-use, when-not-to-use, or named alternative among the siblings. Adequate but leaves routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
describe_setupDescribe setupARead-onlyIdempotentInspect
The organization's configuration: routes (where events arrive), sources (Stripe, GitHub, Vercel connectors), topics (routing rules) and destinations (Slack, Discord, Telegram, webhooks, push) with their ids and names. Call it before filtering another tool by route, source or destination.
| Name | Required | Description | Default |
|---|---|---|---|
| org | No | Organization slug; omit for the default organization. See list_organizations. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and a closed-world profile, so safety is covered. The description adds value beyond that by enumerating what the payload contains (entities plus their ids and names), which matters because there is no output schema to describe the return shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both earning their place: the first enumerates the returned configuration, the second states the calling precondition. The parenthetical example lists are dense but front-load the payload description before the usage instruction.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 compensates by naming the entity types and the id/name fields returned, and it supplies the sequencing guidance an agent needs. Nothing critical is missing for a simple, read-only discovery tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single optional 'org' parameter at 100% schema description coverage, including a pointer to list_organizations, so the schema fully carries parameter meaning. The description adds no further parameter detail, which matches the baseline of 3 when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the concrete resource set it returns (routes, sources, topics, destinations) and grounds each with examples like 'Stripe, GitHub, Vercel' and 'Slack, Discord, Telegram'. It reads as a noun phrase rather than a verb+resource statement, but the scope is unmistakable and clearly distinct from event-oriented siblings such as search_events or event_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Call it before filtering another tool by route, source or destination' gives an explicit precondition that tells the agent when to invoke this tool first. It stops short of naming a specific sibling or stating when not to call it, so it is strong context rather than a full when/when-not/alternatives matrix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
event_statsEvent statisticsARead-onlyIdempotentInspect
Event counts over a range of calendar days — per day, per level, in total, and against the previous period — for the whole organization or one event name. From daily aggregates (12 months on every plan). Dates only, in the organization's time zone.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Last calendar date (YYYY-MM-DD, org-local); with from. | |
| org | No | Organization slug; omit for the default organization. See list_organizations. | |
| days | No | The last N calendar days including today; instead of from/to. Default 7. | |
| from | No | First calendar date (YYYY-MM-DD, org-local); with to. | |
| event_name | No | Restrict every figure to one exact event name (see list_event_names). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful behavior beyond that: results come from daily aggregates with 12 months of history on every plan, only dates are accepted (no finer granularity), and dates are interpreted in the organization's time zone. These are real constraints an agent could not read off the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, front-loaded with the operation and its outputs before the retention and timezone caveats. Every clause carries information, though the sentence fragment 'From daily aggregates (12 months on every plan)' reads awkwardly and takes a beat to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With five parameters and no output schema, the description carries the burden of conveying the return shape, and it does so by naming the four breakdowns (per day, per level, total, versus previous period). The org/event_name scoping and the days-vs-from/to alternatives are covered by the schema. Only the exact structure of the returned figures remains unspecified, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the from/to pairing and the days-as-alternative semantics are already documented in the schema. The description reinforces the date-only and org-timezone framing but adds no format or precedence detail beyond what the schema provides; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource and operation — event counts over a calendar-day range — and enumerates the aggregations returned (per day, per level, total, previous period) plus the scope (whole org or a single event name). This is far more specific than the title 'Event statistics'. It does not, however, differentiate itself from similarly-named siblings such as get_usage, leaving the agent to infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: the retention note ('12 months on every plan') and the 'dates only, in the organization's time zone' constraint tell the agent what data is reachable, but there is no explicit when-to-use or when-not-to-use guidance and no alternative tool is named. An agent can infer the intended context but gets no routing help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_eventGet eventARead-onlyIdempotentInspect
Fetches one event by id with its full payload and a page of its delivery history (newest first; page with deliveries_cursor). Use it after search_events or get_user_timeline when the payload or every delivery attempt is needed.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The event id (evt_…). | |
| org | No | Organization slug; omit for the default organization. See list_organizations. | |
| deliveries_limit | No | ||
| deliveries_cursor | No | deliveries_next_cursor from the previous page of this event's deliveries. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds useful return-shape context (delivery history newest-first, cursor pagination), but says nothing about auth requirements, rate limits, or error behavior for a non-existent id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the core action and return scope, with routing guidance second. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must carry return-value meaning, and it does describe payload plus paginated delivery history with ordering. It stops short of detailing payload structure or empty/error cases, but is largely sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75%, so most parameters are already documented. The description explains the pagination role of deliveries_cursor but adds nothing for deliveries_limit or org beyond the schema's own descriptions, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Fetches one event by id') plus the scope of what is returned (full payload and a page of delivery history). This clearly distinguishes it from list-oriented siblings like search_events and get_user_timeline.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names the two preceding tools (search_events, get_user_timeline) and the condition that selects this one ('when the payload or every delivery attempt is needed'). The when-to-use routing is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_usageGet usageARead-onlyIdempotentInspect
The organization's event quota for the current billing period — used, limit, remaining, overage, a run-rate projection — and its plan and raw-event retention.
| Name | Required | Description | Default |
|---|---|---|---|
| org | No | Organization slug; omit for the default organization. See list_organizations. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive, so safety is covered. The description earns credit by enumerating the response contents (used, limit, remaining, overage, run-rate projection, plan, raw-event retention), which is the behavioral detail an agent needs since no output schema exists. It doesn't state whether the run-rate projection is per-day/per-month or how overage is signalled, leaving a small gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the resource and scope, and the dash-delimited list of returned metrics is dense but every item earns its place. Slightly run-on, but no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly compensates by listing the returned fields, and the sole parameter is fully documented in the schema. Only the usage/routing guidance against sibling reporting tools is missing, which is a modest gap for a simple read-only tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'org' parameter has 100% schema description coverage, including the default-organization behavior and a pointer to list_organizations, so the schema carries the full burden. The description adds nothing about the parameter, which is the expected baseline here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and scope (the organization's event quota for the current billing period) plus the exact metrics returned, which is more than a restatement of 'Get usage'. It does not explicitly contrast itself with the closest sibling, event_stats, but the quota/billing framing is distinct enough to separate them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus event_stats or the other reporting tools, and no prerequisites or exclusions. The 'current billing period' phrase is scoping context, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_user_timelineGet customer timelineARead-onlyIdempotentInspect
The timeline of one customer: every raw event whose user_id matches any of the given identifiers, ordered by when it occurred (newest first), with a summary of the range on the first page. Bounded by the plan's retention. Page with next_cursor until exhausted is true.
| Name | Required | Description | Default |
|---|---|---|---|
| org | No | Organization slug; omit for the default organization. See list_organizations. | |
| limit | No | ||
| since | No | Earliest occurrence time: ISO-8601 with offset, YYYY-MM-DD (org-local day), or 30m/24h/7d/2w back. | |
| until | No | Latest occurrence time, same forms as since. | |
| cursor | No | next_cursor from the previous page. | |
| user_ids | Yes | The customer's identifiers as the sender set user_id (exact match); combine a customer id with an alias learned from a payload. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive, so the safety profile is covered. The description adds real behavioral context beyond that: results are bounded by the plan's retention, ordering is newest-first, a range summary appears on the first page, and pagination terminates when exhausted is true.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with zero filler, front-loading the resource and scope, then ordering, retention, and pagination. Every clause carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description takes on return-value disclosure and does so reasonably: it explains ordering, the first-page range summary, retention bounding, and pagination termination. It does not detail the summary's contents or the event shape, but it covers enough for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 83%, so the schema already documents most parameters (user_ids exact match, since/until forms, cursor). The description restates that user_ids are matched exactly against the raw event user_id but adds little syntax or format detail beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('The timeline of one customer: every raw event whose user_id matches...'), plus ordering (newest first) and scope (single customer). This clearly differentiates it from siblings like search_events and get_event, which an agent can distinguish without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description tells the agent how to paginate ('Page with next_cursor until exhausted is true'), which is useful procedural guidance, but never states when this tool is preferable to search_events or get_event, nor any usage exclusions. Usage is implied rather than explicitly directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_event_namesList event namesARead-onlyIdempotentInspect
The organization's most frequent event names over a range of calendar days, with counts and share, from daily aggregates (12 months on every plan). Use it to learn what an organization sends before searching or computing stats. Dates only, in the organization's time zone.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Last calendar date (YYYY-MM-DD, org-local); with from. | |
| org | No | Organization slug; omit for the default organization. See list_organizations. | |
| days | No | The last N calendar days including today; instead of from/to. Default 7. | |
| from | No | First calendar date (YYYY-MM-DD, org-local); with to. | |
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds real context beyond them: the underlying daily aggregates, the 12-month retention window available on every plan, and org-local time-zone semantics. It doesn't discuss result ordering or pagination, but the added constraints are genuinely useful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with no waste: scope first, then the guiding use case, then the date/time-zone constraint. Every clause carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by naming the return shape (event names with counts and share) and the retention horizon. The only unaddressed gap is what limit controls and the ordering of results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80%, and the schema already explains from/to pairing, the days alternative, org defaulting, and org-local dates. The description's "Dates only, in the organization's time zone" largely restates that, and the undocumented limit parameter gets no help, so schema-coverage baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (list event names) plus exactly what is returned (counts and share) and the data source (daily aggregates). This distinguishes it from siblings like event_stats and search_events, which operate on events rather than the org-wide name ranking.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use it to learn what an organization sends before searching or computing stats" gives a clear when-to-use and implicitly routes away from search_events and event_stats. It stops short of naming those tools or stating exclusions, so it is strong but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_organizationsList organizationsARead-onlyIdempotentInspect
Lists the organizations this credential can read, with the default one marked. Call it first when the user names an organization, or when another tool answers that no default is set, and then pass that organization's slug as org on every later call.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive, so the safety profile is covered. The description adds non-obvious behavior: results are scoped to the credential's read permissions and one entry is flagged as the default, which explains why other tools may report no default. Return shape details and ordering are not described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The purpose comes first and the usage routing follows, which is the right order for a discovery-style tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-param, read-only listing tool with no output schema, the description covers what an agent needs: when to invoke it and how to use the result. It stops short of explaining how the default is marked or what fields an entry contains, leaving the agent to inspect the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. The description goes slightly further by naming `org` as the identifier field that later tools consume, giving the agent the linkage between this call's output and downstream invocations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Lists the organizations") and narrows the scope to those "this credential can read," plus a distinguishing output trait (the default is marked). No sibling tool touches organizations, so the resource alone separates it cleanly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit trigger conditions ("Call it first when the user names an organization, or when another tool answers that no default is set") and the follow-up contract ("pass that organization's slug as `org` on every later call"). Both when-to-call and what-to-do-next are spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_eventsSearch eventsARead-onlyIdempotentInspect
Searches the organization's recent raw events (newest first) by text, event name, level, delivery status, customer user_id, route, source and time, with each event's latest deliveries. Bounded by the plan's retention. Page with next_cursor until exhausted is true; a short page with a cursor means the search window ended, not the history.
| Name | Required | Description | Default |
|---|---|---|---|
| org | No | Organization slug; omit for the default organization. See list_organizations. | |
| level | No | ||
| limit | No | ||
| since | No | Earliest receipt time: ISO-8601 with offset, YYYY-MM-DD (org-local day), or 30m/24h/7d/2w back. | |
| until | No | Latest receipt time, same forms as since. | |
| cursor | No | next_cursor from the previous page. | |
| search | No | Text to find in the event name or message; at least 3 characters. | |
| status | No | Delivery status of the event. | |
| user_id | No | The sender's customer identifier, exact match (see get_user_timeline). | |
| route_id | No | A route id (rte_…) from describe_setup. | |
| source_id | No | A source id (sou_…) from describe_setup. | |
| event_name | No | Exact event name, e.g. payment-received. | |
| include_payload | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the read-only, idempotent, non-destructive safety profile, so the bar is lower. The description still adds real behavior beyond that: results are newest-first, scope is bounded by the plan's retention, and it explains the non-obvious semantics of a short page with a cursor still present. It stops short of 5 only by not covering the include_payload effect or result shape (and there is no output schema).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with what is searched before any operational detail, and every clause carries information (scope, retention bound, pagination semantics). No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-param read-only search with no output schema, the description covers the essentials an agent needs: ordering, retention bound, filter surface, and page-termination logic. It could go further on the payload toggle and cursor reuse, but nothing critical for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 77%, so the schema already documents most parameters. The description names the filter dimensions (text, event name, level, delivery status, user_id, route, source, time) which loosely maps to the params, but adds no syntax or format detail beyond the schema (e.g. exact-vs-substring, cursor source). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Searches), resource (organization's recent raw events), and enumerates the filterable dimensions plus what's attached (each event's latest deliveries). This implicitly separates it from aggregating siblings like event_stats and single-event get_event, but no sibling is named explicitly, so it lands just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The pagination guidance ('Page with next_cursor until exhausted is true; a short page with a cursor means the search window ended, not the history') is useful how-to-use context. However, it never says when to prefer this tool over siblings like get_event, event_stats, or get_user_timeline, leaving the routing decision to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
9 tool updates
- First observed
delivery_health - First observed
describe_setup - First observed
event_stats - First observed
get_event - First observed
get_usage - First observed
get_user_timeline - First observed
list_event_names - First observed
list_organizations - First observed
search_events
Publisher details
- Operator
- My Tiny Rocket LLC
- Operator website
- https://mytinyrocket.com
- Vendor relationship
- Not applicable
- Documentation
- https://eventsend.io/docs/mcp
- Trust center
- Not available
- Restrictions
- Not available
Related MCP Connectors
Session replay and product analytics with an AI judge. Ask about sessions, findings and funnels.
Ask your customer portal and CRM anything, in plain English
Ask questions about your support tickets, chats, agents and AI answer quality, with cited tickets.
Ask your app anything — revenue, errors, read-cost, growth — and get rendered charts back.
Related MCP Servers
AlicenseAqualityBmaintenanceIntelligence layer for AI that enables querying across revenue, errors, identity, and analytics layers in plain English, returning rendered charts and dashboards.1131 npmMIT- AlicenseNot gradedqualityCmaintenanceTalk to your SaaS tools including HubSpot, Salesforce, and more61 npm50MIT
- AlicenseBqualityDmaintenanceEnables AI-powered analytics for OpenReplay user sessions through natural language queries. Supports session search, user journey analysis, error tracking, performance metrics, and funnel analysis to understand user behavior patterns.112MIT
- AlicenseNot gradedqualityDmaintenanceEnables natural language querying and analysis of OpenTelemetry traces, metrics, and logs stored in Elasticsearch/OpenSearch, allowing AI assistants to investigate performance issues, find root causes, and explore system behavior.3 npm14MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.