Skip to main content
Glama

Account & History

manage_account
Destructive

SlideForge account for PowerPoint generation: balance, job history, feedback, data controls. All free. Actions: status (balance+plan), usage (spend breakdown), jobs (history), job (single job detail — slide jobs include quality_warnings[]; deck jobs add slides_completed/slides_failed/failed_slides[]), feedback (submit), feedback_list (read your reports back: status + resolution), onboarding (capabilities overview), download_url (fresh short-TTL PPTX link for an owned job — when a result carries no inline URL), security_status (retention + access-model + deletion posture), delete_job (irreversible: job + versions + files) Action delete_asset irreversibly deletes a user-owned uploaded/generated image asset.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
daysNoLookback period (for action=usage, default 30)
slugNoReport slug (for action=reports — returns one report's full metadata; omit to list all).
limitNoMax rows (action=jobs default 10; action=feedback_list default 50, max 100)
actionYesOperation (required). feedback → report a defect or request against a render; pass job_id so it is actionable, and ask the user before filing. feedback_list → read YOUR OWN filed reports back, with `status` and the `resolution` written when one was acted on: check it before working around a defect you reported earlier, because it may already be fixed. brand_report → the per-token fidelity report for one of your brand kits (pass theme_id). reports → list report types. delete_job is irreversible. delete_asset is irreversible for user-owned image assets.
detailNoFor action=status only: default false masks identity fields; true returns full email/user_id diagnostics for the authenticated user.
job_idNoJob ID (for action=job, action=download_url and action=delete_job)
statusNoFilter — action=jobs: queued/generating/complete/failed; action=feedback_list: open/resolved
messageNoWhat went wrong or what you want, in the user's own words (for action=feedback).
asset_idNoImage asset ID (for action=delete_asset). Logos are content-addressed/shared and are not deleted by this action.
categoryNoFeedback category (action=feedback to file under it, action=feedback_list to filter by it). The first nine are slide-quality categories — pair them with job_id.
severityNoFor action=feedback: `bug` = it is broken, `quality` = it rendered but reads poorly, `suggestion` = a request. Defaults to suggestion, so file real defects explicitly or they are triaged as wishes.
include_previewNoPreview (for action=job)
include_childrenNoFor action=jobs: include deck child slides (each carries parent_deck_id) so a deck's slides are discoverable by listing. Default false (parents only). Deck rows roll child cost up to the deck.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • changedInput schema / properties / action / description
      Previous value: -"Operation (required). feedback → report a defect or request against a render; pass job_id so it is actionable, and ask the user before filing. feedback_list → read YOUR OWN filed reports back, with `status` and the `resolution` written when one was acted on: check it before working around a defect you reported earlier, because it may already be fixed. brand_report → the per-token fidelity report for one of your brand kits (pass theme_id). topup → mints a Stripe checkout link the user pays at directly (wallet credits automatically) — use when a render is refused for balance. reports → list report types; webhook_add registers a push endpoint instead of polling — see the url/events props. delete_job is irreversible. delete_asset is irreversible for user-owned image assets."New value: +"Operation (required). feedback → report a defect or request against a render; pass job_id so it is actionable, and ask the user before filing. feedback_list → read YOUR OWN filed reports back, with `status` and the `resolution` written when one was acted on: check it before working around a defect you reported earlier, because it may already be fixed. brand_report → the per-token fidelity report for one of your brand kits (pass theme_id). reports → list report types. delete_job is irreversible. delete_asset is irreversible for user-owned image assets."
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "status",
      -  "usage",
      -  "jobs",
      -  "job",
      -  "download_url",
      -  "feedback",
      -  "feedback_list",
      -  "onboarding",
      -  "topup",
      -  "brand_report",
      -  "reports",
      -  "webhooks",
      -  "webhook_add",
      -  "webhook_remove",
      -  "webhook_test",
      -  "security_status",
      -  "delete_job",
      -  "delete_asset"
      -]New value: +[
      +  "status",
      +  "usage",
      +  "jobs",
      +  "job",
      +  "download_url",
      +  "feedback",
      +  "feedback_list",
      +  "onboarding",
      +  "brand_report",
      +  "reports",
      +  "security_status",
      +  "delete_job",
      +  "delete_asset"
      +]
    • removedInput schema / properties / amount
      Removed value: -{
      -  "description": "USD top-up amount (for action=topup, default 10, min 10, max 1000). Volume bonus: $50→+10%, $100→+15%, $200→+20%.",
      -  "type": "number"
      -}
    • removedInput schema / properties / events
      Removed value: -{
      -  "description": "Event types to subscribe to (for action=webhook_add; default all): job.completed, job.failed, deck.completed, deck.partial, deck.failed.",
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • removedInput schema / properties / url
      Removed value: -{
      -  "description": "HTTPS endpoint to receive events (for action=webhook_add). Must be public HTTPS (private/loopback rejected).",
      -  "type": "string"
      -}
    • removedInput schema / properties / webhook_id
      Removed value: -{
      -  "description": "Webhook subscription id (for action=webhook_remove / webhook_test).",
      -  "type": "string"
      -}
  2. Changed2 schema fields changed
    • changedInput schema / properties / action / description
      Previous value: -"Operation (required). feedback → report a defect or request against a render; pass job_id so it is actionable, and ask the user before filing. feedback_list → read YOUR OWN filed reports back, with `status` and the `resolution` written when one was acted on: check it before working around a defect you reported earlier, because it may already be fixed. topup → mints a Stripe checkout link the user pays at directly (wallet credits automatically) — use when a render is refused for balance. reports → list report types; webhook_add registers a push endpoint instead of polling — see the url/events props. delete_job is irreversible. delete_asset is irreversible for user-owned image assets."New value: +"Operation (required). feedback → report a defect or request against a render; pass job_id so it is actionable, and ask the user before filing. feedback_list → read YOUR OWN filed reports back, with `status` and the `resolution` written when one was acted on: check it before working around a defect you reported earlier, because it may already be fixed. brand_report → the per-token fidelity report for one of your brand kits (pass theme_id). topup → mints a Stripe checkout link the user pays at directly (wallet credits automatically) — use when a render is refused for balance. reports → list report types; webhook_add registers a push endpoint instead of polling — see the url/events props. delete_job is irreversible. delete_asset is irreversible for user-owned image assets."
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "status",
      -  "usage",
      -  "jobs",
      -  "job",
      -  "download_url",
      -  "feedback",
      -  "feedback_list",
      -  "onboarding",
      -  "topup",
      -  "reports",
      -  "webhooks",
      -  "webhook_add",
      -  "webhook_remove",
      -  "webhook_test",
      -  "security_status",
      -  "delete_job",
      -  "delete_asset"
      -]New value: +[
      +  "status",
      +  "usage",
      +  "jobs",
      +  "job",
      +  "download_url",
      +  "feedback",
      +  "feedback_list",
      +  "onboarding",
      +  "topup",
      +  "brand_report",
      +  "reports",
      +  "webhooks",
      +  "webhook_add",
      +  "webhook_remove",
      +  "webhook_test",
      +  "security_status",
      +  "delete_job",
      +  "delete_asset"
      +]
  3. Changed5 schema fields changed
    • changedInput schema / properties / action / description
      Previous value: -"Operation (required). feedback → report a defect or request against a render; pass job_id so it is actionable, and ask the user before filing. topup → mints a Stripe checkout link the user pays at directly (wallet credits automatically) — use when a render is refused for balance. reports → list report types; webhook_add registers a push endpoint instead of polling — see the url/events props. delete_job is irreversible. delete_asset is irreversible for user-owned image assets."New value: +"Operation (required). feedback → report a defect or request against a render; pass job_id so it is actionable, and ask the user before filing. feedback_list → read YOUR OWN filed reports back, with `status` and the `resolution` written when one was acted on: check it before working around a defect you reported earlier, because it may already be fixed. topup → mints a Stripe checkout link the user pays at directly (wallet credits automatically) — use when a render is refused for balance. reports → list report types; webhook_add registers a push endpoint instead of polling — see the url/events props. delete_job is irreversible. delete_asset is irreversible for user-owned image assets."
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "status",
      -  "usage",
      -  "jobs",
      -  "job",
      -  "download_url",
      -  "feedback",
      -  "onboarding",
      -  "topup",
      -  "reports",
      -  "webhooks",
      -  "webhook_add",
      -  "webhook_remove",
      -  "webhook_test",
      -  "security_status",
      -  "delete_job",
      -  "delete_asset"
      -]New value: +[
      +  "status",
      +  "usage",
      +  "jobs",
      +  "job",
      +  "download_url",
      +  "feedback",
      +  "feedback_list",
      +  "onboarding",
      +  "topup",
      +  "reports",
      +  "webhooks",
      +  "webhook_add",
      +  "webhook_remove",
      +  "webhook_test",
      +  "security_status",
      +  "delete_job",
      +  "delete_asset"
      +]
    • changedInput schema / properties / category / description
      Previous value: -"Feedback category (for action=feedback). The first nine are slide-quality categories — pair them with job_id."New value: +"Feedback category (action=feedback to file under it, action=feedback_list to filter by it). The first nine are slide-quality categories — pair them with job_id."
    • changedInput schema / properties / limit / description
      Previous value: -"Max jobs (for action=jobs, default 10)"New value: +"Max rows (action=jobs default 10; action=feedback_list default 50, max 100)"
    • changedInput schema / properties / status / description
      Previous value: -"Filter (for action=jobs): queued/generating/complete/failed"New value: +"Filter — action=jobs: queued/generating/complete/failed; action=feedback_list: open/resolved"
  4. Changed3 schema fields changed
    • changedInput schema / properties / action / description
      Previous value: -"Operation (required). feedback → report a defect or request against a render; pass job_id so it is actionable, and ask the user before filing. reports → list report types; webhook_add registers a push endpoint instead of polling — see the url/events props. delete_job is irreversible. delete_asset is irreversible for user-owned image assets."New value: +"Operation (required). feedback → report a defect or request against a render; pass job_id so it is actionable, and ask the user before filing. topup → mints a Stripe checkout link the user pays at directly (wallet credits automatically) — use when a render is refused for balance. reports → list report types; webhook_add registers a push endpoint instead of polling — see the url/events props. delete_job is irreversible. delete_asset is irreversible for user-owned image assets."
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "status",
      -  "usage",
      -  "jobs",
      -  "job",
      -  "download_url",
      -  "feedback",
      -  "onboarding",
      -  "reports",
      -  "webhooks",
      -  "webhook_add",
      -  "webhook_remove",
      -  "webhook_test",
      -  "security_status",
      -  "delete_job",
      -  "delete_asset"
      -]New value: +[
      +  "status",
      +  "usage",
      +  "jobs",
      +  "job",
      +  "download_url",
      +  "feedback",
      +  "onboarding",
      +  "topup",
      +  "reports",
      +  "webhooks",
      +  "webhook_add",
      +  "webhook_remove",
      +  "webhook_test",
      +  "security_status",
      +  "delete_job",
      +  "delete_asset"
      +]
    • addedInput schema / properties / amount
      Added value: +{
      +  "description": "USD top-up amount (for action=topup, default 10, min 10, max 1000). Volume bonus: $50→+10%, $100→+15%, $200→+20%.",
      +  "type": "number"
      +}
  5. Changed5 schema fields changed
    • changedInput schema / properties / action / description
      Previous value: -"Operation (required). reports → list report types; webhook_add registers a push endpoint instead of polling — see the url/events props. delete_job is irreversible. delete_asset is irreversible for user-owned image assets."New value: +"Operation (required). feedback → report a defect or request against a render; pass job_id so it is actionable, and ask the user before filing. reports → list report types; webhook_add registers a push endpoint instead of polling — see the url/events props. delete_job is irreversible. delete_asset is irreversible for user-owned image assets."
    • changedInput schema / properties / category / description
      Previous value: -"Feedback category (for action=feedback): bug/feature_request/quality/general"New value: +"Feedback category (for action=feedback). The first nine are slide-quality categories — pair them with job_id."
    • addedInput schema / properties / category / enum
      Added value: +[
      +  "layout",
      +  "typography",
      +  "contrast",
      +  "content",
      +  "icons",
      +  "images",
      +  "theme",
      +  "chrome",
      +  "consistency",
      +  "bug",
      +  "feature_request",
      +  "testimonial",
      +  "general",
      +  "other"
      +]
    • changedInput schema / properties / message / description
      Previous value: -"Feedback text (for action=feedback)"New value: +"What went wrong or what you want, in the user's own words (for action=feedback)."
    • addedInput schema / properties / severity
      Added value: +{
      +  "description": "For action=feedback: `bug` = it is broken, `quality` = it rendered but reads poorly, `suggestion` = a request. Defaults to suggestion, so file real defects explicitly or they are triaged as wishes.",
      +  "enum": [
      +    "bug",
      +    "quality",
      +    "suggestion"
      +  ],
      +  "type": "string"
      +}
  6. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true and openWorldHint=true, but the description goes well beyond them: delete_job is 'irreversible: job + versions + files', delete_asset is irreversible but logos are content-addressed and untouched, download_url yields a short-TTL link, and status detail defaults to masking identity fields. This is exactly the destruction-scope and default-behavior context an agent needs.

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

