{"name":"io.github.JOYLINK-LTD/lacuna-mcp","slug":"joylink-ltd-lacuna-mcp","title":"Lacuna Music","description":"Generate AI music via the Lacuna Music API from MCP clients like Claude Desktop & Code.","url":"https://mcp.market/server/joylink-ltd-lacuna-mcp","rating":null,"grade":"B","score":82,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":25,"stars":4,"forks":2,"downloads_week":null,"last_push_at":"2026-08-10T06:48:57.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T05:25:27.382Z","last_ok_at":"2026-11-04T05:25:27.382Z","latency_ms":178},"claimed":false,"transport":"mixed","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/JOYLINK-LTD/lacuna-toolkit","website":"https://www.lacuna.fm","version":"0.3.4","remotes":[{"type":"streamable-http","url":"https://www.lacuna.fm/mcp"}],"packages":[{"registryType":"npm","identifier":"lacuna-mcp","version":"0.3.4","transport":{"type":"stdio"},"environmentVariables":[{"description":"Lacuna API key from https://www.lacuna.fm/profile/api","isRequired":true,"format":"string","isSecret":true,"name":"LACUNA_API_KEY"},{"description":"Override the API base URL (optional).","format":"string","name":"LACUNA_BASE_URL"}]}],"tools":[{"name":"generate_music","description":"Create an AI music generation task on Lacuna. Returns immediately with a `pending` task; poll `get_generation` to retrieve the finished tracks and their audio URLs.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"style":{"type":"string","maxLength":1000,"description":"Style description, e.g. \"pop, female vocal, 120 bpm, energetic\"."},"title":{"type":"string","maxLength":200,"description":"Track title."},"lyrics":{"type":"string","maxLength":5000,"description":"Lyrics in plain text. Required unless `instrumental` is true."},"instrumental":{"type":"boolean","description":"Generate an instrumental track (no lyrics). Defaults to false."},"model":{"type":"string","enum":["aether","echo"],"description":"Generation model. Defaults to `aether`. Call `list_models` for what each one covers."},"vocal_gender":{"type":"string","enum":["m","f"],"description":"Lead vocal gender hint (aether only)."},"negative_tags":{"type":"string","maxLength":500,"description":"Negative style tags to avoid (aether only)."},"style_weight":{"type":"number","minimum":0,"maximum":1,"description":"Style weight 0–1 (aether only)."},"weirdness_constraint":{"type":"number","minimum":0,"maximum":1,"description":"Weirdness constraint 0–1 (aether only)."},"audio_weight":{"type":"number","minimum":0,"maximum":1,"description":"Audio reference weight 0–1 (aether only)."}},"required":["style","title"],"additionalProperties":false}},{"name":"get_generation","description":"Retrieve the current state of a music generation task by id. Status is `pending`, `ready`, or `failed`; audio URLs appear on `ready`.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","description":"Generation task id, returned by generate_music."}},"required":["id"],"additionalProperties":false}},{"name":"list_models","description":"List the music models available through the API, with their credit cost per task, tracks produced per task, and language coverage.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}}],"scan":{"score":82,"grade":"B","scanned_at":"2026-09-23T21:40:05.207Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-23T21:40:05.152Z","components":{"code":{"score":25,"max":25,"notes":["2 source files scanned"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 943ms"]},"poisoning":{"score":15,"max":15,"notes":["3 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 1 write-action tools with no auth"]},"maintenance":{"score":12,"max":15,"notes":["last push 45 days ago"]},"identity":{"score":7,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://www.lacuna.fm/mcp","reachable":true,"authRequired":false,"latencyMs":943,"serverInfo":{"name":"lacuna","version":"1.0.0"}}],"packages":[{"registryType":"npm","identifier":"lacuna-mcp","version":"0.3.4","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":3,"publishedAt":"2026-08-10T05:09:30.242Z","repositoryUrl":"git+https://github.com/JOYLINK-LTD/lacuna-toolkit.git"}],"repo":{"found":true,"owner":"JOYLINK-LTD","repo":"lacuna-toolkit","archived":false,"pushedAt":"2026-08-10T06:48:57Z","stars":4,"forks":2,"openIssues":2,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/282476290?v=4","ownerCreatedAt":"2026-05-07T06:10:44Z","license":"MIT"},"icon":{"url":"https://www.lacuna.fm/favicon-256x256.png","source":"registry","width":256,"height":256},"presence":{"stars":4,"forks":2,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-08-10T06:48:57.000Z","score":25}}}},"grade_history":[],"reviews":[]}