Skip to main content
Glama

send_stim_train

Deliver a timed train of stimulation pulses within a session, blocking until completion—ideal for rTMS bursts and repeated cues. Each pulse is logged individually to capture exact delivery timing.

Instructions

Deliver a regular train of pulses, blocking until it completes.

For rTMS bursts and repeated cues. The call holds until the train finishes, so it is capped at 1000 pulses and 60 seconds total; build longer protocols from several calls so there are decision points in between.

Every pulse is logged individually, so the event log reconstructs the exact delivered timing rather than the intended timing.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
labelYesBase event name; pulses are logged as '<label>_<n>'.
valueNoNumeric code for each pulse.
backendNoWhich attached backend. Defaults to the session default.
n_pulsesYesHow many pulses to deliver.
intensityNoPhysical dose per pulse, clamped against the ceiling.
session_idYesThe session to stimulate within.
duration_msNoPulse width.
interval_msYesInter-pulse interval. For rTMS this is 1000/frequency.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses the blocking behavior, the hard caps (1000 pulses, 60s), and a subtle behavioral trait: every pulse is logged individually so the event log reconstructs exact delivered timing rather than intended timing. This is genuinely valuable behavioral context beyond what the schema provides.

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

Conciseness5/5

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

Four tight, front-loaded sentences. The first sentence states the core action, the second states when to use it, the third covers constraints and guidance, and the fourth reveals the logging behavior. Zero filler words, every sentence earns its place.

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?

The tool has a complex delivery behavior (blocking, caps, per-pulse logging) and an output schema exists. The description covers the safety caps, blocking semantics, logging behavior, and provides construction advice for longer protocols. It's complete for the complexity level, though it could theoretically mention prerequisites like backends being attached, but those are covered by sibling tools and schema.

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 description coverage is 100% (all 8 params documented in schema), so baseline is 3. The description adds value by clarifying that label serves as a base event name with pulses logged as '<label>_<n>', which deepens the parameter semantics beyond the schema's 'Base event name' note. It also contextualizes interval_ms as 1000/frequency for rTMS. The main description doesn't enumerate params, but the schema already handles that well.

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+dose+resource: 'Deliver a regular train of pulses, blocking until it completes.' This clearly distinguishes it from siblings like log_event (single event logging) and arm_stim/stim_status which are for arming/monitoring rather than delivering pulses.

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?

The description explicitly states it's for rTMS bursts and repeated cues, provides a clear use case. It notes that calling blocks until completion with caps at 1000 pulses/60 seconds, advising to build longer protocols from multiple calls for decision points. However, it doesn't explicitly name alternative tools to use instead, only describes intra-tool guidance.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AImplifier/eeg-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server