AI Moodboard Generator - ManyMotions
Server Details
A moodboard from a creative brief: five distinct visual directions, each rendered by two image models, for brand, interior, fashion or project direction. Returned as square images.
- Status
- Healthy
- Uptime
- 100.0% over 16 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 3 tools
prepare_moodboard (plan/preview), generate_result (start the run), and get_result (poll status) form a clear async pipeline and the descriptions explicitly contrast them. However, the names generate_result and get_result are close enough that an agent might momentarily confuse 'start' vs 'check', requiring the descriptions to disambiguate.
All three names use a consistent verb_noun snake_case pattern (prepare_moodboard, generate_result, get_result). The only minor deviation is that the noun is 'moodboard' for the prepare step but 'result' for the two execution steps, which is defensible but not perfectly uniform.
Three tools is exactly the minimal set for an asynchronous prepare/start/poll workflow, and each one has a distinct, necessary role. There is no redundancy or bloat for this narrow scope.
The full lifecycle of prepare → generate → poll-and-retrieve is covered, including sign-in and credit handling. Minor gaps remain: no cancel/abort for a long-running run, no way to list or revisit previously completed runs or re-fetch files from earlier runs.
Available Tools
3 toolsgenerate_resultGenerate ResultAIdempotentInspect
Start the prepared run in the user's ManyMotions account. Call it only after the user explicitly asked to generate: it consumes credits (the amount shown when preparing). It takes a few minutes: poll with get_result. It needs the user's ManyMotions account: the client asks the user to sign in when it is missing.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| run | No | |
| state | Yes | |
| balance | No | |
| message | Yes | |
| outputs | No | |
| project | Yes | |
| dashboard_url | Yes | |
| credits_required | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly=false, idempotent=true, destructive=false, openWorld=true), it discloses credit consumption, that the cost was shown at prepare time, that the run takes minutes and requires polling, and that it needs a signed-in account. These are meaningful behavioral traits annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with the core action, then progressively disclosing cost, latency/polling, and auth. No filler and every sentence carries operational meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and cost/latency/auth are all covered. The only gap is that the required project_id parameter is left entirely to the schema, which itself has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single parameter (project_id) is never mentioned or explained in the description. The phrase 'the prepared run' hints at what is being started but gives no syntax, format, or constraint for the required project_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Start the prepared run') and situates it in a workflow, distinguishing it from the sibling get_result ('poll with get_result') and from the prepare step ('prepared run'). An agent can tell it apart from both siblings without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit precondition ('Call it only after the user explicitly asked to generate'), names the alternative for the follow-up step ('poll with get_result'), and states the auth condition ('the client asks the user to sign in when it is missing'). When-to-call, what-not-to-do, and the next-tool routing are all covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_resultGet ResultARead-onlyIdempotentInspect
Check the progress of a run in the user's ManyMotions account and return the URLs of the finished files (audio, images or video) when it is done. Read-only: it never starts or changes a run.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| run | No | |
| state | Yes | |
| balance | No | |
| message | Yes | |
| outputs | No | |
| project | Yes | |
| dashboard_url | Yes | |
| credits_required | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so 'Read-only: it never starts or changes a run' largely restates structured data. The description does add behavioral context about the response content (URLs for audio, images or video) and the 'when it is done' completion condition, which is modest added value on top of the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, the purpose front-loaded in the first clause and the safety guarantee second. No filler and nothing to trim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value detail is not strictly required, and annotations cover the safety profile, making the description nearly sufficient for a one-parameter tool. The only real gap is the unexplained project_id, which leaves a small hole for an otherwise simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required project_id, and the description never mentions the parameter at all. With no compensation for the coverage gap, the agent gets no meaning beyond the bare property name and type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('check the progress of a run') and the payoff ('return the URLs of the finished files'), and implicitly separates itself from generate_result by noting it 'never starts or changes a run'. An agent can distinguish polling from generation without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the polling/progress framing suggests it is called after a run has been started, and the 'never starts or changes a run' clause hints that generate_result is the starter. But no sibling is named and there is no explicit when-to-use, when-not-to-use, or polling-cadence guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_moodboardPrepare MoodboardAInspect
Prepare a moodboard with ManyMotions from a creative brief: five distinct visual directions (subject, setting, light, palette, style), each rendered by two image models as square images. Returns the settings and the credits required. Nothing is generated and no credits are spent. No sign-in is needed to prepare. New images from a text brief only: do not use it for uploaded or reference images. Original directions only: no brand logos, artworks or artists named as the style, copyrighted characters or real people; offer an original description instead.
| Name | Required | Description | Default |
|---|---|---|---|
| brief | Yes | The creative brief: what the moodboard is for (brand, interior, fashion, event, project), the mood, colors, materials, era and style. |
Output Schema
| Name | Required | Description |
|---|---|---|
| run | No | |
| state | Yes | |
| balance | No | |
| message | Yes | |
| outputs | No | |
| project | Yes | |
| dashboard_url | Yes | |
| credits_required | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial behavior beyond annotations: no credits are spent, no sign-in is required, and the call returns settings plus the credit cost. This is exactly the cost/auth/preview context an agent needs before committing to a paid generation step, and it is consistent with readOnlyHint=false (a prepared object may be created) since the description scopes the claim to generation and billing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four dense sentences, front-loaded with purpose and output shape before the constraints. Every clause carries information, though the closing policy sentence stacks several prohibitions and could be marginally tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter preview tool with an output schema, this covers purpose, cost, auth, return shape, and content restrictions. Nothing an agent needs in order to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, and the description adds real meaning by constraining what the brief may contain (original directions only, no brands/artists/real people) — guidance the schema's field description does not cover. It does not add format or length detail, but the schema already handles that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb+resource (prepare a moodboard), states the exact output structure (five visual directions, two models each, square images), and explicitly draws the boundary against generation ('Nothing is generated'), which cleanly separates it from the sibling generate_result.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use ('New images from a text brief only') and when-not ('do not use it for uploaded or reference images'), plus content eligibility rules (no logos, named artists, copyrighted characters, or real people). The agent can route between this and the generate/get siblings without inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
generate_result - First observed
get_result - First observed
prepare_moodboard
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceRemote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.MIT
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs115 npm58 PyPIMIT
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1623 npm1MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.