Title100/100
List streams
The title clearly communicates the tool’s action and subject. Keep it concise.
Description96/100
Find streams and their ids — the starting point for every other stream tool. Each row carries the name, current state, scheduled start and whether that schedule repeats, which is enough to tell a one-off from a daily loop without a second call. Filter by name, run state and creation window. Returns a page of rows plus nextCursor and total. Use get_stream for one stream's full configuration.
The description explains the capability, when to use it, and what to expect.
Inputs93/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
name
Case-insensitive substring to match the name.
Clear enough to supply this argument.
status
Only streams in this run state: active ones are live or starting, scheduled ones are waiting for their window, inactive ones are neither.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
createdAfter
Only items created at or after this RFC3339 time, e.g. 2026-05-01T00:00:00Z.
Clear enough to supply this argument.
createdBefore
Only items created at or before this RFC3339 time.
Clear enough to supply this argument.
sort
Order rows by creation time; newest first when omitted.
Clear enough to supply this argument.
first
How many rows to return on this page; 20 when omitted.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
after
The `nextCursor` from a previous page of this same tool.
Clear enough to supply this argument.
Annotations100/100
All four behavior hints are declared.
{
"title": "List streams",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Output schema64/100
Align the output schema with the tool’s documented result.
View output schema
{
"type": "object",
"anyOf": [
{
"type": "object",
"required": [
"items",
"nextCursor",
"hasMore",
"total"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"description": "The rows on this page."
},
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Total matching records, not just this page."
},
"hasMore": {
"type": "boolean",
"description": "Whether there is a next page."
},
"nextCursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Pass back as `after` for the next page; null when this is the last page."
}
},
"additionalProperties": {}
},
{
"type": "object",
"required": [
"code",
"detail"
],
"properties": {
"code": {
"type": "string",
"description": "Stable — branch on it: INVALID_INPUT, REVISION_REQUIRED, STALE_PUBLISH, CONFIRM_REQUIRED, UNAVAILABLE, …"
},
"detail": {
"type": "string",
"description": "What is wrong, in a sentence"
},
"errors": {
"description": "Each problem, when a check refused it"
},
"currentRevision": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "CONFLICT: the revision it has now"
}
},
"additionalProperties": {}
}
],
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"additionalProperties": {}
}