Skip to main content
Glama

Replace Synoptic stream targets

set_stream_custom_targets
DestructiveIdempotent

Replace the signed-in user’s selected targets on a Synoptic custom-target stream and return the saved list. Targets, such as accounts, channels, repositories, or keywords in the format get_stream describes, choose which of the stream’s posts the user receives. Posts for removed targets stop appearing in the user’s stream reads, post searches, and WebSocket API delivery, and in open Synoptic app feeds after they reconnect; an empty list leaves none. Removed targets are then also removed from the user’s collection sources limited to specific targets, and such a source left with no targets is deleted. The stream’s owner receives all followers’ targets and may use them to decide what to collect. Requires an active direct subscription; values must match the stream’s target format and fit the subscription’s target allowance. Does not purchase access or confirm that targets are collected.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
streamIdYesID of an existing custom-target stream. Use get_stream to read its target-format instructions.
customTargetsYesComplete replacement list in the stream’s required target format. An empty array clears all selections. Use get_stream_custom_targets to inspect saved values or patch_stream_custom_targets for a narrow change.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
customTargetsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Despite annotations already flagging destructiveHint and idempotentHint, the description goes well beyond them: it spells out exactly what destruction means, including that removed targets disappear from stream reads, post searches, WebSocket delivery, and app feeds on reconnect, that removal cascades into collection sources, that a source emptied this way is deleted, and that an empty list leaves none. This is precisely the behavioral detail annotations cannot convey.

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?

The purpose is front-loaded in the first clause, and every subsequent sentence carries distinct information (cascade effects, subscription requirement, exclusions). It is dense with long multi-clause sentences, but little is expendable, so it reads as information-rich rather than bloated.

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 an output schema covering the returned list, 100% schema coverage on both params, and rich annotations, the description closes the remaining gaps: subscription prerequisite, format/allowance constraints, and the full downstream consequences of removal. Nothing needed to invoke it safely or correctly is missing.

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 100% and both parameters are documented in-schema, so the baseline is 3. The description adds meaning beyond the schema by explaining what a target actually is ('accounts, channels, repositories, or keywords in the format get_stream describes') and what it controls, which an agent needs to populate customTargets correctly.

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+resource: 'Replace the signed-in user's selected targets on a Synoptic custom-target stream and return the saved list.' 'Replace' plus the complete-list semantics distinguishes it from the patch_/get_ siblings, and the named Synoptic custom-target stream scopes it precisely.

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?

It gives conditions for use ('Requires an active direct subscription; values must match the stream's target format and fit the subscription's target allowance') and an explicit non-goal ('Does not purchase access or confirm that targets are collected'), which steers the agent away from assuming side effects. It does not name alternatives such as patch_stream_custom_targets in the description text, so it falls short of a full when/when-not/alternative treatment.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources