Skip to main content
Glama

get_midi_info

Extract and retrieve detailed information from MIDI files by providing the absolute file path. Use this tool to analyze MIDI file structure, tracks, and metadata for efficient file management and processing.

Instructions

Get midi file info

Input Schema

NameRequiredDescriptionDefault
filePathYesAbsoulate File Path to midi file

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "filePath": { "description": "Absoulate File Path to midi file", "type": "string" } }, "required": [ "filePath" ], "type": "object" }

Implementation Reference

  • src/main.ts:41-65 (registration)
    Registration of the 'get_midi_info' tool using server.tool, including description, input schema, and inline handler wrapped with error handling.
    server.tool( '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), }, ] } }) )
  • The core handler function for get_midi_info: loads MIDI file, extracts header, track count, durations, 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: requires absolute filePath as string.
    { filePath: z.string().describe('Absoulate File Path to midi file'), },
  • Helper function loadMidiFile used in the handler to parse the MIDI file from disk using @tonejs/midi.
    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