Skip to main content
Glama
CrossPad

crosspad-mcp-server

by CrossPad

crosspad_midi

Send MIDI note-on/off events to the PC simulator, controlling notes and velocity for testing music functionality.

Instructions

[PC sim] Send one MIDI event to the running PC simulator (consolidated; replaces 4 v5 tools). Pick a type, then supply ONLY the fields it needs — extras are ignored. Required fields per type: • note_on → note (velocity optional, default 127) • note_off → note (velocity optional, default 0) • cc → cc_num, value ⚠️ NOT YET SUPPORTED BY PC SIM (no midi_cc handler — call fails fast) • program_change → program ⚠️ NOT YET SUPPORTED BY PC SIM (no midi_program_change handler — call fails fast) channel (0-15) defaults to 0 for every type. Only note_on/note_off actually reach the sim today.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNoRequired for type=note_on|note_off. MIDI note 0-127 (60 = middle C).
typeYesMIDI event type. Required params — note_on: note (velocity?); note_off: note (velocity?); cc: cc_num,value; program_change: program. channel? defaults 0 for all.
valueNoRequired for type=cc. Controller value 0-127.
cc_numNoRequired for type=cc. MIDI controller number 0-127.
channelNoMIDI channel 0-15
programNoRequired for type=program_change. Program number 0-127.
velocityNoOptional for type=note_on (default 127) and note_off (default 0). Ignored for cc/program_change.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeNo
errorNo
channelNo
detailsNo
successYes
Behavior5/5

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

Annotations only declare readOnlyHint=false and destructiveHint=false, but the description goes beyond: it discloses that extras are ignored, that channel defaults to 0 for all types, and critically warns that cc and program_change will call fail fast due to missing handlers, and that only note_on/note_off reach the sim today. This is exemplary behavioral disclosure.

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 description is efficiently organized with a per-type bulleted breakdown and warning flags. The '⚠️ NOT YET SUPPORTED' markers are highly informative. Slightly dense but every line earns its place, and front-loading the consolidated context is effective.

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?

Given the complexity of a multi-type consolidated tool with a 7-param schema and output schema present, the description is remarkably complete: it covers type-specific requirements, defaults, unsupported types, and the fact that only note_on/note_off actually work today. The output schema handles return-value documentation. Nothing meaningful is missing.

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 all 7 parameters are fully documented in the schema. The description adds value by consolidating the per-type required-field mapping (note_on→note, cc→cc_num+value, etc.) which is genuinely useful. However, much of this is also reflected in the 'type' param description, so added value is moderate.

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?

Description clearly states 'Send one MIDI event to the running PC simulator', a specific verb+destination. It explicitly notes this is a consolidated tool replacing 4 v5 tools, distinguishing its purpose and scope. The per-type breakdown reinforces clarity.

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?

Provides explicit guidance on when to use each type, which fields are required per type, and which types are NOT supported by the PC sim (cc, program_change) and fail fast. This is strong 'when/when-not' guidance that prevents wasted calls.

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/CrossPad/crosspad-mcp'

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