Dreambooth Studio
Server Details
Ask about your Dreambooth Studio photobooths: sessions, revenue, credits, projects, device status.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- Dreambooth-Studio/dreambooth-mcp
- GitHub Stars
- 0
- Server Listing
- dreambooth-mcp
TDQS
Scored across 10 tools
Each tool targets a distinct resource or concern: account connection, credits, gallery media, project details, revenue, sessions, wallet, project listing, and docs. Potentially overlapping money tools are explicitly disambiguated, with get_revenue_summary and get_wallet_transactions each explaining when not to use them.
Tool names mostly follow a clear verb_noun snake_case pattern, such as get_credits, list_projects, and search_docs. The only notable deviation is connection_status, which lacks a verb prefix like get_connection_status, making the set slightly inconsistent.
Ten tools is a well-scoped size for a Dreambooth operator support server. Each tool covers a meaningful query or account action, and none feel redundant or purely decorative.
The toolset covers account, credits, projects, sessions, revenue, wallet, and documentation queries well, but it is almost entirely read-only. There are no tools for creating, updating, or deleting booths, nor any media/session detail operations, so agents cannot manage the full lifecycle of a project.
Available Tools
10 toolsconnect_accountConnect or create a Dreambooth accountAInspect
Connect this conversation to a Dreambooth Studio account. Returns a link the person opens in their own browser, where they sign in to Dreambooth with an email and password or with Google, and approve. Works for people who do NOT have a Dreambooth account yet — approving creates one, with a 14-day Pro trial — as well as for existing operators. Call this when another tool reports that no account is connected, or when someone asks to connect, sign up, or switch accounts. After returning the link, ask them to open it and say when they are done; do not call this tool again while waiting.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| No | ||
| status | Yes | already_connected | awaiting_approval |
| authUrl | No | Open in a browser to approve. Absent when already connected. |
| message | Yes | |
| expiresInMinutes | No | |
| createsAccountIfNeeded | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the OAuth approval flow, that approving can create a new account with a 14-day Pro trial, and that the tool should not be called again while waiting. This goes beyond the annotations (readOnly=false, idempotent=false) to explain practical side effects and interaction expectations.
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?
The description is well-structured and efficient, packing the core action first, then the flow, when-to-use conditions, and post-call guidance into a few sentences without redundancy or filler.
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?
Given the output schema exists, the description does not need to detail return values. It covers the interaction lifecycle, including user steps, new vs. existing account handling, trial information, and when to wait — making it complete for an agent to execute correctly.
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?
The tool has zero parameters and the schema coverage is 100% (vacuously). The description adds no parameter semantics because none exist, which matches the baseline for high schema coverage.
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 clearly states the tool's purpose: 'Connect this conversation to a Dreambooth Studio account.' It explains the flow (returns a link, user signs in and approves) and distinguishes between new and existing users, making it distinct from sibling tools like connection_status or get_credits.
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?
Explicitly specifies when to use: 'Call this when another tool reports that no account is connected, or when someone asks to connect, sign up, or switch accounts.' It also provides follow-up instructions: ask the user to open the link, wait for confirmation, and do not call the tool again while waiting.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connection_statusCheck Dreambooth connectionARead-onlyIdempotentInspect
Whether this conversation currently has a Dreambooth account connected, and which one. Call this if you are unsure whether to run connect_account first. Cheap and read-only — it does not contact Dreambooth.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| Yes | ||
| phase | Yes | |
| message | Yes | |
| connected | Yes | |
| waitingSeconds | Yes | How long the current device flow has been pending |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly, idempotent, and non-destructive traits. The description adds genuinely new context beyond those: 'Cheap and read-only — it does not contact Dreambooth.' This discloses that no network call occurs, which is valuable and not derivable from the annotations alone.
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?
Three tightly packed sentences, front-loaded with the core purpose, followed by usage guidance and behavioral disclosure. Every sentence earns its place with no filler or repetition of the title.
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?
Complete for a simple parameterless status check: the description covers purpose, when to call, and behavior (no external contact), while annotations carry the safety profile and the output schema presumably documents the return value. Nothing an agent needs 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?
The tool has zero parameters, so there is nothing the description must explain; the 100% schema coverage and 0-param signature make parameter documentation a non-issue. The baseline for a parameterless tool applies.
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 clear purpose: report whether a Dreambooth account is connected to the current conversation and which one. It implicitly distinguishes itself from siblings — it concerns connection state, not projects, credits, revenue, or wallet data — and names its direct sibling (connect_account) for contrast.
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 explicit, actionable guidance: 'Call this if you are unsure whether to run connect_account first.' This names the relevant alternative and the condition that selects this tool. It lacks an explicit when-not-to-use clause, but for a cheap status check that is a minor gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_creditsGet AI credits and planARead-onlyIdempotentInspect
This operator's remaining AI credit balance and their current subscription plan, including when it ends. Call this when they ask how many credits are left, whether they can still run AI effects, or what plan they are on. Credits are separate from wallet money — do not confuse the two.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| plan | No | Subscription package name |
| credits | Yes | AI credits remaining. NOT money — see get_wallet_transactions for that. |
| videoCredits | No | |
| sessionCredits | No | |
| subscriptionEndDate | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds a behavioral nuance by noting credits are separate from wallet money, which is beyond the read-only/idempotent annotations. It does not contradict the annotations, though it does not elaborate on side effects (which are unnecessary given 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?
The description is concise and well-structured, with a clear functional statement followed by usage guidance and a clarifying note, all in two sentences without redundancy.
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?
It provides sufficient context for the agent to decide when to call the tool, including the distinction from wallet transactions. It does not mention error cases or output format, but that is not essential for selection given the output schema is noted as existing.
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?
The tool has no parameters, so the description correctly remains silent on parameter details. There is nothing to add beyond the empty schema, and the coverage is effectively complete.
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 clearly states the tool retrieves the operator's remaining AI credit balance and subscription plan, and explicitly distinguishes it from wallet money, making its purpose unambiguous even without seeing the output 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 provides explicit call scenarios: 'when they ask how many credits are left, whether they can still run AI effects, or what plan they are on,' which directly guides the agent on when to use this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_gallery_statsGet gallery statisticsARead-onlyIdempotentInspect
How much media this operator's booths have produced: total, still active, and expired past the retention window. Call this when the operator asks how many photos or videos a booth has taken, or whether media is being lost to retention. Returns counts only, not the media itself.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | No | Limit to one booth. Omit for every booth this operator owns. | |
| includeExpired | No | Count media past its retention window too (default false) |
Output Schema
| Name | Required | Description |
|---|---|---|
| totalCount | Yes | |
| activeCount | No | Still inside the retention window |
| expiredCount | No | Past retention and no longer downloadable |
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 the agent knows this is a safe, side-effect-free read. The description adds value by clarifying the return payload ('counts only, not the media itself') and the retention-window behavior. This goes beyond what annotations convey, giving the agent concrete expectations about the output shape and scope. No contradiction with 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?
The description is two sentences that immediately state the core purpose and then give a concrete usage trigger. It front-loads the most critical information (what it returns) and then explains when to use it. There is zero filler or redundant phrasing; every word earns its place.
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 the annotations covering safety, the schema fully documenting parameters, and an output schema present (though not shown), the description covers everything an agent needs to call this tool correctly. It explains the return type (counts only), the scoping to booths, and the retention nuance. Nothing essential is missing for a read-only statistics 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?
The schema description coverage is 100%, with both projectId and includeExpired having clear descriptions. The tool description itself does not add any parameter-specific meaning beyond what the schema already provides; it only implies the general context of booths and retention. Since the schema fully documents the parameters, the description adds no extra semantic value, so the baseline of 3 is appropriate.
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 opens with a precise statement of what the tool does: it reports how much media an operator's booths have produced, broken into total, still active, and expired past retention. This is a specific verb-resource pair that clearly distinguishes it from sibling tools like get_sessions or get_revenue_summary. The phrasing 'Returns counts only, not the media itself' further disambiguates the scope.
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?
The description explicitly says when to call it: 'Call this when the operator asks how many photos or videos a booth has taken, or whether media is being lost to retention.' This gives clear triggering conditions. It does not name alternative tools for contrast, but the guidance is specific enough that an agent can decide without confusion. A minor omission is not stating when NOT to use it, but the positive triggers are strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_projectGet one booth in detailARead-onlyIdempotentInspect
Full detail for a single booth: its name, public link, currency, screen size, and the live status of the device running it — whether it is online, when it was last seen, app version, and camera/printer/internet state. Call this when the operator asks about one specific booth, or whether a booth is working. Get the project id from list_projects first.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project id from list_projects |
Output Schema
| Name | Required | Description |
|---|---|---|
| devices | Yes | Empty when device monitoring is unavailable — not an error |
| project | Yes | |
| deviceCount | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, and the description adds no conflicting side effects. It clarifies that the returned status is live, though it does not mention error or rate-limit behavior; given the annotations, this is sufficient.
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?
The description is two sentences, front-loaded with the tool's purpose and output fields, followed by clear usage guidance and a prerequisite. There is no redundant or vague wording.
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?
Given the output schema exists and the description enumerates the output fields and use cases, the tool is fully specified for an agent to call correctly. It names the prerequisite tool and the distinguishing scenario, covering all necessary context.
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?
The schema has 100% coverage with a meaningful description for projectId, and the tool description reinforces that the id should come from list_projects first. This goes beyond the schema by providing the source of the parameter value.
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 clearly states 'Get' a single booth's full detail, listing specific fields (name, public link, currency, screen size, live device status). It is distinct from siblings like list_projects and get_sessions, so an agent can easily select this tool for one specific booth.
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 explicitly says to call this tool when the operator asks about one specific booth or whether a booth is working. It also instructs to get the project id from list_projects first, providing clear operational guidance and preventing misuse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_revenue_summaryGet revenue summaryARead-onlyIdempotentInspect
Business revenue from this operator's photobooth sessions across EVERY payment channel — gateway payments, cash vouchers (cash collected at the booth) and discount vouchers — grouped by month or day and by currency, with extra-print revenue and AI-effect purchases reported separately. Use this for any question about income, revenue or omzet. It is also the right tool when wallet earnings look too small: cash and voucher money never reaches the wallet ledger, so for operators who take cash the wallet figure legitimately understates income.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date, ISO YYYY-MM-DD. Omit for all time. | |
| from | No | Start date, ISO YYYY-MM-DD. Omit for all time. | |
| groupBy | No | Bucket size (default month) |
Output Schema
| Name | Required | Description |
|---|---|---|
| to | No | |
| from | No | |
| found | No | |
| source | No | Which ledger the figures came from |
| totals | No | |
| buckets | No | |
| groupBy | No | |
| mixedCurrency | No | |
| reconciliation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover safety (readOnlyHint, idempotentHint, non-destructive), which is confirmed and not contradicted. The description adds genuinely useful behavioral context beyond the annotations: the fact that revenue includes cash and vouchers that bypass the wallet ledger, and that below-minimum-reporting threshold amounts are never recorded — disclosure that helps the agent interpret results correctly rather than trust a misleadingly low wallet figure.
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 sentences, front-loaded with the primary purpose. There is minor redundancy (the cash/voucher channel enumeration appears both at the start and in the wallet explanation), but each sentence earns its place — the wallet-routing note is critical disambiguation. A tighter single-sentence pass could trim a few words without harming clarity.
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 3-parameter, 0-required tool with a rich output schema and complete annotations, the description is complete: it covers purpose, all revenue channels, grouping dimensions, currency, the extra-print/AI-effect subcategory, and the wallet understatement edge case. The output schema handles return-value details, so nothing an agent needs 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 description doesn't need to re-document parameters. It reinforces the groupBy semantics by referencing grouping ('grouped by month or day and by currency') and adds the 'omzet' term that expands the query vocabulary the agent can map to this tool. No contradictions, and it doesn't over-repeat what the schema already states.
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 names a specific verb+resource ('Business revenue from this operator's photobooth sessions') and enumerates the exact scope: every payment channel, grouping by month/day and currency, with extra-print and AI-effect revenue reported separately. It clearly distinguishes itself from siblings like get_wallet_transactions by explicitly flagging the wallet-vs-revenue distinction.
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 guidance ('Use this for any question about income, revenue or omzet') and an exclusion with rationale: it is the right tool when wallet earnings look too small because cash/voucher money never reaches the wallet ledger. This proactively prevents the most likely misrouting to get_wallet_transactions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sessionsGet photo sessionsARead-onlyIdempotentInspect
List the photo sessions recorded on this operator's booths, with totals. Call this when the operator asks how busy a booth has been, how many sessions ran in a period, or wants to inspect individual sessions. Supports date ranges, per-booth filtering, payment status and payment channel. For money totals rather than session counts, use get_revenue_summary instead.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many sessions to return (default 20, max 100) | |
| endDate | No | ISO date (YYYY-MM-DD) for the end of the range, inclusive | |
| startDate | No | ISO date (YYYY-MM-DD) for the start of the range, inclusive | |
| projectIds | No | Comma-separated project ids to limit the range to specific booths | |
| paymentSource | No | Payment channel, e.g. gateway, cash-voucher, discount-voucher | |
| sessionStatus | No | Session status filter | |
| transactionStatus | No | Payment status filter, e.g. settlement, pending |
Output Schema
| Name | Required | Description |
|---|---|---|
| total | No | Sessions matching the filter, across all pages |
| returned | Yes | How many are in this response |
| sessions | Yes | |
| totalPages | 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 the description does not need to repeat these. The description adds no extra behavioral context (e.g., auth, rate limits), but it does not contradict the annotations. Adequate given the existing 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?
The description is two sentences, front-loads the primary action, and avoids redundancy. It efficiently covers purpose, usage, and alternatives without unnecessary detail.
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?
Given that an output schema exists (context signal), the description does not need to explain return values. It provides the purpose, when to use, and a clear alternative tool, which is sufficient context for an agent to decide when to invoke it.
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% with each of the 7 parameters having its own description. The tool description reinforces the date-range, per-booth filtering, payment status, and payment channel parameters but adds no new information beyond what the schema already provides. Baseline 3 is appropriate.
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 clearly states that the tool lists photo sessions with totals, and explicitly distinguishes it from get_revenue_summary by focusing on session counts rather than money totals. The verb 'List' and resource 'photo sessions' are unambiguous.
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 explicitly says when to call the tool ('when the operator asks how busy a booth has been, how many sessions ran in a period, or wants to inspect individual sessions') and when not to ('For money totals... use get_revenue_summary instead'). No ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wallet_transactionsGet wallet transactionsARead-onlyIdempotentInspect
This operator's wallet ledger: gateway earnings, withdrawals and refunds, newest first. Use for questions about the wallet, payouts or withdrawals. Do NOT use it to answer 'how much did I earn' — the wallet excludes cash and voucher income entirely, so for operators who take cash it understates real revenue. Use get_revenue_summary for income.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date, ISO YYYY-MM-DD | |
| from | No | Start date, ISO YYYY-MM-DD | |
| limit | No | Max rows (default 10) |
Output Schema
| Name | Required | Description |
|---|---|---|
| total | No | Rows matching the filter, across all pages |
| returned | Yes | |
| truncated | Yes | |
| transactions | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already cover readOnly, openWorld, idempotent, and non-destructive behavior. The description adds useful context about the data scope (excludes cash/voucher income, newest first) and the ordering, which goes beyond the annotations. It does not describe any side effects, but given the readOnly annotation, none are expected. The description is transparent about what data is included and what is not.
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?
The description is two sentences long. The first sentence defines the content and ordering of the ledger. The second sentence provides usage guidance and the distinction from get_revenue_summary. It is tight, focused, and every word contributes to clarifying the tool's purpose and appropriate use.
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?
The description provides all necessary context for an agent to decide when to use this tool: it explains the data scope, the ordering, the intended use cases, and the crucial caveat about cash/voucher income. It also points to the correct sibling tool for income queries, ensuring the agent selects the right tool for the user's intent. No additional context is needed.
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?
The schema covers 100% of parameters (from, to, limit) with descriptions and types. The tool description does not add any additional semantic meaning beyond what the schema already provides. Since the schema is complete, the description does not need to elaborate, but it also doesn't enhance understanding of the parameters. This is a baseline score for when schema handles the semantics.
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 clearly states what the tool does: it returns the operator's wallet ledger with gateway earnings, withdrawals, and refunds, ordered newest first. It also explicitly distinguishes it from get_revenue_summary by noting that wallet excludes cash and voucher income, and directs users to the sibling tool for income questions. This leaves no ambiguity about the tool's purpose.
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?
The description explicitly states when to use the tool (for questions about the wallet, payouts, or withdrawals) and when not to (for income questions, since it understates revenue for cash operators). It even names the alternative tool (get_revenue_summary) to use instead. This gives clear, actionable guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsList boothsARead-onlyIdempotentInspect
List the photobooth projects this operator owns, with id, name, public link slug, whether it is active, and its currency. Call this first whenever the operator names a booth — you need the project id to filter any other tool by booth. Does not return booth designs or page layouts.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| projects | Yes |
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 the safety profile is covered. The description adds value by specifying the exact fields returned and explicitly stating what is NOT included (designs, layouts), which helps set expectations. There is no contradiction with 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 sentences, no fluff. The first sentence front-loads the key purpose and fields, the second provides usage guidance and a negative. Every clause contributes necessary information, and the description is immediately scannable.
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?
Given the tool has no parameters, an output schema exists to document return values, and annotations cover the read-only nature, the description provides all necessary context: what it returns, when to call it, and what it doesn't cover. An agent has everything needed to invoke it correctly without ambiguity.
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?
The tool has zero parameters and the schema is empty, so there is nothing to describe. The baseline for 0 params is 4, and the description appropriately adds no unnecessary parameter detail. It doesn't need to compensate for schema gaps because there are no parameters.
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 ('List'), a specific resource ('photobooth projects this operator owns'), and enumerates the returned fields (id, name, public link slug, active status, currency). It also differentiates from siblings by positioning itself as the first call needed to obtain project IDs for filtering other tools, which clearly separates it from get_project and other getters.
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?
Explicitly instructs 'Call this first whenever the operator names a booth' and explains why (you need the project id to filter any other tool by booth). It also states what it does not return ('Does not return booth designs or page layouts'), giving clear exclusion criteria. This is direct and actionable guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_docsSearch Dreambooth documentationARead-onlyIdempotentInspect
Search the Dreambooth Studio documentation and FAQ. Call this before answering any question about the product, pricing, packages, hardware, printing, subscriptions, or troubleshooting — answer from the docs rather than from memory. Works without a connected account.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default 5) | |
| query | Yes | Search terms, in English or Indonesian | |
| locale | No | Docs language (default en) |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| locale | Yes | |
| results | Yes | |
| resultCount | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds the behavioral context that it works without an account and is a documentation search (non-mutating). No contradictions with 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?
The description is two concise sentences, front-loading the core purpose and usage. No redundant or extraneous information; structure is clear and easy to parse.
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?
The description gives complete usage context (when to call, why, and account requirement), combined with well-documented parameters and an available output schema, making it sufficient for an agent to decide when and how to invoke the 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 descriptions cover all three parameters (query, limit, locale) with clear explanations. Since schema coverage is 100%, the baseline is 3, and the tool description itself adds no extra parameter context beyond what the schema already provides.
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 clearly states the verb 'Search' and the resource 'Dreambooth Studio documentation and FAQ'. It also specifies when to use it (before answering product-related questions) and implicitly distinguishes from sibling tools that manage accounts, projects, credits, etc.
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?
Explicitly instructs to call this tool before answering questions about specific topics (product, pricing, packages, hardware, printing, subscriptions, troubleshooting) and to answer from docs rather than memory. Also notes it works without an account, providing clear context on when it is applicable.
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.
1 tool update
- Changed
get_project3 fields changed- added
Output schema / properties / project / properties / screenSize / additionalPropertiesAdded value: +false - added
Output schema / properties / project / properties / screenSize / propertiesAdded value: +{ + "height": { + "type": "number" + }, + "width": { + "type": "number" + } +} - changed
Output schema / properties / project / properties / screenSize / typePrevious value: -"string"New value: +"object"
10 tool updates
- First observed
connect_account - First observed
connection_status - First observed
get_credits - First observed
get_gallery_stats - First observed
get_project - First observed
get_revenue_summary - First observed
get_sessions - First observed
get_wallet_transactions - First observed
list_projects - First observed
search_docs
Related MCP Connectors
- AgentioOAuthcom.agentio
Ask about your Agentio campaigns, Creator deals, and performance on YouTube and Meta. Read-only.
Ask your Rent Manager portfolio anything: live, read-only financials, rent roll, leasing.
Public Cannon Studio MCP for product, pricing, workflow, model, and API answers.
Manage your Hotspot maps, spots and earnings from your AI assistant.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables querying DeepVLab account statistics and model usage analytics, including login, user profile, usage analytics, and cost calculation.1Apache 2.0
- FlicenseAqualityCmaintenanceProvides AI assistants access to YOUREPT CRM admin data, including leads, students, teachers, lessons, payments, payouts, and financial reports, enabling natural-language queries about business metrics.17-
- AlicenseAqualityAmaintenanceEnables AI agents to query gym analytics—class attendance, trainer performance, and revenue insights—from existing CCTV camera feeds without new hardware.43MIT
- AlicenseAqualityFmaintenanceProvides real-time Stripe subscription analytics including MRR, churn, failed payments, and expiring trials. Enables AI assistants to answer business health questions like 'How's my business doing?'8MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.