Skip to main content
Glama

get_midi_info

Extract metadata and technical details from MIDI files to analyze musical structure, track information, and file properties for music production and analysis.

Instructions

Get midi file info

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
filePathYesAbsoulate File Path to midi file

Implementation Reference

  • The core handler logic that loads the MIDI file using loadMidiFile, extracts header, track count, duration, and returns as JSON text content.
    withErrorHandling(({ filePath }) => { const midi = loadMidiFile(filePath) const midiInfo = { header: midi.header.toJSON(), tracksCount: midi.tracks.length, duration: midi.duration, durationTicks: midi.durationTicks, } return { content: [ { type: 'text', text: JSON.stringify(midiInfo), }, ] } })
  • Input schema for the tool, defining filePath as string with description.
    { filePath: z.string().describe('Absoulate File Path to midi file'), },
  • src/main.ts:42-65 (registration)
    Registration of the 'get_midi_info' tool using server.tool, including name, description, schema, and handler.
    'get_midi_info', 'Get midi file info', { filePath: z.string().describe('Absoulate File Path to midi file'), }, withErrorHandling(({ filePath }) => { const midi = loadMidiFile(filePath) const midiInfo = { header: midi.header.toJSON(), tracksCount: midi.tracks.length, duration: midi.duration, durationTicks: midi.durationTicks, } return { content: [ { type: 'text', text: JSON.stringify(midiInfo), }, ] } }) )
  • Helper function to load a MIDI file from path using @tonejs/midi Midi class.
    export function loadMidiFile(filePath: string) { const midiData = fs.readFileSync(filePath) const midi = new Midi(midiData) return midi }

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/xiaolaa2/midi-file-mcp'

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