MIDI MCP Server
MIDI MCP Server is a Model Context Protocol (MCP) server that enables AI models to generate MIDI files from text-based music data. This tool allows for programmatic creation of musical compositions through a standardized interface.
tubone24
README
MIDI MCP Server
Overview
MIDI MCP Server is a Model Context Protocol (MCP) server that enables AI models to generate MIDI files from text-based music data. This tool allows for programmatic creation of musical compositions through a standardized interface.
Installation
npm install
npm run build
Usage with MCP Clients (e.g., Cline)
After building the project, simply add the server to your MCP client configuration:
"mcpServers": {
"musicComposer": {
"command": "node",
"args": ["/path/to/midi-mcp-server/build/index.js"]
}
}
Replace /path/to/
with the actual path to your project directory.
Features
- Generate MIDI files from structured JSON music data
- Support for multiple tracks and instruments
- Customizable tempo, time signature, and note properties
- Save MIDI files to specified locations
Tool: create_midi
The server provides a tool called create_midi
that generates MIDI files from structured music data.
Input Parameters
title
: String - The title of the compositioncomposition
: String - A JSON string representing the music dataoutput_path
: String - Path where the MIDI file will be saved
Composition Format
The composition should follow this structure:
{
"bpm": number,
"timeSignature": { "numerator": number, "denominator": number },
"tracks": [
{
"name": string,
"instrument": number,
"notes": [
{ "pitch": number, "startTime": number, "duration": number, "velocity": number }
]
}
]
}
Properties
bpm
: Tempo in beats per minutetimeSignature
: Time signature (e.g.,{numerator: 4, denominator: 4}
for 4/4 time)tracks
: Array of instrument tracksname
: Track nameinstrument
: MIDI program number (0-127)notes
: Array of note objectspitch
: MIDI note number (0-127)startTime
: Start time in beatsduration
: Note duration in beatsvelocity
: Note velocity/volume (0-127)
Example
const composition = {
"bpm": 120,
"timeSignature": { "numerator": 4, "denominator": 4 },
"tracks": [
{
"name": "Piano",
"instrument": 0,
"notes": [
{ "pitch": 60, "startTime": 0, "duration": 1, "velocity": 100 },
{ "pitch": 64, "startTime": 1, "duration": 1, "velocity": 100 },
{ "pitch": 67, "startTime": 2, "duration": 1, "velocity": 100 }
]
}
]
};
Dependencies
- @modelcontextprotocol/sdk: MCP server implementation
- midi-writer-js: Library for creating MIDI files
Demo
For example, the prompt below, which is a request to create a minor scale 8-bar choral piece, can be processed by the server:
8小節の合唱曲を作って。
若干マイナー調で、メロディックな音階を作ってほしい
https://github.com/user-attachments/assets/e20ebef0-fdbf-4e72-910d-41b94183f9d9
Note on Local Execution
This MCP server runs locally and communicates via standard input/output (stdio). No network configuration is required as the MCP client will automatically start the server process and establish communication.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
MCP Package Docs Server
Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.
Claude Code MCP
An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.
@kazuph/mcp-taskmanager
Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.
Linear MCP Server
Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.
mermaid-mcp-server
A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.
Jira-Context-MCP
MCP server to provide Jira Tickets information to AI coding agents like Cursor

Linear MCP Server
A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Sequential Thinking MCP Server
This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.