Skip to main content
Glama

Record what the owner wants made and spent

set_preferences

Records the owner's answers to get_setup's preferences questions, any of them at a time: posts (which formats, motion graphics only or AI video too, and how far the pictures go), show (a series: none, or a series of pictures, carousels or short videos, and for short videos motion graphics or AI video), series (what each episode of that series may spend: off, ask each time, go ahead up to a budget in tokens, or any: no limit), funnels (how far pages go: off for no site and no pages, or lean, full, rich, all_out, each a ceiling per page), films (off, ask each time, go ahead up to a budget in tokens, or any: no limit), ads (off: no paid ads; on: Marsell may suggest ad tests, each asking for its budget on a card before anything is spent) and homework (true or false: whether the owner's own AI gets scheduled jobs that need their own logins, like YouTube posts and polls), and, unless homework is off, homework_schedule: the timer you set yourself to check the homework, only after the owner said yes to it, or off with why; and who Marsell talks to for them (get_setup's preferences.reach): answer_first (true or false: Marsell answers people who reach out for them, from what they confirmed), find_and_email (true or false: Marsell finds the people who run businesses that fit and emails them from mailboxes it buys once a plan is picked) and ai_hands (which of the owner's own accounts their AI sends Marsell's messages from: reddit, x and linkedin, each true or false). Explain each to the owner and ask first; never answer for them. An answer that lets Marsell spend on its own (a budget, any, a pages step, or find_and_email true) needs the approve and generate rights on this account, and answer_first or an ai_hands account true needs the outreach right; without them it is refused, and off, ask or false still work. The owner can change these later in Settings, under What Marsell does on its own (ads there too), how far the pictures go on Brand, beside the look, who Marsell talks to under Settings › What Marsell does on its own, and homework on Agents, under Your own AI. Spends nothing.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "set_preferences"
  }
}

Input Schema

NameRequiredDescriptionDefault
adsNoPaid ads, the owner's own pick: off (no paid ads: Marsell never plans or suggests one) or on (Marsell may suggest ad tests; each comes as a card asking for its budget, and nothing is spent until the owner approves it). It is the project's ads switch, the one on Brand.
showNoWhether the business wants a series of its own, and of what.
filmsNooff: none until asked. ask: a card with its cost before each film. budget: films go ahead up to tokens each. any: no limit, each goes ahead whatever it costs while tokens are left.
postsNoWhat the posts are made as.
seriesNoWith a series: what each episode may spend. ask: a card with its cost before each episode. budget: episodes go ahead up to tokens each. any: no limit, each goes ahead whatever it costs while tokens are left.
funnelsNooff: no site and no pages until asked. ask: a card with its cost before each page, nothing spent before the owner's yes. A step: pages go ahead up to its ceiling (get_setup says each step's tokens).
ai_handsNo"Your AI sends on Reddit, X and LinkedIn": the accounts the owner picked, each true or false. Only while an AI with Can act is connected and homework is on.
homeworkNotrue when the owner wants Marsell to give their AI scheduled homework, false when not; no answer counts as yes
answer_firstNo"Answer people who reach out": true when the owner said yes, false for not now.
find_and_emailNo"Find and email people who could buy": true when the owner said yes (mailboxes are bought once a plan is picked, at the price get_setup quotes), false for not now.
homework_scheduleNoWith homework not off: the pulling schedule the owner confirmed, after you asked them (get_setup's preferences.homework.if_yes). on true once you set your own timer, with timer_prompt as its prompt: how often it wakes you, what you set, whether it wakes you while the owner's app is closed, and when it stops by itself if it does. on false with why: the owner said no, or your app can't schedule.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / posts / properties / pictures / description
      Previous value: -"How far the pictures go, the owner's own pick: brand (On brand, the default: each picture fits the business and the post it is for, in its own look), playful (A playful twist: one surprising touch in each) or wild (Wild ideas: a random era, genre or premise for every picture). The same price each. Left out, it stays on brand."New value: +"How far the pictures go, the owner's own pick: brand (On brand, the default: each picture fits the business and the post it is for, in its own look), playful (A playful twist: one surprising touch in each picture nobody asked for in words) or wild (Wild ideas: a random era, genre or premise for each picture nobody asked for in words); a picture asked for in words follows them whichever is picked. The same price each. Changed later on Brand, beside the look. Left out, it stays on brand."
  2. First observed

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say readOnlyHint=false, destructiveHint=false, openWorldHint=false. The description adds real behavior: answers requiring spend ('a budget, any, a pages step, or find_and_email true') need approve/generate rights, outreach answers need the outreach right, those are refused without them, while 'off, ask or false still work' and 'Spends nothing.' It also discloses that homework_schedule must not be set unless homework is on and the owner already agreed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and the ask-first rule are front-loaded, but the core is one enormous multi-clause sentence with deeply nested parentheses that is hard to parse on a single pass. Much of the enumeration of options (formats, motion vs ai, budget/any) duplicates the schema verbatim and does not earn its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter tool with nested objects, no output schema and only generic annotations, the description covers what an agent actually needs: ordering (ask before answering), the permission gate and refusal behavior, the homework_schedule dependency, that nothing is spent, and where answers can be revised later.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and each property already documents its own enum values and conditional tokens fields, so the description's clause-by-clause recap largely restates structured data. It does add some cross-field logic the schema only implies, such as homework_schedule being conditional on homework not being off, and unhomed answers defaulting to homework yes. With full schema coverage, 3 is the correct baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb and resource: 'Records the owner's answers to get_setup's preferences questions, any of them at a time.' That immediately separates it from get_setup (reads the questions) and fill_setup/finish_setup, and the partial-answer allowance is stated upfront.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the trigger (after get_setup's preferences questions), the interaction rule ('Explain each to the owner and ask first; never answer for them'), and the conditional permission gate ('needs the approve and generate rights... without them it is refused'). It also points to Settings as the place to change answers later, so an agent knows this is not the tool for post-hoc edits. No explicit when-not-to-use beyond that.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.