Conciseness4/5

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

Purpose is front-loaded in one line, then a dense action list; every entry is short and carries information. It is appropriate in length for 13 actions, with only mild redundancy (e.g. delete_job's irreversibility is stated in both the action list and trailing note).

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

Completeness4/5

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

For a 13-action tool with no output schema, the description supplies useful return-shape hints (quality_warnings[], slides_completed/slides_failed/failed_slides[], feedback_list status+resolution). However, two enum actions — brand_report and reports — are absent from the action enumeration, leaving a gap between the description and the schema.

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 description coverage is 100%, so the baseline is 3 and the schema already carries most parameter meaning. The description adds a little (short-TTL download link, irreversible asset deletion, deck cost roll-up), but does not elaborate syntax or formats beyond what the schema enum descriptions already state.

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

Purpose4/5

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

The opening line names the resource ('SlideForge account') and its scope (balance, job history, feedback, data controls), and the action list makes clear this is an account/administrative dispatcher rather than a content-creation tool like create_deck or edit_slide. It is clear, though the aggregate nature means no single verb+resource and it never explicitly contrasts itself with the sibling tools.

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?

Several actions carry genuine conditional guidance: download_url is for 'when a result carries no inline URL', feedback_list should be checked 'before working around a defect you reported earlier', and feedback should be filed with job_id and after asking the user. There is no overarching 'use this tool when…' statement or exclusion against siblings, which keeps it below 5.

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.