Skip to main content
Glama
synopsys0

PostFader V12 — FL Studio MCP Server

automation_record_value

Destructive

Write a control change as automation into FL Studio's arrangement by recording one value during playback with write mode and recording armed.

Instructions

Record one automation value into FL while playback and recording run.

For writing a control change into the arrangement as automation. Requires
write mode, and FL must already be playing with recording armed (set both
with transport_set). Sends one REC event for the control at the current
song position and reports the control value before and after. Whether an
automation point was created cannot be read back. To set a value without
recording it, use mixer_set_track or channel_set.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
propertyYesControl to record: channels support volume and pan; mixer tracks also stereo_separation.
target_kindYesWhether target_index is a mixer track or a channel.
allow_masterNoPermit mixer target 0 (Master).
target_indexYesMixer track or global channel index.
expected_beforeNoOptional current normalized value; refuse if it changed.
value_normalizedYesValue to record, normalized 0..1.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
commandYes
event_idYes
propertyYes
verifiedNo
warningsNo
applied_atYes
target_kindYes
target_indexYes
project_savedNo
schema_versionNo1.0
after_normalizedNo
controller_valueYes
before_normalizedNo
undo_point_createdNo
session_fingerprintYes
requested_normalizedYes
control_value_verifiedYes
capture_conditions_heldYes
expected_before_appliedYes
process_rec_event_resultNo
automation_event_recordedNo
song_position_after_ticksNo
song_position_before_ticksNo
session_precondition_appliedNo
automation_event_verificationNounavailable_no_public_point_getter

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed32 schema fields changedv11.0.2
    • changedInput schema / properties / allow_master / description
      Previous value: -"Explicitly permit mixer target 0."New value: +"Permit mixer target 0 (Master)."
    • addedInput schema / properties / expected_before / description
      Added value: +"Optional current normalized value; refuse if it changed."
    • changedInput schema / properties / property / description
      Previous value: -"Channel targets support volume/pan; mixer also supports stereo separation."New value: +"Control to record: channels support volume and pan; mixer tracks also stereo_separation."
    • addedInput schema / properties / target_index / description
      Added value: +"Mixer track or global channel index."
    • changedInput schema / properties / target_kind / description
      Previous value: -"Automation target namespace."New value: +"Whether target_index is a mixer track or a channel."
    • addedInput schema / properties / value_normalized / description
      Added value: +"Value to record, normalized 0..1."
    • removedOutput schema / properties / after_normalized / title
      Removed value: -"After Normalized"
    • removedOutput schema / properties / applied_at / title
      Removed value: -"Applied At"
    • removedOutput schema / properties / automation_event_recorded / title
      Removed value: -"Automation Event Recorded"
    • removedOutput schema / properties / automation_event_verification / title
      Removed value: -"Automation Event Verification"
    • removedOutput schema / properties / before_normalized / title
      Removed value: -"Before Normalized"
    • removedOutput schema / properties / capture_conditions_held / title
      Removed value: -"Capture Conditions Held"
    • removedOutput schema / properties / command / title
      Removed value: -"Command"
    • removedOutput schema / properties / control_value_verified / title
      Removed value: -"Control Value Verified"
    • removedOutput schema / properties / controller_value / title
      Removed value: -"Controller Value"
    • removedOutput schema / properties / event_id / title
      Removed value: -"Event Id"
    • removedOutput schema / properties / expected_before_applied / title
      Removed value: -"Expected Before Applied"
    • removedOutput schema / properties / process_rec_event_result / title
      Removed value: -"Process Rec Event Result"
    • removedOutput schema / properties / project_saved / title
      Removed value: -"Project Saved"
    • removedOutput schema / properties / property / title
      Removed value: -"Property"
    • removedOutput schema / properties / requested_normalized / title
      Removed value: -"Requested Normalized"
    • removedOutput schema / properties / schema_version / title
      Removed value: -"Schema Version"
    • removedOutput schema / properties / session_fingerprint / title
      Removed value: -"Session Fingerprint"
    • removedOutput schema / properties / session_precondition_applied / title
      Removed value: -"Session Precondition Applied"
    • removedOutput schema / properties / song_position_after_ticks / title
      Removed value: -"Song Position After Ticks"
    • removedOutput schema / properties / song_position_before_ticks / title
      Removed value: -"Song Position Before Ticks"
    • removedOutput schema / properties / target_index / title
      Removed value: -"Target Index"
    • removedOutput schema / properties / target_kind / title
      Removed value: -"Target Kind"
    • removedOutput schema / properties / undo_point_created / title
      Removed value: -"Undo Point Created"
    • removedOutput schema / properties / verified / title
      Removed value: -"Verified"
    • removedOutput schema / properties / warnings / title
      Removed value: -"Warnings"
    • removedOutput schema / title
      Removed value: -"AutomationRecordReceipt"
  2. Changed7 schema fields changedv11.0.1
    • removedInput schema / properties / allow_master / title
      Removed value: -"Allow Master"
    • removedInput schema / properties / expected_before / title
      Removed value: -"Expected Before"
    • removedInput schema / properties / property / title
      Removed value: -"Property"
    • removedInput schema / properties / target_index / title
      Removed value: -"Target Index"
    • removedInput schema / properties / target_kind / title
      Removed value: -"Target Kind"
    • removedInput schema / properties / value_normalized / title
      Removed value: -"Value Normalized"
    • removedInput schema / title
      Removed value: -"automation_record_valueArguments"
  3. First observedv10.0.0

TDQS

A4.7/5.0
Behavior5/5

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

Beyond annotations (readOnlyHint=false, destructiveHint=true, idempotentHint=false), the description discloses the concrete mechanism (sends one REC event at the current song position), the reported before/after values, and a critical limitation: whether an automation point was actually created cannot be read back. That non-verifiable write behavior is exactly the kind of trait an agent needs and 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.

Conciseness5/5

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

Front-loaded with the core action, then prerequisites, then mechanism, then limitation, then alternative. Every sentence carries distinct load with no redundancy.

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?

Prerequisites, mechanism, and the read-back limitation are all covered, and an output schema exists so return-value details need not be restated. Complete for a destructive, non-idempotent recording tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all six parameters including enum semantics for property and target_kind. The description adds no additional parameter-level meaning (e.g., expected_before's refuse-on-change semantics or allow_master's gating) beyond what the schema states, so the baseline 3 applies.

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+resource+scope ('Record one automation value into FL while playback and recording run') and immediately distinguishes it from sibling setters by naming mixer_set_track and channel_set as the non-recording alternative. An agent can tell this apart from transport_set, mixer_set_track, and channel_set 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.

Usage Guidelines5/5

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

Explicitly states the when (writing a control change into the arrangement as automation), the prerequisites (write mode required, FL must already be playing with recording armed, set via transport_set), and the alternative path (mixer_set_track/channel_set to set a value without recording). Nothing is left to inference.

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

Deploy Server

Other Tools