https://github.com/tubone24/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. 
    https://github.com/tubone24/midi-mcp-server
  
        Last synced: 3 months ago 
        JSON representation
    
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.
- Host: GitHub
 - URL: https://github.com/tubone24/midi-mcp-server
 - Owner: tubone24
 - License: mit
 - Created: 2025-04-06T17:41:09.000Z (7 months ago)
 - Default Branch: main
 - Last Pushed: 2025-05-07T01:15:48.000Z (6 months ago)
 - Last Synced: 2025-06-26T04:03:12.197Z (4 months ago)
 - Language: JavaScript
 - Size: 908 KB
 - Stars: 19
 - Watchers: 1
 - Forks: 4
 - Open Issues: 2
 - 
            Metadata Files:
            
- Readme: README.md
 - License: LICENSE
 
 
Awesome Lists containing this project
- awesome-mcp-servers - **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. `javascript` `mcp` `server` `ai` `npm install tubone24/midi-mcp-server` (🌐 Web Development)
 
README
          [](https://mseep.ai/app/tubone24-midi-mcp-server)
[](https://mseep.ai/app/74175d16-e83a-4509-b7ab-31ff1c59cef8)
# 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
```bash
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:
```json
"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 composition
- `composition`: String - A JSON string representing the music data
- `output_path`: String - Path where the MIDI file will be saved
### Composition Format
The composition should follow this structure:
```json
{
  "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 minute
- `timeSignature`: Time signature (e.g., `{numerator: 4, denominator: 4}` for 4/4 time)
- `tracks`: Array of instrument tracks
    - `name`: Track name
    - `instrument`: MIDI program number (0-127)
    - `notes`: Array of note objects
        - `pitch`: MIDI note number (0-127)
        - `startTime`: Start time in beats
        - `duration`: Note duration in beats
        - `velocity`: Note velocity/volume (0-127)
## Example
```javascript
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:
```text
8小節の合唱曲を作って。
若干マイナー調で、メロディックな音階を作ってほしい
```
https://github.com/user-attachments/assets/e20ebef0-fdbf-4e72-910d-41b94183f9d9
[melodic_minor_chorus.mid](docs/melodic_minor_chorus.mid)
## 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.