Skip to main content
Glama

devtune_get_content_gap_evidence

Read-onlyIdempotent

Get the tracked prompts and cited pages behind one content gap from devtune_get_content_gaps. Pass its gapType and targetKey with the same windowDays. Evidence is published with the gap, so it covers the same fixed window and asOfDate. A source gap matches its URL, a brand gap the pages cited on its domain, and a topic gap every page cited in answers recorded under the topic. Each row groups one prompt, recorded topic, cited URL, recorded domain and sourceType, with its citation count and platforms. The same prompt and URL can appear in several rows when their recorded topic, domain or classification differs; pagination counts those groups, ordered by the prompt's citations of the gap. Counts are the gap's own citations split by the tracked prompt that produced them; attribution.attributedCitations falls short of the gap's citationCount only by citations no tracked prompt produced. Prompt text and topic names are current; promptStatus says whether the prompt is still tracked. Coverage is unavailable until the window is measured and its evidence published; a window publishes none when it includes days measured before evidence was recorded, holds more evidence than one publish includes, or had its gaps last recalculated from current topic and competitor settings rather than from the recorded citations. Pass pagination.nextCursor as cursor on later pages: it carries coverage.snapshotId, and a republished window returns snapshot_changed instead of mixing windows. A gap that is no longer in the window returns not_found.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "gapType": "<gapType>",
      "targetKey": "<targetKey>"
    },
    "name": "devtune_get_content_gap_evidence"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoResults per page (1-100). Defaults to 25.
cursorNopagination.nextCursor from the previous page, unchanged. Keep the other arguments the same; omit it for the first page.
offsetNoDeprecated: pass cursor instead. Zero-based result offset.
gapTypeYesgapType of the listed content gap.
pageSizeNoThe same setting as limit. Send either.
targetKeyYestargetKey of the listed content gap, exactly as listed.
snapshotIdNoDeprecated: cursor carries the snapshot. coverage.snapshotId from the first page; refuses with snapshot_changed if the window was republished since.
windowDaysNoRolling window in days: 30 or 90. Defaults to 30.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / cursor
      Added value: +{
      +  "description": "pagination.nextCursor from the previous page, unchanged. Keep the other arguments the same; omit it for the first page.",
      +  "maxLength": 1024,
      +  "type": "string"
      +}
    • changedInput schema / properties / offset / description
      Previous value: -"Zero-based result offset. Defaults to 0."New value: +"Deprecated: pass cursor instead. Zero-based result offset."
    • addedInput schema / properties / pageSize
      Added value: +{
      +  "$ref": "#/properties/limit",
      +  "description": "The same setting as limit. Send either."
      +}
    • changedInput schema / properties / snapshotId / description
      Previous value: -"coverage.snapshotId from the first page. Refuses with snapshot_changed if the window was republished since."New value: +"Deprecated: cursor carries the snapshot. coverage.snapshotId from the first page; refuses with snapshot_changed if the window was republished since."
  2. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover read-only, idempotent, non-destructive, closed-world. The description goes well beyond them: fixed window/asOfDate semantics, row grouping and intentional duplicates, pagination counting groups and ordering, attribution math (attributedCitations vs citationCount), promptStatus currency, the three coverage-unavailability conditions, cursor snapshot semantics with snapshot_changed and not_found errors.

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 and required inputs are front-loaded, then return shape, then pagination/error semantics in logical order. It is long and dense, but nearly every sentence carries operational information; only the coverage-unavailability sentence is heavy relative to its frequency of use.

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?

With 8 parameters and no output schema, the description compensates by describing the row fields (prompt, topic, cited URL, domain, sourceType, citation count, platforms), duplicate-row behavior, pagination boundaries, coverage gating, and both error modes. An agent has what it needs to call and interpret results correctly.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3; the description adds genuine meaning by tying gapType/targetKey to the get_content_gaps output and requiring a matching windowDays, and by explaining that the cursor carries coverage.snapshotId. It does not restate limit/offset details, which is fine given 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?

Opens with a specific verb and resource: 'Get the tracked prompts and cited pages behind one content gap,' and names the sibling devtune_get_content_gaps as the source of the gap. An agent can distinguish this from the sibling and from list_prompts without opening a schema.

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?

States concretely that gapType and targetKey come from devtune_get_content_gaps and must be paired with the same windowDays, and explains how source/brand/topic gaps each resolve. It stops short of explicit when-not-use guidance, but the prerequisite linkage is unusually clear.

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.

Resources