Assistant tool
storychoose_favorite_story
Marks or unmarks one of your StoryChoose stories as a favorite through the OneLifeVibe connector, changing only your own data.
Updated November 6, 2026
- Website
- StoryChoose · storychoose.com
- Class
- Write
- Returns
id, favorite
Mark or unmark one of your StoryChoose stories as a favorite. Favoriting needs a StoryChoose plan (Plus $9/month or $59/year, Family $15/month or $99/year), a grace period or unused stories from a 10-story pack ($4.99) (storychoose.com/pricing).
Where you can call it
- Account connector https://onelifevibe.com/mcp: needs the person's OneLifeVibe sign-in (OAuth 2.1 with PKCE), scope olv.write, and the person must have signed in to storychoose.com with OneLifeVibe once, otherwise the tool answers not_linked. Its sign-in is set up for Meta Muse today (client onelifevibe-muse); other MCP clients reach the no-account tools through the free connector.
- Platform API registry: listed in GET /api/platform/v1/tools, but a platform key gets 501 world_tools_unavailable for it today, because it acts on one member's own data; a platform key can call the world catalogue, the tool registry, the network directory tool and the event log.
Inputs
| Argument | Type | Notes |
|---|---|---|
story_id | string ≤80 | The story id. |
favorite | boolean |
Example request
POST https://onelifevibe.com/mcp
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "storychoose_favorite_story",
"arguments": {
"story_id": "<story_id from storychoose_list…>",
"favorite": true
}
}
}
Other StoryChoose tools
- storychoose_list_stories my stories
- storychoose_get_story read a story
- storychoose_list_characters my characters
What it does
storychoose_favorite_story marks or unmarks a single StoryChoose story as a favorite. StoryChoose is the site for original bedtime stories starring your children, read aloud in natural voices, and this tool works on the library the signed-in person owns there. It is a Write tool, so it changes only that person's own data and nothing else.
The tool takes a story id and a true or false value. Send favorite true to mark the story, favorite false to unmark it. The call is idempotent and not destructive: repeating it leaves the story in the same state, and no story content is edited or deleted.
When an assistant should call it
Call it when someone asks to favorite a story, save one to their favorites, or take a story back off that list. Typical phrasing is "favorite the dinosaur one" or "unfavorite that last story", including confirmation turns where the assistant has just read a title back to them.
You need an exact story id first. If you don't have one, call storychoose_list_stories to see the person's stories, or storychoose_get_story when a title has already come up. If several titles match, ask which one before calling, because the tool resolves ids only and cannot match on a title.
Keep browsing separate. Reading and opening stories belongs to storychoose_list_stories, storychoose_get_story and storychoose_list_characters; this tool is only for changing the favorite mark.
Inputs and an example call
Two arguments, both required. story_id is a string of up to 80 characters identifying the story. favorite is a boolean: true marks the story as a favorite, false removes the mark.
Send it as JSON-RPC 2.0 to the account connector at https://onelifevibe.com/mcp, using method tools/call with the tool name and arguments: {"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"storychoose_favorite_story","arguments":{"story_id":"<story_id from storychoose_list…>","favorite":true}}}
Replace the placeholder with the real id returned by storychoose_list_stories. Keep the id as a string and do not build one from a title or a URL.
What comes back
A successful call returns the story id and the favorite value you just set: id and favorite. Compare the returned favorite against what the person asked for, then confirm in plain words, for example "Marked it as a favorite" or "Removed it from your favorites". There is no need to show the raw fields unless the caller asked for them.
Errors, limits and safety
The account connector needs the person's OneLifeVibe sign-in (OAuth 2.1 with PKCE) and the olv.write scope. The person must also have signed in to storychoose.com with OneLifeVibe once. If they haven't, the tool answers not_linked: send them to storychoose.com to sign in, then retry. The connector's sign-in is set up for Meta Muse today, client onelifevibe-muse; other MCP clients reach the no-account tools through the free connector.
Favoriting needs a StoryChoose plan: Plus at $9/month or $59/year, or Family at $15/month or $99/year. A grace period also allows it, as do unused stories from a 10-story pack at $4.99. Pricing is at storychoose.com/pricing.
A platform API key cannot run this tool. It appears in GET /api/platform/v1/tools, but a platform key gets 501 world_tools_unavailable because the tool acts on one member's own data. That key can call the world catalogue, the tool registry, the network directory tool and the event log instead.
Retries after a timeout are safe. The call is idempotent, so sending the same story_id and favorite again will not create duplicates or change anything beyond the intended mark.
Questions
Why does storychoose_favorite_story return not_linked?
The person has not signed in to storychoose.com with OneLifeVibe yet. Ask them to sign in there once with their OneLifeVibe account, then send the call again.
Can a platform API key call storychoose_favorite_story?
No. The tool is listed in GET /api/platform/v1/tools, but a platform key gets 501 world_tools_unavailable because the tool acts on one member's own data. Platform keys can call the world catalogue, the tool registry, the network directory tool and the event log.
Do you need a StoryChoose plan to favorite a story?
Favoriting needs a StoryChoose plan, a grace period or unused stories from a 10-story pack at $4.99. The plans are Plus at $9/month or $59/year and Family at $15/month or $99/year, listed at storychoose.com/pricing.
Build with it. Connect an assistant to https://onelifevibe.com/mcp, or get a free Sandbox key for the Platform API.
Written from the OneLifeVibe tool registry and platform configuration, and checked automatically before publishing. Something wrong? Tell us.