Firemark measures how often AI answers name a brand. These tools read a brand's published results, draft a prompt basket, start a first run and, where the person allowed it, edit a brand's setup.
Start with list_brands: brand_id and group ids come from it, run ids from get_runs.
Report counts with their base ("155 of 500 answers"), and pass on the sentences in `statement`, `claims` and each `line` as they are: they are the product's wording, decided by its rules. Do not compute changes or rankings the tools do not state.
With `group`, twelve read tools give one prompt group's figures: report each count with its base in the group ("41 of 160 answers in Clienteling") and pass on `context.group.lines`. Never set a group's figures beside the whole basket's as if one were part of the other.
With `branded: false` the same tools leave out the prompts that name the brand: call the base "unbranded answers" and pass on `context.unbranded.lines`.
get_gaps and get_source_gaps order their lists and say how in `order_line`: pass that on, with each row's `line`, and do not re-rank them or say why a gap moved. A gap is an answer that names a tracked competitor and not the brand; say how many engines and how many runs, never a percentage.
get_fanouts, fan_out on get_prompt and own_pages_came_back on get_sources are ChatGPT's only. Call ChatGPT's queries "fan-out queries" and say a page "came back" to an answer; pass on each `line` and `statement` as they are. came_back_not_named shows co-occurrence, not a cause.
get_changes is the one call for a weekly check of a brand: pass the run_id you last saw as since, and pass on its statement and each change's sentence. It lists only changes that passed the rules; say "no new run" when it does.
Digital PR placements (get_digital_pr): people list them in Setup, or you do with update_placements and only with links the person gives, never one you suggest or find. Report counts with their base ("cited in 12 of 450 answers"), and never call a cit
Discoverability
0/6 passed0 of 6 passed0/100
Client listings and public setup information.
mcp.json or server-card.json
Either mcp.json or an MCP Server Card declaring this endpoint passes.
No matching mcp.json manifest or MCP Server Card was found at the checked URLs.
Declared output schemas have a valid basic structure
4 output schema issue(s) found
How to fix: Fix the declared JSON Schema structure (for example, every required name must exist in properties). An outputSchema may describe any JSON value, including an array; returned structuredContent must match it at runtime.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description84/100
The brands you can read, across the accounts you are a member of, each with its account, its state (normal, first_run, failed, in_progress, no_run), its last and next run, how many prompts it tracks and its prompt groups. Call this first.
The description explains the capability, when to use it, and what to expect.
Inputs100/100
This tool declares no inputs, so argument descriptions are not needed.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description67/100
The headline of a brand's latest published run: answers naming the brand out of the answers collected, the statement lines, outcomes, counts by funnel stage and engine, and the claims the rules allow (movement, rank, an overtake, a short run). sentiment: of the answers naming the brand, how many were positive, neutral and negative, with that base, by stage and run by run. Shares come only on a base of 20 or more, and it states no rise or fall in sentiment. mention_order: how often the brand is mentioned first. With period: that period's latest run and its comparison with the previous period.
The description explains the capability, when to use it, and what to expect.
Inputs64/100
6 of 7 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
brand_id
The brand's id.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
group
A prompt group's id or name: its figures only. Default: all prompts.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
branded
false: leave out prompts naming the brand.
Explain what happens when this optional value is omitted.
period › range
Runs (latest, 4r, 12r) or days (30d, 90d, qtd: this quarter, 12m). Wins over from and to.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
period › from
YYYY-MM-DD, included.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
period › to
YYYY-MM-DD, included.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
period › compare
Not provided
Missing description. Explain what this value means and how to supply it.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description61/100
Each engine in the latest run: answers naming the brand out of its base, the share (only on a base of 20 or more), the 95% range, counts by funnel stage, outcomes and the engine's history by run. sentiment.by_engine: each engine's positive, neutral and negative counts of its answers naming the brand, with their base, sentence and run-by-run counts; an engine left out of the run's totals has none. mention_order: the brand's order of mention by engine and stage.
Describe the returned information so the agent knows whether it will answer the request.
Inputs64/100
6 of 7 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
brand_id
The brand's id.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
group
A prompt group's id or name: its figures only. Default: all prompts.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
branded
false: leave out prompts naming the brand.
Explain what happens when this optional value is omitted.
period › range
Runs (latest, 4r, 12r) or days (30d, 90d, qtd: this quarter, 12m). Wins over from and to.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
period › from
YYYY-MM-DD, included.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
period › to
YYYY-MM-DD, included.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
period › compare
Not provided
Missing description. Explain what this value means and how to supply it.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description74/100
Each tracked competitor against the brand in the latest run: answers naming it, by engine, head to head and rank, and its sentiment (or null with the reason, never zero). A competitor named in fewer than 10 answers has no figures, unless the brand itself is under 10. With competitor, that one in depth: its count and rank run by run, by funnel stage and by group, the head to head, the sites cited where it is named and the brand is not, and how often its own site is cited. mention_order: how often the brand and each competitor are mentioned first.
The description explains the capability, when to use it, and what to expect.
Inputs66/100
7 of 8 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
brand_id
The brand's id.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
group
A prompt group's id or name: its figures only. Default: all prompts.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
branded
false: leave out prompts naming the brand.
Explain what happens when this optional value is omitted.
period › range
Runs (latest, 4r, 12r) or days (30d, 90d, qtd: this quarter, 12m). Wins over from and to.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
period › from
YYYY-MM-DD, included.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
period › to
YYYY-MM-DD, included.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
period › compare
Not provided
Missing description. Explain what this value means and how to supply it.
competitor
One tracked competitor, by name (ignoring case) or id: its profile instead of the list.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description52/100
The sites the answers cite in the latest run, each split into answers that name the brand and answers that name a competitor and not the brand. site: one domain's cited pages ("Which YouTube videos do the answers cite?"). pages: the brand's own pages, with counts run by run and change labels, and own_pages_came_back (ChatGPT only). types: each site's type and the answers citing each type. engine: one engine's answers, on its own base. A run counted before pages were kept says so, not that nothing was cited.
Describe the returned information so the agent knows whether it will answer the request.
Inputs67/100
14 of 16 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
brand_id
The brand's id.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
group
A prompt group's id or name: its figures only. Default: all prompts.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
branded
false: leave out prompts naming the brand.
Explain what happens when this optional value is omitted.
period › range
Runs (latest, 4r, 12r) or days (30d, 90d, qtd: this quarter, 12m). Wins over from and to.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
period › from
YYYY-MM-DD, included.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
period › to
YYYY-MM-DD, included.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
period › compare
Not provided
Missing description. Explain what this value means and how to supply it.
engine
The engine scope; default the engines in the run's totals.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
sort
Default cites: most cited first.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
dir
Not provided
Missing description. Explain what this value means and how to supply it.
limit
Default 20, at most 100. Applies to the sites and, with pages, to the pages.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
pages
Add own_pages (the brand's own pages cited, most cited first) and own_pages_came_back (ChatGPT only). Default false.
Clear enough to supply this argument.
site
A domain, like youtube.com: add site_pages, that site's pages cited in the run (subdomains included), most cited first.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
types
Add type, subtype and type_source to each site, and the types block (answers citing each type). Default false; type implies it.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
type
Only the sites of this type (owned, competition, earned, social, other, or unsorted for those not yet sorted), before limit.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
change
Only the own pages with this label over the last comparable runs, including pages no longer cited. Implies pages: true.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description73/100
The brand's prompts with one verdict per engine for the latest run (named_linked, named, linked, absent, with the brand's sentiment where it is named), filtered and sorted as the Prompts screen does. Each row has names_brand: true when the prompt's wording names the brand, an alias or its website (a flag only; counts are unchanged). Snippets are off by default; with snippets: true at most 10 rows come back.
The description explains the capability, when to use it, and what to expect.
Inputs60/100
16 of 21 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
brand_id
The brand's id.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
group
A prompt group's id or name: its figures only. Default: all prompts.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
branded
false: leave out prompts naming the brand.
Explain what happens when this optional value is omitted.
engine
Limit the verdict filters to one engine key; default all.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
gap
not_named: no engine named the brand. lost: a competitor was named and the brand was not. changed: the verdict flipped against the previous run.
Clear enough to supply this argument.
stage
Not provided
Missing description. Explain what this value means and how to supply it.
verdict
Not provided
Missing description. Explain what this value means and how to supply it.
competitor
Competitor names: prompts where any of them is named.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
sentiment
Prompts with an answer naming the brand rated so, on engine when given, else on the engines in the run's totals (an engine left out for coverage does not count), e.g. ["negative"] to read the negative answers.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
q
Text search, or an exact prompt id.
Clear enough to supply this argument.
page
A page's full address: only prompts whose answers cite that exact page (no subdomains), on engine when given.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
sort
id, stage, hist, k, or an engine key.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
dir
Not provided
Missing description. Explain what this value means and how to supply it.
snippets
Not provided
Missing description. Explain what this value means and how to supply it.
cursor
From next_cursor.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
limit
Default 25, at most 50; at most 10 with snippets.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
period › range
Runs (latest, 4r, 12r) or days (30d, 90d, qtd: this quarter, 12m). Wins over from and to.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
period › from
YYYY-MM-DD, included.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
period › to
YYYY-MM-DD, included.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
period › compare
Not provided
Missing description. Explain what this value means and how to supply it.
order
first: prompts where an engine named the brand first; not_first: named, not first. Any value adds order (the brand's place among the names counted) to each verdict.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description62/100
One prompt with each engine's verdict in the latest run: named, linked, position, sentiment, competitors named, recent history, its groups, a snippet and windows around each name (at most 10), names_brand, and cited_urls (at most 50; cited_urls_total counts all). For ChatGPT, fan_out: its fan-out queries in the latest run (always the latest), the pages that came back, the brand's own among them and whether a similar query came up before.
The description explains the capability, when to use it, and what to expect.
Inputs63/100
Clarify units, where to obtain this value, or conventions not already expressed in the schema.
brand_id
The brand's id.
Clarify units, where to obtain this value, or conventions not already expressed in the schema.
prompt_id
The prompt's id, like P012.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
Shorten the title to an action and subject; move usage details into the description.
Description86/100
One engine's answer to one prompt, word for word, in the latest run (or the run given): text (cut at 12,000 characters; truncated and total_chars say so), its sources, the model, matches (where the brand and each competitor are named) and the verdict. Call it for a question about one answer's exact wording: one prompt and engine per call, at most 100 calls a minute. An answer no longer kept (13 months) or never given refuses no_answers.
The description explains the capability, when to use it, and what to expect.
Inputs79/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
brand_id
The brand's id.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
prompt_id
The prompt's id, like P012.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
engine
The engine whose answer to read.
Clear enough to supply this argument.
run
A published run's run_id. Default: the latest.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
group
A prompt group's id or name: its figures only. Default: all prompts.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
branded
false: leave out prompts naming the brand.
Explain what happens when this optional value is omitted.
Annotations100/100
All four behavior hints are declared.
{
"title": "One answer, word for word",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
Output schema66/100
Describe the returned fields so an agent can interpret the result.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description74/100
The brand's run log, newest first: each run's date, number, status, coverage by engine, answers collected, engines left out, recount and fill-in marks, and each engine's model (the most common, with its count); model_changes lists runs where an engine's model changed (marked, never a break in comparisons); and the next scheduled run. With group, each published run adds in_group; its other figures stay the whole basket's.
The description explains the capability, when to use it, and what to expect.
Inputs75/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
brand_id
The brand's id.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
group
A prompt group's id or name: its figures only. Default: all prompts.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
branded
false: leave out prompts naming the brand.
Explain what happens when this optional value is omitted.
limit
Default 20, at most 100.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description74/100
Where the brand loses, ordered for action. kind missing: a competitor named and the brand not ("Where does Tulip get named instead of us?"). engine_split: some engines name the brand, others do not ("Why does ChatGPT mention us when Perplexity doesn't?"). unlinked: named without a link where a named competitor is linked ("Where are we mentioned but a competitor gets the link?"). changes: gaps opened or closed over the latest three runs. The order is stated in order_line.
The description explains the capability, when to use it, and what to expect.
Inputs65/100
13 of 15 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
brand_id
The brand's id.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
kind
missing: a competitor named and the brand not. engine_split: some engines name the brand, others do not. unlinked: the brand named without a link where a competitor named in the same answer is linked. changes: the gaps (missing's) that opened or closed over the latest three runs.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
engine
The engine scope; default every engine of the run. For engine_split, the engine on the side that does not name the brand.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
stage
Not provided
Missing description. Explain what this value means and how to supply it.
group
A prompt group's id or name: its figures only. Default: all prompts.
Explain what happens when this optional value is omitted.
branded
false: leave out prompts naming the brand.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
competitor
One tracked competitor's name, ignoring case: a head to head against it (with missing, adds head_to_head).
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
run
A published run's run_id. Default: the latest.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
runs
How many runs persistence covers, the selected one included. Default 3 (with period, its runs, at most 12). Not used by kind changes, which reads the latest three.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
period › range
Runs (latest, 4r, 12r) or days (30d, 90d, qtd: this quarter, 12m). Wins over from and to.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
period › from
YYYY-MM-DD, included.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
period › to
YYYY-MM-DD, included.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
period › compare
Not provided
Missing description. Explain what this value means and how to supply it.
cursor
From next_cursor.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
limit
Default 25, at most 50.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description74/100
The sites AI answers cite when a competitor is named and the brand is not, most gap answers first: each with its gap answers, prompts, the competitors named, how many answers naming the brand also cite it (0: only where the brand loses), how many of the last runs it was cited in, and its most cited pages (at most 5). The order is stated in order_line.
The description explains the capability, when to use it, and what to expect.
Inputs64/100
12 of 14 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
brand_id
The brand's id.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
engine
The engine scope; default every engine of the run.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
stage
Not provided
Missing description. Explain what this value means and how to supply it.
group
A prompt group's id or name: its figures only. Default: all prompts.
Explain what happens when this optional value is omitted.
branded
false: leave out prompts naming the brand.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
competitor
Gap answers naming this tracked competitor only.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
run
A published run's run_id. Default: the latest.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
runs
How many runs persistence covers, the selected one included. Default 3 (with period, its runs, at most 12).
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
period › range
Runs (latest, 4r, 12r) or days (30d, 90d, qtd: this quarter, 12m). Wins over from and to.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
period › from
YYYY-MM-DD, included.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
period › to
YYYY-MM-DD, included.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
period › compare
Not provided
Missing description. Explain what this value means and how to supply it.
cursor
From next_cursor.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
limit
Default 20, at most 100.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description67/100
ChatGPT's fan-out queries (the queries it runs before answering) and whether the brand's own pages came back, over the last runs. ChatGPT only. kind no_own_page: prompts where none came back, with persistence, stage, competitors and queries, and cooccurrence per stage. kind themes: fan-out themes followed from run to run. Themes group similar fan-out queries (sharing at least half their words). kind prompt: one prompt's queries run by run. kind came_back_not_named: answers where a page came back and the brand was not named; seen together, not a cause. Another site's page is never returned.
Describe the returned information so the agent knows whether it will answer the request.
Inputs70/100
9 of 10 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
brand_id
The brand's id.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
kind
no_own_page: prompts where none of the brand's pages came back. themes: fan-out themes and their continuity. prompt: one prompt's fan-out queries, run by run. came_back_not_named: answers where a page came back and the answer did not name the brand.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
prompt_id
The prompt's id, like P012. Required with kind prompt.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
stage
Not provided
Missing description. Explain what this value means and how to supply it.
group
A prompt group's id or name: its figures only. Default: all prompts.
Explain what happens when this optional value is omitted.
branded
false: leave out prompts naming the brand.
Clear enough to supply this argument.
run
A published run's run_id: the window ends at it. Default: the latest.
Clear enough to supply this argument.
runs
How many runs with ChatGPT the window covers, the selected one included. Default 4.
Explain the meaning of this value, not just its name.
cursor
From next_cursor.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
limit
Default 25, at most 50.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description91/100
What changed for a brand that passed the product's rules, in one digest: the claims the change email sends (movement, rank, overtakes, Doubled or Halved engines), gap changes, own-page labels and the latest sentiment counts, each with its sentence, and which runs are compared and how many days apart. since: the run_id last seen; with no newer run it says so. Call it for a weekly check of a brand.
The description explains the capability, when to use it, and what to expect.
Inputs75/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
brand_id
The brand's id.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
since
The run_id last seen (run.id in the previous result). Default: the change email's base (last emailed run, else the previous).
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
group
A prompt group's id or name: its figures only. Default: all prompts.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
branded
false: leave out prompts naming the brand.
Explain what happens when this optional value is omitted.
engine
The engine scope of gaps, pages and sentiment; claims keep only its engine flag.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
Annotations100/100
All four behavior hints are declared.
{
"title": "Changes since a run",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}
Output schema61/100
Describe the returned fields so an agent can interpret the result.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description90/100
What changed in Firemark (product news, not a brand's results), newest first: each change with its date, kind (new, improved or fixed), the areas of the product it touches, a title, a one-sentence summary and a link to its page. Takes no brand. Filter with since (YYYY-MM-DD), area or kind.
The description explains the capability, when to use it, and what to expect.
Inputs75/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
since
Only changes shipped on or after this date, YYYY-MM-DD.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
area
Only changes that touch this area of the product.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
kind
new, improved or fixed.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
limit
Default 10, at most 50.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description81/100
A link to download one of a brand's CSV files, the ones the app's Export buttons give: all (every answer of the latest run), prompts, engines, competitors, sources, pages (own pages, run by run), gaps, digital_pr (the Digital PR placements), or run (one published run's answers, with run_id); with branded: false, without the prompts that name the brand; with period, the file of that period's latest run. It works for 15 minutes for whoever holds it.
The description explains the capability, when to use it, and what to expect.
Inputs69/100
8 of 9 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
brand_id
The brand's id.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
export
Which file.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
run_id
For run: a published run's run_id.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
group
A prompt group's id or name: that group's file. Not used by run.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
branded
false: leave out prompts naming the brand.
Explain what happens when this optional value is omitted.
period › range
Runs (latest, 4r, 12r) or days (30d, 90d, qtd: this quarter, 12m). Wins over from and to.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
period › from
YYYY-MM-DD, included.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
period › to
YYYY-MM-DD, included.
Clear enough to supply this argument.
period › compare
Not provided
Missing description. Explain what this value means and how to supply it.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description62/100
The brand's Digital PR placements (articles on other sites that feature it, listed in Setup) in the latest run or the run given: answers citing any placement of the base, the comparison where the rules allow, and per placement its answers, engines, prompts, last four runs and line. A placement is counted only when an answer cites that exact article, on its own, not as a link.
Describe the returned information so the agent knows whether it will answer the request.
Inputs65/100
9 of 10 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
brand_id
The brand's id.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
run
A published run's run_id. Default: the latest.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
group
A prompt group's id or name: its figures only. Default: all prompts.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
branded
false: leave out prompts naming the brand.
Explain what happens when this optional value is omitted.
period › range
Runs (latest, 4r, 12r) or days (30d, 90d, qtd: this quarter, 12m). Wins over from and to.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
period › from
YYYY-MM-DD, included.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
period › to
YYYY-MM-DD, included.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
period › compare
Not provided
Missing description. Explain what this value means and how to supply it.
cursor
From next_cursor.
Explain the meaning of this value, not just its name.
limit
Default 50, at most 100.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description94/100
Starts the five-step interview that ends in a draft prompt basket, or resumes the open one. With no arguments it finds the account's open interview. The result says what to ask next (`next`). Nothing is run.
The description explains the capability, when to use it, and what to expect.
Inputs63/100
Clarify units, where to obtain this value, or conventions not already expressed in the schema.
interview_id
Resume this interview.
Clarify units, where to obtain this value, or conventions not already expressed in the schema.
new
Start a new interview even if one is open.
Clear enough to supply this argument.
brand_id
Build a basket for an existing brand that has none.
Clarify units, where to obtain this value, or conventions not already expressed in the schema.
account_id
Needed only when you are a member of several accounts: which one the new brand is for.
Clarify units, where to obtain this value, or conventions not already expressed in the schema.
Annotations100/100
All four behavior hints are declared.
{
"title": "Start or resume the interview",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}
Output schema0/100
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "interview_start",
"title": "Start or resume the interview",
"description": "Starts the five-step interview that ends in a draft prompt basket, or resumes the open one. With no arguments it finds the account's open interview. The result says what to ask next (`next`). Nothing is run.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"new": {
"type": "boolean",
"description": "Start a new interview even if one is open."
},
"brand_id": {
"type": "string",
"maxLength": 128,
"description": "Build a basket for an existing brand that has none."
},
"account_id": {
"type": "string",
"maxLength": 128,
"description": "Needed only when you are a member of several accounts: which one the new brand is for."
},
"interview_id": {
"type": "string",
"maxLength": 60,
"description": "Resume this interview."
}
}
},
"annotations": {
"title": "Start or resume the interview",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description71/100
Stores the person's answers to one step (brand, competitors, buyer_types, offering, review) and returns the next. It takes the fields `next.fields` lists and the `revision` last received. The review step takes edits (remove, edit, add), group_edits to keep, rename, drop or make prompt groups, and accept: true when the person is happy with the list.
Describe the returned information so the agent knows whether it will answer the request.
Inputs38/100
2 of 4 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
interview_id
Not provided
Missing description. Explain what this value means and how to supply it.
step
Not provided
Missing description. Explain what this value means and how to supply it.
answers
The step's fields.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
revision
The revision the answers are based on.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
The title clearly communicates the tool’s action and subject. Keep it concise.
Description34/100
The prompts suggested for the interview, each with its funnel stage, buyer type, flags (names_brand, names_competitor) and prompt groups, and the basket's groups. While they are being written the status is `generating`: call again in a few seconds.
Resolve contradictions between the description, input schema, and annotations.
Inputs19/100
1 of 4 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
interview_id
Not provided
Missing description. Explain what this value means and how to supply it.
stage
Not provided
Missing description. Explain what this value means and how to supply it.
cursor
Not provided
Missing description. Explain what this value means and how to supply it.
limit
Default 50.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "interview_get_basket",
"title": "Read the proposed basket",
"description": "The prompts suggested for the interview, each with its funnel stage, buyer type, flags (names_brand, names_competitor) and prompt groups, and the basket's groups. While they are being written the status is `generating`: call again in a few seconds.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"interview_id"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Default 50."
},
"stage": {
"enum": [
"tofu",
"mofu",
"bofu"
],
"type": "string"
},
"cursor": {
"type": "string",
"maxLength": 20
},
"interview_id": {
"type": "string",
"maxLength": 60
}
}
},
"annotations": {
"title": "Read the proposed basket",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description88/100
Saves the finished interview as a draft and returns the link where a member of the account confirms it in the app. Needs all five steps done. The draft tracks nothing, runs nothing and costs nothing until it is confirmed there.
Describe the returned information so the agent knows whether it will answer the request.
Inputs0/100
0 of 2 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
interview_id
Not provided
Missing description. Explain what this value means and how to supply it.
revision
Not provided
Missing description. Explain what this value means and how to supply it.
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "interview_save_draft",
"title": "Save the draft",
"description": "Saves the finished interview as a draft and returns the link where a member of the account confirms it in the app. Needs all five steps done. The draft tracks nothing, runs nothing and costs nothing until it is confirmed there.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"interview_id",
"revision"
],
"properties": {
"revision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"interview_id": {
"type": "string",
"maxLength": 60
}
}
},
"annotations": {
"title": "Save the draft",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}
}
The title clearly communicates the tool’s action and subject. Keep it concise.
Description98/100
For a brand that is already running: proposes prompts to add or remove (a prompt to add may name a group by id) and competitors to add or remove. It writes a proposal and returns the link to review it; it never changes the brand. A member of the account approves or discards it in the app. A new proposal for the same brand replaces the earlier one.
Describe the returned information so the agent knows whether it will answer the request.
Inputs27/100
4 of 11 inputs have descriptions. Add descriptions to the missing inputs, including where to obtain IDs and how to supply values.
brand_id
The brand's id.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
add_prompts › items › text
Not provided
Missing description. Explain what this value means and how to supply it.
add_prompts › items › stage
Not provided
Missing description. Explain what this value means and how to supply it.
add_prompts › items › persona
Not provided
Missing description. Explain what this value means and how to supply it.
add_prompts › items › category
Not provided
Missing description. Explain what this value means and how to supply it.
add_prompts › items › group
A prompt group's id. Left out: no group.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
remove_prompts
Prompt ids, like P012.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
add_competitors › items › name
Not provided
Missing description. Explain what this value means and how to supply it.
add_competitors › items › website
Not provided
Missing description. Explain what this value means and how to supply it.
add_competitors › items › aliases
Not provided
Missing description. Explain what this value means and how to supply it.
remove_competitors
Competitor names.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
Annotations100/100
All four behavior hints are declared.
{
"title": "Propose changes to a brand",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}
Output schema0/100
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "propose_changes",
"title": "Propose changes to a brand",
"description": "For a brand that is already running: proposes prompts to add or remove (a prompt to add may name a group by id) and competitors to add or remove. It writes a proposal and returns the link to review it; it never changes the brand. A member of the account approves or discards it in the app. A new proposal for the same brand replaces the earlier one.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"brand_id"
],
"properties": {
"brand_id": {
"type": "string",
"maxLength": 128,
"minLength": 1,
"description": "The brand's id."
},
"add_prompts": {
"type": "array",
"items": {
"type": "object",
"required": [
"text",
"stage"
],
"properties": {
"text": {
"type": "string",
"maxLength": 500
},
"group": {
"type": "string",
"maxLength": 80,
"description": "A prompt group's id. Left out: no group."
},
"stage": {
"enum": [
"tofu",
"mofu",
"bofu"
],
"type": "string"
},
"persona": {
"type": "string",
"maxLength": 120
},
"category": {
"type": "string",
"maxLength": 120
}
}
},
"maxItems": 200,
"description": "Each needs its wording (500 characters at most) and a funnel stage."
},
"remove_prompts": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40
},
"maxItems": 500,
"description": "Prompt ids, like P012."
},
"add_competitors": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"website"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200
},
"aliases": {
"type": "array",
"items": {
"type": "string",
"maxLength": 120
}
},
"website": {
"type": "string",
"maxLength": 300
}
}
},
"maxItems": 10,
"description": "Each needs its website."
},
"remove_competitors": {
"type": "array",
"items": {
"type": "string",
"maxLength": 120
},
"maxItems": 10,
"description": "Competitor names."
}
}
},
"annotations": {
"title": "Propose changes to a brand",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}
}
Shorten the title to an action and subject; move usage details into the description.
Description97/100
Starts a brand's first run once its basket is confirmed, or runs the brand once more when its latest run failed; after two failed runs in a row it refuses. Nothing else: a brand that has run follows its schedule, and no extra run starts from here. The account's plan is checked as in the app (a free account gets its free run and one retry if it fails), and a brand with a run in progress is refused. Returns the run id, how long it usually takes and what comes next.
The description explains the capability, when to use it, and what to expect.
Inputs50/100
Clarify units, where to obtain this value, or conventions not already expressed in the schema.
brand_id
The brand's id.
Clarify units, where to obtain this value, or conventions not already expressed in the schema.
Annotations100/100
All four behavior hints are declared.
{
"title": "Start a first run or retry a failed run",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}
Output schema0/100
No output schema is declared. Add one for structured results so clients can interpret returned fields.
Not declared
Original tool metadata
{
"name": "start_run",
"title": "Start a first run or retry a failed run",
"description": "Starts a brand's first run once its basket is confirmed, or runs the brand once more when its latest run failed; after two failed runs in a row it refuses. Nothing else: a brand that has run follows its schedule, and no extra run starts from here. The account's plan is checked as in the app (a free account gets its free run and one retry if it fails), and a brand with a run in progress is refused. Returns the run id, how long it usually takes and what comes next.",
"inputSchema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"brand_id"
],
"properties": {
"brand_id": {
"type": "string",
"maxLength": 128,
"minLength": 1,
"description": "The brand's id."
}
}
},
"annotations": {
"title": "Start a first run or retry a failed run",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}
}
Loading score analytics…
Put your MCP to the test
A few tasks worth trying with this server, chosen from its reviewed tools. These have not been run.
01What's newWhat changed in Firemark (product news, not a brand's results), newest first: each change with its date, kind (new, improved or fixed), the areas of the prod…
02List brandsThe brands you can read, across the accounts you are a member of, each with its account, its state (normal, first_run, failed, in_progress, no_run), its last…
03Get runsThe brand's run log, newest first: each run's date, number, status, coverage by engine, answers collected, engines left out, recount and fill-in marks, and e…
04OverviewThe headline of a brand's latest published run: answers naming the brand out of the answers collected, the statement lines, outcomes, counts by funnel stage…
05Get competitorsEach tracked competitor against the brand in the latest run: answers naming it, by engine, head to head and rank, and its sentiment (or null with the reason,…
Want to run these tasks against your MCP server with us?
Firemark setup, tools, quality score, publishing readiness, and alternatives.
How do I add Firemark to Claude, ChatGPT, or Cursor?
Add Firemark to Claude, ChatGPT, or Cursor by connecting its remote MCP URL in each client's MCP settings. In Claude, add a custom connector. In ChatGPT, add an MCP app. In Cursor, add an MCP server under Settings. The MCP URL is https://app.tryfiremark.com/mcp.
Is Firemark MCP ready for ChatGPT and Claude?
As of November 10, 2026, Firemark scores 90/100 on Manufact's MCP publishing checklist. The scan does not yet meet ChatGPT publishing checks and does not yet meet Claude publishing checks. Passing these checks does not guarantee marketplace approval.
How clear is Firemark's MCP tool documentation?
As of November 10, 2026, Firemark scores 74/100 in Manufact's review of tool titles, descriptions, input and output schemas, and behavior annotations. The review covers 22 of 22 discovered tools. The quality score measures documentation clarity; runtime behavior and marketplace readiness require separate checks.
What are the best alternatives to Firemark?
As of November 10, 2026, alternatives to Firemark in marketing-seo on the Manufact MCP leaderboard include Refluenced, The Prompting Company MCP, Buzzfy, Indexing Dispatch, and Brave URL Submitter.
How can Firemark improve its MCP documentation?
interview_get_basket is the lowest-scoring reviewed tool at 47/100. No output schema is declared. Add one for structured results so clients can interpret returned fields. Open its review for feedback and a copyable fix prompt, then rerun the documentation review after updating your tool metadata.
Not your MCP?
Review any public or OAuth MCP server for protocol compatibility, tool documentation, and ChatGPT and Claude publishing readiness. No account required.