SparkAds
Server Details
Manage your SparkAds slot: your stats, the free-hour grid, network totals, and your own creative.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
Each tool targets a clearly distinct resource: own stats, network pulse, held slot, free slots, and creative editing. Even where review status appears in get_my_stats and get_slot, the scopes are different enough that an agent should not misselect.
All tools use a consistent snake_case verb_noun pattern (get_, list_, update_). Read operations use get/list while the single write operation is clearly marked update_, making the convention predictable.
Five tools is a well-scoped size for this focused advertiser utility. Each tool covers a distinct need without redundancy, and the number is comfortably in the ideal 3-15 range.
The set covers monitoring and editing existing creatives, but it lacks core lifecycle actions: claiming/purchasing a slot is explicitly left to the website, and there is no create_creative or subscription management. An agent asked to start or run a campaign will hit dead ends.
Available Tools
5 toolsget_my_statsAInspect
Get this advertiser's own ad performance for the last 30 days: impressions and clicks split by day, by app in the Spark network, and by traffic source, plus every creative they own with its review status. Read-only. Scoped to the API key holder; it cannot report on anyone else.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It explicitly says 'Read-only,' defines the scoping boundary, and lists the returned data dimensions. Minor omissions like pagination for 'every creative' or rate-limit behavior prevent a perfect score.
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 with no filler. It front-loads the action and data scope, then adds the critical scoping/read-only caveat. Every clause contributes information.
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?
There is no output schema, so the description compensates by enumerating the key result groupings and including the read-only, self-scoping constraint. It is near-complete for a zero-parameter read-only endpoint, though details like pagination or exact review-status values are left out.
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 zero parameters, and the description adds meaning by clarifying that the call is implicitly scoped to the API key holder and requires no explicit inputs. This is useful context beyond the empty schema, though it stops short of explicitly stating 'no parameters needed.'
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 ('Get') and resource: the advertiser's own 30-day ad performance, including impressions, clicks, breakdowns, and creative review status. It also explicitly distinguishes this tool from reporting on anyone else, which separates it from network or slot-focused siblings.
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 clearly states the tool is scoped to the API key holder and cannot report on anyone else, which strongly implies when to use it: for the caller's own stats. It does not explicitly name alternatives or exclusion conditions, but the context is clear enough for an agent to route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_network_pulseAInspect
Get the whole network's last 24 hours: total impressions, total clicks, how many apps showed the carousel, and how many of the 24 hourly slots are taken. This is the public inventory figure, the same one the SparkAds landing page prints, not this advertiser's own numbers. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It explicitly states 'Read-only' and clarifies that the data is the public inventory figure shown on the SparkAds landing page, signaling safety and public scope. It does not detail auth or rate limits, but this is a zero-parameter read-only tool, so the disclosed behavior 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?
Two tightly written sentences with no filler. The first sentence sets the operation and lists the outputs, and the second clarifies scope and read-only semantics. Every phrase adds value.
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 parameterless read-only tool with no output schema, the description fully covers the needed context: time window, metrics returned, public vs. advertiser scope, and safety. Nothing an agent needs to select and invoke this tool 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?
The tool has zero parameters secret, so the schema is vacuously fully described. The description appropriately does not waste space on parameter details, and the baseline of 4 applies for parameterless tools.
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 operation ('Get the whole network's last 24 hours') and enumerates the exact metrics returned. It also distinguishes itself from advertiser-specific stats by stating it is the public network figure, not the advertiser's own numbers, making it clearly separable from siblings like get_my_stats.
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 makes the use case clear: retrieving public network-wide inventory metrics for the last 24 hours. It implicitly tells the agent not to use this when advertiser-specific numbers are needed, but it does not explicitly name an alternative tool or provide when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_slotAInspect
Get the hour this advertiser holds: the UTC hour, the same hour on their target country's clock, the country itself, and the card that runs in it with its review status. Also reports whether the ad is actually live right now, which needs all three of a held hour, an approved card and a paying subscription. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It explicitly states 'Read-only' and discloses the condition for the live status (held hour, approved card, paying subscription). This explains the tool's output semantics without hiding side effects, as it is a pure read operation.
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 primary purpose and followed by the live-status condition. Every sentence contributes value—no redundant phrasing or filler. It is compact and immediately readable.
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 no-parameter read tool without an output schema, the description fully covers what the agent needs: it lists all returned fields (UTC hour, local hour, country, card, review status) and explains the live status logic. No essential detail 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 input schema has zero parameters, so schema coverage is trivially 100%. Per calibration, the baseline for 0 parameters is 4. The description doesn't need to add parameter meaning since none exist, and it appropriately focuses on output details.
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 ('Get') and resource (the hour the advertiser holds), and enumerates exactly what is returned: UTC hour, local hour, country, card, review status, and live status. This clearly distinguishes it from siblings like list_free_slots or get_my_stats, which serve different purposes.
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 implies when to use it: when you need details about the advertiser's held slot. It does not explicitly mention alternatives or exclusions, but the context is clear—this is a read-only query for the current slot. Sibling names suggest different functions, so no ambiguity remains.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_free_slotsAInspect
List the UTC hours nobody has claimed yet, out of the 24 the network sells. Pass a country to also get each free hour on that country's clock and the best five ranked by local evening attention. Supported countries: GB, IE, PT, FR, DE, ES, IT, NL, BE, SE, NO, DK, PL, CH, AT, NG, FI, GR, RO, UA, EG, ZA, IL, SA, TR, RU, KE, AE, PK, IN, BD, TH, VN, ID, CN, SG, MY, PH, HK, TW, AU, JP, KR, NZ, BR, AR, US, CA, PE, CO, MX. Read-only; claiming an hour still happens on the website.
| Name | Required | Description | Default |
|---|---|---|---|
| country | No | ISO-3166 alpha-2 country code, e.g. GB or US. Adds local times and peak suggestions. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It explicitly states 'Read-only; claiming an hour still happens on the website,' which clearly signals that this call cannot mutate state or reserve an hour. It also explains the country parameter's effect.
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 core behavior is front-loaded in the first sentence, and optional behavior plus the read-only note each get their own short sentence. The long supported-countries list is justified because the schema has no enum, so listing valid values is genuinely useful.
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 simple read-only tool with one optional parameter and no output schema, the description covers the result contents, the effect of the parameter, valid country codes, and the non-mutating nature. Some output shape details are left unspecified, but nothing that would prevent correct invocation.
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 already has 100% coverage for the single country parameter, so the baseline is 3. The description adds meaningful detail beyond the schema by specifying that the country yields 'each free hour on that country's clock and the best five ranked by local evening attention,' clarifying what 'peak suggestions' means.
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 specific verb ('List') and a clear resource ('UTC hours nobody has claimed yet, out of the 24 the network sells'). This precisely identifies what the tool returns and distinguishes it from siblings like get_slot or update_creative.
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 clearly states when to use the tool: whenever free UTC slots are needed, with an optional country to get local times and ranked peaks. It does not explicitly mention alternatives or when not to use it, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_creativeAInspect
Edit this advertiser's ad card. Pass only the fields to change; anything omitted keeps its current value. WRITE TOOL, and it costs something: saving resets the card's status to 'pending', so the ad STOPS running until a person approves it again. Say that to the user and get their agreement before calling this. Caps: name 40 characters, tagline 60, one-sentence body 160, url must be https, domain must be a bare hostname like myapp.com. House style: plain words, no exclamation marks, and the sentence says what the product does rather than why it is good.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Where the card links to. Must be https. | |
| body | No | One sentence saying what the product does. | |
| name | No | The app name shown on the card. | |
| domain | No | Bare hostname, e.g. myapp.com. The card takes its logo and colour from here. | |
| tagline | No | Four or five words, sits under the name. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It explicitly states 'WRITE TOOL' and discloses the major side effect: 'saving resets the card's status to pending, so the ad STOPS running until a person approves it again.' It also mentions character caps and style constraints. This is excellent transparency for a mutating tool.
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 moderately long but every sentence earns its place. It front-loads the core purpose and partial-update behavior, then the cost warning and user-agreement requirement, then caps and style. The structure is logical and scannable, though it could be tightened slightly without losing information.
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 write tool with no annotations and no output schema, the description covers all essential contexts: what it edits, how to use it (partial updates), the side effect and user consent requirement, field caps, and style guidance. An agent has everything needed to invoke it correctly and safely. Nothing critical 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 description coverage is 100%, so each parameter is already documented. The description adds extra semantic nuance: 'url must be https', 'domain must be a bare hostname like myapp.com', and house style rules ('plain words, no exclamation marks', 'says what the product does'). These go beyond the schema's basic descriptions, adding real value for the agent on how to formulate parameter values.
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 'Edit this advertiser's ad card', a specific verb and resource. It clearly distinguishes from the sibling tools, which are all read-only getters (get_my_stats, get_network_pulse, get_slot, list_free_slots). No ambiguity about what the tool does.
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?
Provides explicit usage guidance: 'Pass only the fields to change; anything omitted keeps its current value' tells the agent how to perform partial updates. It also instructs the agent to get user agreement before calling ('Say that to the user and get their agreement before calling this'). While it doesn't name alternatives, the siblings are all reads, so no alternative is needed.
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.
5 tool updates
- First observed
get_my_stats - First observed
get_network_pulse - First observed
get_slot - First observed
list_free_slots - First observed
update_creative
Related MCP Connectors
Operate the AdCritter ads platform: campaigns, creatives, audiences, and reporting.
Free MCP window into a live autonomous machine-economy experiment: telemetry, hypothesis scoreboard.
Manage Adaptika brands, campaigns, templates, assets, and AI-generated creatives.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables managing Sponsored Code ad campaigns, viewing analytics, and controlling campaign status directly from chat.3 npm-

pagerankcafe-mcpofficial
AlicenseAqualityAmaintenanceMCP server for PageRankCafe, the marketing platform for AI agents. Create and post link, banner, YouTube, and press-release ads, read placement performance and referral stats, and query platform insights.1978 npmMIT- AlicenseAqualityDmaintenanceMCP server for Kickbacks.ai that pays developers ad revenue from AI coding agent spinners. Provides tools to check balance, earnings, status, ad history, and toggle ads.65MIT
- AlicenseNot gradedqualityAmaintenanceManage ad campaigns across Meta, Google, and TikTok, create campaigns, analyze performance, spy on competitors, and generate AI creatives.13MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.