Skip to main content
Glama
Analog-Labs

Firestarter MCP Server

by Analog-Labs

firestarter_seller_disputes

Destructive

Review and resolve disputes on orders you're selling. List open seller disputes, read the buyer's claim and photos, then reply, refund, contest, or propose a split refund to settle the escrow freeze.

Instructions

View and resolve disputes on orders the user is SELLING (their own catalog/store). This is the SELLER side only. If the user is asking about something they BOUGHT — 'is there a dispute on my order?', a purchase that didn't arrive or arrived wrong — use firestarter_disputes instead. Call with NO arguments to list open disputes on the seller's sales (each shows its dispute_id). Pass dispute_id ALONE to read the full thread - what the buyer actually claimed, and any photos they attached. To act, add an action: 'message' (reply with a note and/or evidence photos, e.g. the packing shot taken before dispatch - use image_urls), 'refund' (refund the buyer in full and lift the escrow freeze), 'contest' (reject the claim and state your case), or 'split' (propose a partial refund - include buyer_pct and seller_pct that sum to 100). Use when a seller mentions a dispute, complaint, refund, chargeback, or return on something they sell.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionNoWhat to do with the dispute: 'message' = reply to the buyer with a note and/or evidence photos (no money moves); 'refund' = full refund to the buyer; 'contest' = reject the claim; 'split' = propose a partial refund (also set buyer_pct + seller_pct).
messageNoFor 'message': the text to post to the dispute thread, in the seller's words.
buyer_pctNoFor action 'split': percent refunded to the buyer. buyer_pct + seller_pct must equal 100.
reasoningNoOptional note explaining the decision, recorded on the dispute and shown to the buyer.
dispute_idNoDispute ID to act on (disp_...). Omit to list all disputes. Pass it with NO action to read the full thread first.
image_urlsNoFor 'message': evidence photos as public https URLs — a packing shot, the item before dispatch, proof of postage. THIS IS THE ONE TO USE when a photo is attached in the conversation: pass its URL straight through. Never fetch an image and rebuild it as a base64 data-URI, which is far too large to survive being printed into a tool call. Up to 5.
seller_pctNoFor action 'split': percent the seller keeps. buyer_pct + seller_pct must equal 100.
image_base64NoFor 'message': an evidence photo as a base64 data-URI ('data:image/jpeg;base64,…'). Only for an image you genuinely hold as raw bytes — if you have a URL for it, use image_urls instead.
Behavior4/5

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

Annotations already signal destructiveHint=true and readOnlyHint=false, and the description adds meaningful context beyond that: refund 'lift[s] the escrow freeze', contest 'reject[s] the claim', and split proposes a partial refund. It also clarifies the non-destructive read paths (list and read thread). It stops short of fully describing outcome/irreversibility, but the annotations cover the safety profile.

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?

The description is a single dense paragraph, but it is front-loaded with the core purpose and sibling distinction before diving into call patterns. Every sentence carries operational value, though a bulleted structure for the four actions would improve scanability.

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 a tool with no output schema, the description explains the return behavior for list (each dispute shows its dispute_id) and for read (full thread with buyer claim and photos). It covers all call modes, all actions, parameter constraints, and the key alternative tool. Nothing essential is missing for an agent to invoke it correctly.

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

Parameters5/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds significant extra semantics: no-args lists disputes, dispute_id alone reads the thread, image_urls should carry a packing shot, and split requires buyer_pct + seller_pct = 100. It also warns against converting images to base64, which is practical guidance not present in the schema.

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?

The description names a specific verb and resource: 'View and resolve disputes on orders the user is SELLING', and immediately scopes it as 'the SELLER side only'. It also distinguishes itself from the sibling firestarter_disputes by contrasting seller-side versus buyer-side disputes, so an agent can tell them apart without parsing schemas.

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

Usage Guidelines5/5

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

It explicitly says when to use this tool ('when a seller mentions a dispute, complaint, refund, chargeback, or return on something they sell') and when not to ('if the user is asking about something they BOUGHT... use firestarter_disputes instead'). It also gives clear call patterns: no args to list, dispute_id alone to read, and action plus parameters to act.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Analog-Labs/firestarter-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server