nc://song-gift

v0.1.0Pinned
ThomSharktools/nodecode-song-gift: Browse gift occasions and musical styles, and get lyric storytelling advice for a personalized song. - a rewrite of GptsApp/custom-song-gift-mcp (MIT), credited to GptsAppf0d9ae8· 10 Nov1 commit
test1 filecell.lisp6.8 KBtools.lisp9.0 KBwire.lisp8.3 KB

nodecode-song-gift

Custom Song Gift: browse the gift occasions and musical styles of a personalized song studio, and get lyric storytelling advice for turning real memories into a song. A Nodecode rewrite of GptsApp/custom-song-gift-mcp by GptsApp.

Get it

Tell the agent "add the song-gift cell", or run nodecode add nc://song-gift.

Set it up

Nothing. The cell talks to the studio's public catalog at https://customsonggift.org/api/mcp: no key, no account, nothing to install. /song-gift alone shows the endpoint and what the cell can ask it.

/settings (or the page's Settings tab) under song-gift has three members, all optional: endpoint for an MCP server of your own, timeout_seconds for one call's ceiling, and max_chars for how much of one answer is laid out.

Use it

Tool Use
list_occasions the gift occasions the catalog supports, each with the memories that make a song for it work
list_styles the musical styles and the mood each carries; name an occasion to ask what suits it
guide_story_and_lyrics how to prepare a song: who it is for, which details to gather, what the chorus says
get_pricing_options current prices and what a finished song comes with

From the keyboard: /song-gift occasions, /song-gift styles, /song-gift styles anniversary, /song-gift guide mothers_day, /song-gift pricing.

Everything here is read-only: the tools list the catalog and give advice. They sell nothing, take no payment, and do not make or deliver audio; the song itself is made on the studio's site. (help :song-gift) is the model's guide to the four tools and the way to work with them.

How it is spoken

The original was a portable manifest over one hosted MCP server, and the server serves its own argument schema at runtime, which the pinned commit does not carry. So each tool declares the members worth naming and sends only what a call filled in; any other argument the server grows goes through the tool's extra object unchanged.

MCP's streamable HTTP is spoken directly: one call is initialize, then notifications/initialized, then tools/call to https://customsonggift.org/api/mcp, with the Mcp-Session-Id the handshake issued echoed back. No MCP transport, no Node and no local server are needed.

Not ported

  • The plugin's interface block. The manifest's display name, brand colours, composer icon and sample prompts are ChatGPT app-store metadata; a cell has its own listing instead.
  • The server-side schema. The hosted server's argument lists are not in the pinned commit, so the declared members are this cell's guess at them and extra passes the rest through.
  • The catalogue itself. The occasions, styles, guidance and prices are the server's, fetched at call time, never copied into the folder -- so they stay current.

Test

From the cells repository root:

.github/test-cell.sh tools/nodecode-song-gift

Every request is a stubbed nlk:http, so nothing reaches the catalog and no network is needed.

MIT licensed, as the original is.

Add nc://song-gift

  1. 1

    Install Nodecode

    Once per machine.

    $ curl -fsSL https://nodecode.ai/install.sh | sh
  2. 2

    Add the cell

    Pinned at f0d9ae8.

    $ nodecode add nc://song-gift

    Or tell the agent add the song gift cell.