Skip to main content
Glama

ensemble_write_part

Write a voice part for an ensemble session, validating notation against the session header. Pass the base_version to prevent overwriting; if outdated, receive the current version to rebase.

Instructions

Write your voice's part. The notation is parsed and checked against the session header before anything reaches disk. Pass the base_version you read; if the voice has moved on the write is refused and you are given the current part to rebase onto.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
agentYesWho you are.
voiceYesThe voice you are writing.
contentYesThe part: section headers and rows for your voice only, no header block.
sessionYesSession name.
summaryNoOne line saying what you changed, for the log.
base_versionYesThe version you read this voice at.
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses that notation is parsed and validated against the session header before disk write, and explains the optimistic concurrency behavior (stale writes refused, current part returned for rebase). This goes beyond a simple 'write' statement. It does not mention permission requirements or return value shape, but the provided behavioral details are substantial.

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?

Two sentences, front-loaded with the core purpose, and every clause adds necessary information. No fluff or repetition. The structure is ideal for quick agent scanning.

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?

For a write tool with no output schema and no annotations, the description covers the essential workflow: write action, validation, conflict handling, and rebase instruction. It does not describe the success return value or the summary parameter, but the schema covers parameters well, and the description adequately covers the concurrency context. Slight gap on return values, but still strong.

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%, so the baseline is 3. The description adds value by explaining the semantics of base_version (optimistic concurrency) and reinforces that content is 'for your voice only, no header block.' This goes beyond the schema's already-detailed descriptions, meriting a 4.

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 and resource: 'Write your voice's part.' It clearly distinguishes from siblings like ensemble_read (read) and write_score (full score) by focusing on a single voice's part within a session. The additional context about notation parsing and version checking reinforces its unique role.

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 gives explicit actionable guidance: 'Pass the base_version you read; if the voice has moved on the write is refused and you are given the current part to rebase onto.' It clearly explains the precondition (read first) and the conflict workflow. It stops short of explicitly naming sibling tools (e.g., 'use ensemble_read to get the version') or stating when not to use this tool, hence one point off.

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/SuperInstance/tapscript-mcp'

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