Scythe MCP REAPER
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation5/5
Each tool has a clearly distinct purpose with no ambiguity. Tools like add_notes, create_midi_item, and create_track handle different MIDI/track creation tasks, while transport controls (play, record, stop) and track controls (mute_track, solo_track, arm_track) are well-separated. Even execute_lua and trigger_action serve different automation purposes without overlap.
Naming Consistency5/5All tools follow a consistent snake_case verb_noun pattern throughout. Examples include add_notes, arm_track, create_midi_item, get_session_info, and set_tempo. The naming is predictable and readable, with no deviations in style or convention.
Tool Count5/5With 17 tools, the set is well-scoped for a DAW control server, covering essential operations like transport, track management, MIDI editing, and automation. Each tool earns its place without bloat, providing comprehensive control over REAPER's core functionalities in a manageable number.
Completeness5/5The tool surface offers complete coverage for DAW operations, including CRUD for tracks and MIDI items, transport controls, track state management (mute/solo/arm/volume/pan), tempo setting, and advanced automation via execute_lua and trigger_action. There are no obvious gaps that would hinder agent workflows in this domain.
Average 3.2/5 across 17 of 17 tools scored. Lowest: 2/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 0 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.
If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.
MCP servers without a LICENSE cannot be installed.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It fails to explain what 'selecting' entails—whether it changes UI state, affects subsequent operations, requires specific permissions, or has side effects. For a tool with no annotation coverage, this lack of detail leaves the agent guessing about its behavior and implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the core action ('Select a track'), followed by parameter details. There's no wasted text, but it could be more structured—e.g., separating usage notes from parameter explanations. The two-sentence format is efficient, though under-specified content limits its effectiveness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (one parameter, no annotations, but with an output schema), the description is incomplete. It doesn't leverage the output schema to hint at return values or state changes. For a tool that likely interacts with a media session (inferred from siblings like 'play' and 'record'), it should explain the context of track selection, such as affecting playback or editing focus.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds minimal semantics beyond the input schema: it specifies that 'track_number' is '1-based', which clarifies the indexing convention not evident from the schema alone. However, with 0% schema description coverage and only one parameter, this is a modest improvement. It doesn't explain valid ranges, what happens with invalid numbers, or how tracks are numbered (e.g., relative to existing tracks).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose2/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Select a track' is a tautology that essentially restates the tool name without adding meaningful specificity. It doesn't explain what 'selecting' means in this context (e.g., making it active for editing, highlighting it in a UI, or setting it as the current track for operations). While it mentions 'track' as the resource, the verb 'select' remains vague compared to sibling tools like 'mute_track' or 'solo_track' that clearly indicate their effects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines1/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing track), exclusions, or how it relates to sibling tools like 'create_track' or 'arm_track'. Without context, an agent might struggle to determine if this is for navigation, activation, or preparation for other operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. 'Start playback' implies a state-changing action but doesn't describe what happens (e.g., begins playback from current position, affects transport state), what permissions are needed, whether it's reversible, or what happens if playback is already active. It provides minimal behavioral context beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise ('Start playback') - just two words that directly convey the core action. There's zero wasted language, and it's perfectly front-loaded with the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a simple action tool with zero parameters and an output schema exists, the description is minimally adequate. However, for a state-changing transport control in an audio/DAW context (inferred from sibling tools), it should ideally mention more about behavior, prerequisites, or relationship to other transport controls. The existence of an output schema means return values are documented elsewhere.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters (schema coverage 100%), so there are no parameters to document. The description appropriately doesn't discuss parameters, which is correct for a parameterless tool. Baseline is 4 when no parameters exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose3/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Start playback' clearly states the action (start) and target (playback), but it's somewhat vague about what exactly 'playback' refers to in this audio/DAW context. It doesn't distinguish this tool from sibling tools like 'record' or 'stop' beyond the basic verb difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance about when to use this tool versus alternatives like 'record', 'stop', or 'goto_position'. There's no mention of prerequisites (e.g., requires a session to be loaded), context (e.g., playback from current position), or exclusions (e.g., cannot use while recording).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Start recording' implies a state-changing action, but it doesn't reveal if this requires specific conditions (e.g., an armed track), what happens upon invocation (e.g., overwrites existing recording), or any side effects like rate limits. This is a significant gap for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with just two words, 'Start recording,' which is front-loaded and wastes no space. Every word earns its place by directly stating the tool's action, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 0 parameters, 100% schema coverage, and an output schema exists, the description's minimalism is somewhat acceptable. However, as a mutation tool with no annotations, it lacks critical behavioral details (e.g., what gets recorded, effects on other tools), making it incomplete for safe and effective use by an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't mention parameters, which aligns with the schema, earning a baseline score of 4 for not adding unnecessary information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose3/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Start recording' clearly states the action (start) and the operation (recording), which is better than a tautology. However, it doesn't specify what exactly is being recorded (audio, video, session, etc.) or distinguish this tool from potential siblings like 'play' or 'stop', making it somewhat vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., whether a track must be selected first), exclusions, or related tools like 'stop' or 'play' from the sibling list, leaving the agent with minimal context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action ('Create') but doesn't mention whether this requires specific permissions, what happens if the track doesn't exist, whether the creation is reversible, or any side effects. The description lacks crucial behavioral context for a mutation operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with a clear purpose statement followed by parameter explanations. The parameter documentation is well-structured with brief but informative explanations. No wasted words, though the formatting with 'Args:' could be slightly cleaner.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there's an output schema (which handles return values), no annotations, and 3 parameters with good semantic coverage in the description, the description is moderately complete. However, for a mutation tool in a complex domain like music production, more behavioral context (error conditions, dependencies, side effects) would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides meaningful semantic information for all three parameters beyond what the schema offers (which has 0% description coverage). It explains that 'track_number' is 1-based, 'position' is in beats, and 'length' is in beats with a helpful default interpretation (4 = 1 bar in 4/4). This compensates well for the schema's lack of descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create a MIDI item') and the target ('on a track'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'add_notes' or 'create_track', which might have overlapping functionality in a music production context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'add_notes' (which might add notes to an existing MIDI item) or 'create_track' (which creates a new track). There's no mention of prerequisites, dependencies, or contextual constraints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. While 'Move cursor' implies a navigation action, it doesn't specify whether this affects playback state, requires specific permissions, has side effects on other session elements, or what happens if the position is invalid. The description lacks crucial behavioral context for a navigation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly concise with zero wasted words. The first sentence states the core purpose, and the Args section cleanly documents the parameter. Every element serves a clear purpose without redundancy or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple single-parameter input schema and existence of an output schema (which handles return values), the description covers the basics adequately. However, as a navigation tool with no annotations, it should ideally mention behavioral aspects like whether this pauses playback or affects other session states to be fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description adds essential meaning by explaining that 'seconds' represents 'Position in seconds'. This clarifies the parameter's purpose beyond the schema's generic 'number' type. However, it doesn't provide additional context like valid ranges, units beyond seconds, or how the position relates to session timeline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Move cursor') and resource ('to a specific position'), making the purpose immediately understandable. It distinguishes from siblings like play, stop, or set_tempo by focusing on cursor positioning rather than playback or session settings. However, it doesn't explicitly differentiate from tools like select_track that might involve positioning indirectly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, timing considerations, or how it relates to other positioning or playback tools like play or stop. Without any usage context, the agent must infer appropriate scenarios from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the action ('Mute or unmute') but doesn't describe effects (e.g., whether muting affects playback, recording, or monitoring), permissions needed, error conditions, or what the output schema returns. For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with zero wasted words. It opens with the core purpose, then lists parameters with brief explanations. Every sentence earns its place, and the structure (purpose first, then args) is logical and front-loaded for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 2 parameters with 0% schema coverage and no annotations, the description provides minimal but adequate context for basic use. The presence of an output schema means return values needn't be explained here. However, for a mutation tool affecting audio/DAW state, more detail on behavior, side effects, and error handling would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds basic semantic context for both parameters ('track_number: Track number (1-based)' and 'muted: True to mute, False to unmute'), which is valuable since schema description coverage is 0%. However, it doesn't explain constraints (e.g., valid track number ranges), default behavior (muted defaults to true per schema), or interaction effects. This partially compensates for the schema gap but not fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Mute or unmute') and resource ('a track'), making the purpose immediately understandable. It distinguishes this from sibling tools like 'set_track_volume' or 'solo_track' by focusing specifically on muting functionality. However, it doesn't specify what type of track (audio, MIDI, etc.) or context (DAW session, media player), leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., whether a track must exist or be selected), compare with similar tools like 'solo_track', or indicate typical use cases. The agent must infer usage from the tool name and parameters alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states 'Create a new track' but doesn't explain what a 'track' is in this context, whether this requires specific permissions, if it's destructive to existing data, what the default properties are beyond the name, or how it integrates with other tools. This leaves significant gaps for an agent to understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and well-structured: a clear purpose statement followed by a brief parameter explanation. Every sentence earns its place with no wasted words, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema (which handles return values) and only one parameter with low complexity, the description is minimally complete. However, for a creation tool with no annotations, it lacks details on behavioral aspects like side effects or error conditions, leaving room for improvement in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaningful context for the single parameter by specifying that 'name' is the 'Name for the new track', which clarifies its purpose beyond the schema's basic title. With 0% schema description coverage and only one parameter, this adequately compensates, though it doesn't detail constraints like length or allowed characters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Create') and resource ('a new track'), making the purpose immediately understandable. However, it doesn't differentiate this tool from potential sibling tools like 'create_midi_item' or 'add_notes', which might also create audio-related elements in the same environment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. Given sibling tools like 'create_midi_item' and 'add_notes', there's no indication of whether this is for audio tracks, MIDI tracks, or other types, nor any prerequisites or context for when creation is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure but offers minimal information. It states the action but doesn't describe what 'solo' means in this context (e.g., whether it mutes other tracks, affects routing, or has visual feedback), nor does it mention side effects, permissions needed, or error conditions. The description is functionally adequate but lacks depth for safe operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and well-structured: a clear purpose statement followed by brief parameter explanations. Every sentence earns its place, with no redundant or vague language. The information is front-loaded, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, no annotations, but has an output schema), the description is minimally complete. It covers the basic action and parameters but lacks context about the audio/mixing environment, sibling tool relationships, and behavioral details. The presence of an output schema means return values are documented elsewhere, so the description doesn't need to explain them, but it could benefit from more operational guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaningful context beyond the input schema, which has 0% description coverage. It clarifies that 'track_number' is 1-based (not 0-based) and that 'solo' is a boolean where True means solo and False means unsolo, with the default being True. This compensates well for the schema's lack of descriptions, though it doesn't explain parameter constraints or interactions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('solo or unsolo') and resource ('a track'), making the purpose immediately understandable. It distinguishes from siblings like 'mute_track' by specifying the solo/unsolo action rather than muting. However, it doesn't explicitly differentiate from other track manipulation tools beyond the core action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'mute_track' or 'select_track'. There's no mention of prerequisites (e.g., needing an active session or track selection) or typical use cases (e.g., during mixing or live performance). The agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states the action ('Stop playback'). It doesn't disclose behavioral traits such as whether this requires specific permissions, what happens to paused vs. playing media, if it's reversible, or any side effects. The description is minimal and lacks necessary context for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise ('Stop playback.') with zero wasted words, making it front-loaded and easy to parse. Every word earns its place by directly conveying the core function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no annotations, but has an output schema), the description is minimally complete. However, as a mutation tool with no annotations, it should ideally include more behavioral context (e.g., effects, prerequisites). The output schema reduces the need to explain return values, but the description remains sparse for a tool that likely alters system state.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage, so the schema fully documents the lack of inputs. The description doesn't add parameter details, but with no parameters, this is acceptable. Baseline is 4 for zero parameters as no additional explanation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Stop playback' clearly states the tool's function with a specific verb ('Stop') and resource ('playback'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'play' or 'record' beyond the obvious semantic difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. While the name implies it stops ongoing playback, there's no mention of prerequisites (e.g., requires active playback), exclusions, or relationships to sibling tools like 'play' or 'record'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions this is for confirming connection, which hints at a diagnostic/read-only behavior, but doesn't explicitly state whether this is a read operation, what permissions are needed, or what the output contains. The note about OSC adds some context but doesn't fully describe behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with three short sentences that each add value: stating the purpose, providing a note about OSC, and giving usage guidance. It's front-loaded with the main purpose. There's minimal waste, though the structure could be slightly more polished.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 0 parameters, an output schema exists (so return values are documented elsewhere), and no annotations, the description is moderately complete. It covers purpose and usage but lacks details on what specific information is retrieved or behavioral aspects like error handling. For a simple diagnostic tool, this is adequate but has gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage, so the schema fully documents the lack of inputs. The description doesn't need to add parameter semantics, and it correctly doesn't mention any parameters. Baseline for 0 parameters is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose3/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool 'Get information about REAPER' which provides a basic purpose (verb+resource), but it's vague about what specific information is retrieved. It doesn't clearly distinguish this from potential sibling tools that might also provide REAPER information, though the sibling list doesn't show direct alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: 'Use this to confirm connection is working.' This gives a specific use case. However, it doesn't explicitly state when not to use it or name alternatives (though the note about OSC being 'primarily for sending commands' implies this isn't for command execution).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While 'Set' implies a mutation operation, the description doesn't address whether this requires specific permissions, whether changes are immediate or require session save, what happens with invalid track numbers, or if there are rate limits. Some minimal context about pan range is provided, but key behavioral aspects are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely efficient with zero wasted words. The purpose is stated in the first sentence, followed by clear parameter documentation. Every sentence earns its place by providing essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations but an output schema, the description covers the basic operation and parameter semantics well. However, it lacks context about when to use it, error conditions, or behavioral constraints. The presence of an output schema means return values are documented elsewhere, but the description could better address the mutation's implications.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides crucial semantic information not present in the schema. The schema only shows 'track_number' as integer and 'pan' as number, but the description clarifies that track numbers are 1-based and defines the pan scale (-1.0 = full left, 0.0 = center, 1.0 = full right). This is essential for correct usage given 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Set') and resource ('track pan position'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'set_track_volume' or 'mute_track' beyond the specific parameter being modified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. The description doesn't mention prerequisites, timing considerations, or relationships to sibling tools like 'set_track_volume' or 'mute_track' that might affect track audio properties.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a mutation operation ('Set') but doesn't describe side effects, permissions needed, error conditions, or what happens if the track doesn't exist. The description lacks critical behavioral context for a tool that modifies system state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly concise and well-structured. It starts with a clear purpose statement, then provides parameter explanations in a clean, bullet-like format. Every sentence earns its place by adding essential information without any wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there's an output schema (which handles return values) and the description provides good parameter semantics, the description is adequate for a simple mutation tool. However, with no annotations and incomplete behavioral transparency, there are gaps in understanding the tool's full implications and error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides excellent parameter semantics that go well beyond the input schema. The schema has 0% description coverage (just titles and types), but the description explains that 'track_number' is 1-based as shown in REAPER and that 'volume' ranges from 0.0 (-inf dB) to 1.0 (0 dB), adding crucial context that the schema lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Set') and resource ('track volume'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'mute_track' or 'solo_track', which also affect track audio properties, so it doesn't reach the highest clarity level.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'mute_track' or 'solo_track', nor does it mention any prerequisites or context for usage. It simply states what the tool does without offering usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool triggers actions but doesn't explain what 'trigger' entails (e.g., immediate execution, side effects, error handling), permissions required, or response behavior. This leaves significant gaps for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded with the core purpose, followed by categorized examples and parameter details. Every sentence adds value without redundancy, making it efficient and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema (which handles return values), the description covers the basic purpose and parameter context adequately. However, as a mutation tool with no annotations, it lacks details on behavioral traits like side effects or error conditions, making it minimally complete but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, so the description must compensate. It adds meaningful context by listing available action categories and examples, which clarifies the 'action_name' parameter beyond the bare schema. However, it doesn't specify exact string values or validation rules, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as 'Trigger a REAPER action by name,' which is a specific verb+resource combination. However, it doesn't explicitly differentiate from siblings like 'play' or 'record' that might overlap in functionality, though it implies broader coverage through the categorized action list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage by listing available action categories and examples, suggesting this tool is for triggering various REAPER actions. However, it lacks explicit guidance on when to use this tool versus alternatives like 'play' or 'record' (which are listed as siblings), and doesn't mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states the basic action. It doesn't disclose behavioral traits like whether arming affects other tracks, requires specific session states, has side effects, or what the output indicates. This is inadequate for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, followed by clear parameter explanations in a structured format. Every sentence earns its place with zero waste, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (mutation with 2 params) and no annotations, the description is minimally complete but lacks behavioral context. The presence of an output schema helps, but more detail on effects and usage would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds crucial meaning beyond the schema's 0% coverage: it explains that track_number is 1-based and armed controls arming/disarming. This compensates well for the lack of schema descriptions, though it could note default values or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Arm or disarm') and resource ('a track for recording'), distinguishing it from siblings like mute_track, solo_track, or record. It precisely defines the tool's function without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like record, mute_track, or solo_track. The description lacks context about prerequisites, timing, or exclusions, leaving usage decisions unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action ('Set') but doesn't mention whether this is a destructive change, requires specific permissions, has side effects, or what the output schema might indicate. This leaves significant gaps in understanding the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and well-structured, with a clear purpose statement followed by parameter details in a bullet-like format. Every sentence earns its place, and there is no wasted text, making it easy to parse and understand quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (one parameter) and the presence of an output schema, the description is largely complete for basic use. However, it lacks behavioral context and usage guidelines, which are important for a mutation tool with no annotations, preventing a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds substantial meaning beyond the input schema, which has 0% description coverage. It specifies the parameter 'tempo' as 'Tempo in beats per minute (20-999)', providing units, a valid range, and context that the schema lacks entirely, fully compensating for the schema's deficiency.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Set') and resource ('project tempo in BPM'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'set_track_volume' or 'set_track_pan', which also modify project settings, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives or any context for its application. It lacks information about prerequisites, such as whether a project must be open, or exclusions, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the write operation ('Add MIDI notes') but lacks critical behavioral details: it doesn't mention whether this operation is destructive (e.g., overwrites existing notes), what permissions are required, error handling, or the response format. The description provides some context about note structure but misses broader behavioral traits needed for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the core purpose in the first sentence. The parameter explanations are structured clearly with bullet points, though the formatting could be slightly more concise. Every sentence adds value, with no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 parameters, no annotations, but with an output schema), the description is reasonably complete. It covers parameter semantics thoroughly and states the purpose clearly. Since an output schema exists, the description doesn't need to explain return values, but it could benefit from more behavioral context (e.g., mutation effects, error cases) to be fully comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds substantial meaning beyond the input schema, which has 0% description coverage. It explains all three parameters in detail: 'track_number' as 1-based, 'item_index' as 0-based, and 'notes' as a list of dictionaries with specific fields (pitch, start, duration, velocity) including value ranges and defaults. This fully compensates for the schema's lack of documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Add MIDI notes') and target resource ('to an existing MIDI item'), making the purpose immediately understandable. It distinguishes from siblings like 'create_midi_item' by specifying it works on existing items rather than creating new ones. However, it doesn't explicitly differentiate from all possible note-related operations that might exist in other contexts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by specifying 'to an existing MIDI item,' suggesting this tool should be used when you have an existing item to modify rather than creating a new one. However, it doesn't provide explicit guidance on when to use this versus alternatives like 'create_midi_item' or other note manipulation tools, nor does it mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the code runs in REAPER's Lua environment with access to the reaper.* API, which is useful behavioral context. However, it doesn't mention potential risks (e.g., destructive operations, performance impacts), error handling, or output format, leaving gaps in transparency for a powerful execution tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded: the first sentence states the core purpose, followed by essential context about the environment and API access. The Args and Example sections are structured efficiently, with every sentence adding value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (executing arbitrary code), no annotations, and an output schema present, the description is reasonably complete. It covers the purpose, environment, and parameter semantics with an example. However, it lacks details on safety considerations or output interpretation, which could be beneficial despite the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaningful semantics by explaining that the 'code' parameter is 'Lua code to execute' and provides an example showing usage with the reaper.* API. This goes beyond the schema's basic type information, though it could elaborate more on code constraints or expected patterns.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verb ('Execute') and resource ('arbitrary Lua code in REAPER'), distinguishing it from sibling tools that perform specific REAPER operations like 'set_tempo' or 'create_track'. It explicitly mentions this gives 'full control over REAPER via ReaScript', establishing its unique capability among the available tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context about when to use this tool: for executing Lua code with access to REAPER's API. It doesn't explicitly state when not to use it or name alternatives, but the context is sufficiently clear given that sibling tools are specific operations, making this the tool for custom scripting.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/yura9011/scythe_mcp_reaper'
If you have feedback or need assistance with the MCP directory API, please join our Discord server