Media
88-key Piano Studio
A full piano, a little room to play. Learn a phrase, connect a MIDI keyboard, or record your own.
interactive· Interactive resultOpen tool
Quick start
Call this tool from your code in three languages.
cURL
curl -X POST 'https://api.elysiatools.com/en/api/tools/browser-88-key-piano-studio' \
-H 'Content-Type: application/json' \
-d '{"tone":"piano","lesson":"free","language":"en"}'API reference
Send a POST request with your inputs as JSON. File parameters require a separate upload first.
Endpoint
HTTP
POST https://api.elysiatools.com/en/api/tools/browser-88-key-piano-studioParameters
| Name | Type | Required | Description |
|---|---|---|---|
| tone | select | No | — |
| lesson | select | No | — |
| language | select | No | — |
Response format
Interactive result
JSON
{
"result": "Initial display content",
"interactive": true,
"components": [
{
"type": "timer",
"id": "timer1",
"config": {
"label": "Countdown",
"duration": 60
}
}
],
"state": {
"key": "value"
},
"actions": [
{
"type": "start",
"id": "start-btn",
"label": "Start"
}
],
"styles": "/* Custom CSS */",
"scripts": "/* Client-side scripts */",
"error": "Error message (optional)",
"message": "Notification message (optional)",
"metadata": {
"key": "value"
}
}MCP integration
Add this tool to your Model Context Protocol server so AI agents can list and call it.
Server configuration
Add this block to your MCP client configuration:
mcp.json
{
"mcpServers": {
"elysiatools-browser-88-key-piano-studio": {
"name": "browser-88-key-piano-studio",
"description": "A full piano, a little room to play. Learn a phrase, connect a MIDI keyboard, or record your own.",
"baseUrl": "https://api.elysiatools.com/mcp/sse?toolId=browser-88-key-piano-studio",
"command": "",
"args": [],
"env": {},
"isActive": true,
"type": "sse"
}
}
}List available tools
After connecting to the SSE endpoint, list the exposed tools:
tools/list
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}Call this tool
Invoke the tool by its id, passing arguments built from its parameters:
tools/call
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "browser-88-key-piano-studio",
"arguments": {
"tone": "piano",
"lesson": "free",
"language": "en"
}
}
}Chain multiple tools in one session with a comma-separated toolId list, e.g. /mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp (max 20).
Questions or issues? Contact [email protected]