MCP-þjónninn okkar gefur gervigreindaraðstoðarmönnum beinan aðgang að lagaframleiðslunni. Umboðið safnar atriðunum í samtali, pantar lagið og afhendir niðurstöðuna, og þú skrifar ekki línu af kóða.
Uppfært: 2026-09-16
Lyklar eru gefnir út handvirkt. Stutt skeyti um verkefnið, áætlað magn og tungumál dugar, og opnunin tekur venjulega einn virkan dag.
Model Context Protocol er opinn staðall sem gervigreindaraðstoðarmenn nota til að tala við utanaðkomandi kerfi. Þjónninn okkar birtir alla lagaframleiðsluna sem MCP-verkfæri: umboðið getur búið til lag, athugað stöðu, sótt texta og hljóð og ræst endurgerð.
Kosturinn umfram REST-viðmótið er samtalið. Umboðið veit hvaða atriði vantar til að lagið verði persónulegt og spyr um þau sjálft. Notandinn segir frá föður sínum, umboðið gerir úr því lýsingu og pantar lagið.
Þjónninn er á https://mcp.lagid.is og talar HTTP með Server-Sent Events, flutningi sem hver nútímaviðskiptavinur styður. Hann notar sömu lykla og REST-viðmótið, svo sá sem hefur þegar samþætt þarf engin ný auðkenni.
Líka gegnum MCP rukkum við fyrir fullbúið lag, núna 3.490 kr. Textinn og 45 sekúndna sýnishornið eru áfram ókeypis.
Lyklar eru gefnir út handvirkt, rétt eins og hjá REST-viðmótinu. Skrifaðu á songs@maxkuch.com og segðu hvað þú ætlar að smíða, hvaða magn þú væntir og á hvaða tungumálum. Opnunin tekur venjulega einn virkan dag.
Þú færð prófunarlykil með forskeytinu sk_test_ og framleiðslulykil með forskeytinu sk_live_. Með prófunarlykli virka öll verkfæri eins, en engin raunveruleg framleiðsla fer af stað og ekkert kostar.
Sá sem á þegar API-lykil þarf ekkert meira: sami lykill opnar MCP-þjóninn.
Slóð þjónsins er https://mcp.lagid.is/sse. Auðkenning fer fram með bearer-tákni í Authorization-hausnum, nákvæmlega eins og í REST-viðmótinu.
Þjónninn styður samskiptareglu 2026-03-26 og tilkynnir getu sína í handabandinu: verkfæri, tilföng og leiðbeiningar. Viðskiptavinir sem kunna aðeins eldri útgáfur haldast samhæfðir, einfaldlega án leiðbeininga.
curl https://mcp.lagid.is/health
Nánast hver MCP-viðskiptavinur er settur upp með lítilli JSON-skrá. Hér að neðan eru þrjár algengustu útgáfurnar, með lykilinn á réttum stað í hverri.
claude mcp add --transport http songs \
https://mcp.lagid.is/mcp \
--header "Authorization: Bearer $SONG_API_KEY"
{
"mcpServers": {
"songs": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.lagid.is/mcp",
"--header", "Authorization: Bearer ${SONG_API_KEY}"],
"env": { "SONG_API_KEY": "sk_live_..." }
}
}
}
{
"mcpServers": {
"songs": {
"url": "https://mcp.lagid.is/mcp",
"headers": { "Authorization": "Bearer sk_live_..." }
}
}
}
Eftir endurræsingu viðskiptavinarins birtast verkfærin í listanum. Birtist þau ekki er ástæðan nær alltaf lykill sem vantar eða JSON með innsláttarvillu.
Þjónninn býður sjö verkfæri. Þau eru vísvitandi fá og skýrt nefnd svo umboðið velji rétt.
| Verkfæri | Skrifar | Til hvers |
|---|---|---|
| create_song | Pantar nýtt lag. Tilefni, nafn og atriði eru skylda. | |
| get_song | Skilar núverandi stöðu, texta og tiltækum slóðum. | |
| list_songs | Telur upp nýjustu lög reikningsins, með síu eftir stöðu. | |
| get_lyrics | Skilar öllum textanum sem venjulegum texta. | |
| regenerate_song | Ræsir ókeypis endurgerð, með valfrjálsri ábendingu. | |
| get_checkout_link | Býr til greiðsluslóð fyrir lag og skilar henni sem URL svo umboðið geti rétt hana áfram í samtalinu. | |
| list_options | Skilar leyfilegum gildum fyrir tilefni, stemningu, stíl, rödd og tungumál. |
Aðeins create_song og regenerate_song breyta einhverju. Viðskiptavinir sem spyrja fyrir skrifaðgerðir spyrja því einmitt við þessi tvö.
Þetta er meginverkfærið. Skemað er vísvitandi orðmargt svo umboðið viti hvaða upplýsingar það verður fyrst að ná í.
{
"name": "create_song",
"description": "Write and produce a personalised song. Returns immediately with a song id; the recording is ready a few minutes later.",
"inputSchema": {
"type": "object",
"required": ["occasion", "recipient_name", "details"],
"properties": {
"occasion": { "type": "string", "enum": ["birthday", "wedding", "anniversary", "farewell", "funeral", "christening", "graduation", "christmas", "declaration", "other"] },
"recipient_name": { "type": "string", "maxLength": 80 },
"relationship": { "type": "string", "maxLength": 80 },
"language": { "type": "string", "default": "is" },
"mood": { "type": "string", "enum": ["happy", "warm", "funny", "romantic", "gentle", "epic", "surprise_me"] },
"style": { "type": "string" },
"voice": { "type": "string", "enum": ["female", "male", "duet", "choir", "childrens", "surprise_me"] },
"details": { "type": "string", "minLength": 40, "maxLength": 4000 },
"wait": { "type": "boolean", "default": false, "description": "Block until the preview is ready, at most 10 minutes." }
}
}
}
Reiturinn details ræður úrslitum. Lýsingin í skemanu segir umboðinu berum orðum að það þurfi áþreifanleg atriði, ekki lýsingarorð. Gott umboð spyr ekki "hvernig er faðir þinn" heldur "hvað segir hann alltaf þegar eitthvað fer í taugarnar á honum".
{
"content": [
{ "type": "text", "text": "Song sng_3n8Kd2ZpQv for Anna is written. Lyrics below, the 45 second preview is ready." },
{ "type": "resource", "resource": { "uri": "song://sng_3n8Kd2ZpQv/lyrics", "mimeType": "text/plain" } },
{ "type": "resource", "resource": { "uri": "song://sng_3n8Kd2ZpQv/preview", "mimeType": "audio/mpeg" } }
],
"structuredContent": {
"id": "sng_3n8Kd2ZpQv",
"status": "preview_ready",
"preview_url": "https://cdn.lagid.is/preview/sng_3n8Kd2ZpQv.mp3",
"paid": false
},
"isError": false
}
Svarið inniheldur texta fyrir umboðið og formuð gögn fyrir kóðann. Kallið skilar sér strax, framleiðslan heldur áfram í bakgrunni.
Hvert verkfæri skilar tvennu: læsilegum textabálki sem umboðið getur miðlað beint, og structuredContent með sömu gögnum á vélrænu formi. Umboðið getur því svarað notandanum án þess að týna auðkennum.
Auðkenni laga eru þau sömu og í REST-viðmótinu. Lag sem búið er til gegnum MCP má síðar sækja gegnum REST og öfugt, sem kemur sér vel þegar umboðið safnar lýsingunni en bakendinn þinn sér um afhendinguna.
Auk verkfæra býður þjónninn tilföng, það er efni sem aðeins er lesið og viðskiptavinurinn getur hlaðið inn í samhengið án verkfærakalls.
song://sng_3n8Kd2ZpQv the song object as JSON
song://sng_3n8Kd2ZpQv/lyrics the full lyrics as plain text
song://sng_3n8Kd2ZpQv/preview the first 45 seconds as audio/mpeg
song://sng_3n8Kd2ZpQv/audio the full recording, only after payment
song://options inniheldur öll leyfileg gildi, song://guide/details stutta leiðsögn um hvað gerir lag persónulegt, song://songs/{id} eitt lag með texta og stöðu. Leiðsögnin er fyrst og fremst fyrir umboð: hún eykur greinilega líkurnar á að þau spyrji um réttu hlutina.
Þjónninn kemur með tilbúnar leiðbeiningar sem viðskiptavinurinn getur boðið sem skipanir. Þær spara notandanum að reikna út hvað hann eigi að segja frá.
{
"name": "birthday_song",
"description": "Collects the five things a birthday song needs and then creates it.",
"arguments": [
{ "name": "recipient_name", "required": true },
{ "name": "age", "required": false },
{ "name": "details", "required": false }
]
}
gather_song_details leiðir umboðið gegnum stutt samtal sem endar í nothæfri lýsingu. write_song_brief breytir fyrirliggjandi texta, til dæmis skeyti frá viðskiptavini, í skipulagða lýsingu. suggest_occasion hjálpar þegar tilefnið passar ekki í venjulega flokka.
Svona lítur þetta út í reynd, með notanda sem veit ekki alveg hvað hann vill.
User: My sister Anna turns 34 on Friday. She climbs, she is always late,
and she calls everyone chef. Make her a song.
Claude: [calls create_song with occasion=birthday, recipient_name=Anna,
relationship=sister, mood=funny, details="climbs every weekend,
always ten minutes late, calls everyone chef"]
Done. Here are the lyrics, and the first 45 seconds are playable
right away. Should the chorus lean more on the climbing or more
on the chef thing?
User: More chef.
Claude: [calls regenerate_song with keep_lyrics=false,
note="put the chef running gag in the chorus"]
New version is running, about five minutes.
Kjarninn er í miðjunni. Umboðið lætur sér ekki nægja fyrstu almennu lýsinguna heldur spyr tvisvar nánar, og einmitt þessar tvær spurningar breyta lagi um hvern sem er í lag um þessa manneskju.
Umboð getur ekki hafið greiðslu. Það getur aðeins búið til greiðsluslóð og rétt hana áfram, greitt er í vafranum. Þetta er byggt svona af ásetningi: líkan á ekki að taka kaupákvörðun sem manneskja hefur ekki séð.
get_checkout_link skilar slóð sem gildir í 24 klukkustundir. Eftir greiðslu fer lagið í stöðuna complete og við næsta get_song liggur öll upptakan tilbúin. Umboðið þarf ekki að gerast áskrifandi að neinu, síðara kall dugar.
Sá sem sér um greiðsluna í eigin kerfi og gerir aðeins upp við okkur getur fengið beinu leiðina í REST-viðmótinu opnaða sé eftir því leitað. Þá fellur greiðsluslóðin niður og lagið er gefið laust strax.
Hver lykill ber heimildir. Sjálfgefið er lestur og skrif án aðgangs að reikningagerð, sem hentar flestum umboðum.
| Heimild | Gildi | Leyfir |
|---|---|---|
| songs:read | Sækja lög, telja þau upp, lesa texta. Án þessarar heimildar tilkynnir þjónninn tóman verkfæralista. | |
| songs:write | Búa til lög og endurgera þau. Veldur framleiðslukostnaði. | |
| billing | Búa til greiðsluslóðir og lesa greiðslustöðu. Þarf aðeins ef umboðið á að rétta slóðir áfram. |
Verkfæri sem heimild vantar fyrir birtast alls ekki í verkfæralistanum. Það er þægilegra en villuboð í miðju samtali, því þá býður líkanið ekkert sem það gæti hvort eð er ekki.
Villur koma sem verkfæraniðurstaða með isError: true og skiljanlegum texta, ekki sem villa í samskiptareglunni. Þannig getur umboðið brugðist við og útskýrt fyrir notandanum hvað vantar í stað þess að stöðvast.
{
"content": [
{ "type": "text", "text": "The song is not paid for yet, so the full recording cannot be handed over. The checkout link is https://pay.lagid.is/c/cs_live_8Hd2Kq..." }
],
"isError": true
}
Villukóðarnir svara til þeirra í REST-viðmótinu: validation_error, rate_limit, not_found, permission_error, api_error. Textinn er orðaður þannig að umboðið geti miðlað honum orðrétt.
Sömu mörk gilda og í REST-viðmótinu: 60 verkfærakall á mínútu á hvern lykil og tíu samhliða framleiðslur. Það sem umfram er fer í biðröð í stað þess að bregðast.
MCP-lota stendur opin svo lengi sem viðskiptavinurinn heldur henni opinni. Eftir 30 mínútna aðgerðaleysi lokum við tengingunni; hver nútímaviðskiptavinur tengist sjálfur aftur.
Vaxi magnið skrifaðu okkur og við hækkum mörkin.
Það sem umboðið sendir okkur notum við til að framleiða þetta eina lag og ekkert annað. Engin þjálfun eigin líkana á efni notenda þinna.
Aðföng og fullbúin lög standa í 90 daga, síðan er þeim eytt. Til að eyða fyrr er DELETE /v1/songs/{id} í REST-viðmótinu.
Minntu notendur á að þeir eru að segja frá einkamálum raunverulegs fólks. Umboðið á að spyrja um áþreifanleg atriði án þess að stýra samtalinu að viðkvæmum heilsufars- eða fjármálaupplýsingum.
MCP-þjónninn keyrir á sama búnaði og REST-viðmótið. Enginn sérstakur hluti er til uppsetningar eða uppfærslu: ný verkfæri bætast við smám saman, þau sem fyrir eru haldast stöðug.
Viðskiptavinurinn á að lesa verkfæralistann við ræsingu en ekki skrifa hann fast í kóðann. Það er venjuleg leið og færir þér nýjungar án kóðabreytinga.
Um fyrirhugað viðhald látum við virka reikninga vita með tölvupósti með minnst 48 klukkustunda fyrirvara. Hingað til hefur ekkert fyrirhugað rof orðið.
Spurningar um uppsetningu, heimildir, hærri mörk eða sérstök tilvik: songs@maxkuch.com. Við tæknileg vandamál nefndu heiti verkfærisins og um það bil hvenær kallið var.
Sá sem vill frekar samþætta beint en fara gegnum umboð finnur REST-viðmótið á /api/. Báðar leiðir nota sömu lykla og sömu auðkenni.
Lyklar eru gefnir út handvirkt. Stutt skeyti um verkefnið, áætlað magn og tungumál dugar, og opnunin tekur venjulega einn virkan dag.