Skip to main content
Glama
MCP Events Bridge

MCP Events Bridge

Official

list_sources

Read-only

Lists configured event sources with their event types, schemas, and webhook subscription counts so you can find the event names and arguments needed by event query and polling tools.

Instructions

List the configured sources (the services events come from): each one's id, type, event types and webhook subscription count. Each entry in a source's events is an event type, as events/list describes it: its name, description and inputSchema (the arguments it takes). Use it first, to find the event type names that list_events, get_event, wait_for_event and poll_events take, and the arguments wait_for_event and poll_events take. subscriptions counts webhook subscriptions (events/subscribe); poll subscriptions are held by the client and not counted. For events that already happened, list_events.

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.8.1

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint true, openWorldHint false), so the description focuses on behavior worth knowing: the exact shape of returned entries and the non-obvious rule that subscriptions counts only webhook subscriptions while poll subscriptions are client-held and uncounted. That is real context beyond structured fields, though nothing is said about ordering or size of the result set.

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?

Purpose is front-loaded and every sentence carries information, but the middle sentences are dense with nested parentheticals ("(the arguments it takes)", "(events/subscribe)") and the phrase about arguments for wait_for_event and poll_events is repeated awkwardly. Slightly tighter phrasing would read better.

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

Completeness5/5

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

With zero parameters, a read-only annotation set, and no output schema, the description carries the full burden of explaining the return shape and it does so completely, including the nested event-type structure and the subscription-count caveat.

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?

The tool takes zero parameters, so the baseline is 4. The description still adds value by explaining the schema of the nested event-type objects returned (name, description, inputSchema), which is the closest analogue to parameter documentation here.

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 ("List the configured sources") and immediately defines what a source is ("the services events come from"), then enumerates the returned fields. It is clearly distinguishable from siblings like list_events and get_event by being the discovery/introspection tool.

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

Usage Guidelines5/5

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

Explicitly instructs "Use it first" and names the concrete downstream consumers of its output (list_events, get_event, wait_for_event, poll_events) along with the specific data they need. It also gives a when-not condition: "For events that already happened, list_events."

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