Skip to main content
Glama
nyku

Competiflow MCP Server

by nyku

List changes

list_changes
Read-only

Retrieve detected competitor changes in a workspace, newest first, and filter by severity, monitor type, competitor, or review status to triage updates and page through inbox totals.

Instructions

List detected competitor changes in a workspace, newest first, with summary, severity, why_it_matters, monitor_type, and review_status. meta.counts gives inbox totals; page with after set to next_cursor. For a summarized period, use get_digest; for evidence on one change, use get_change.

Input Schema

NameRequiredDescriptionDefault
afterNonext_cursor from the previous page
limitNoPage size, 1-100 (default 25)
sinceNoISO 8601 timestamp, or a relative window: 1d, 7d, 30d
min_severityNoLowest severity to include
monitor_typeNoKind of page: homepage, blog, docs, changelog, or pricing
workspace_idYesWorkspace id from list_workspaces or create_workspace
competitor_idNoOnly this competitor's changes
review_statusNounreviewed (in the inbox), acknowledged (seen and relevant), or dismissed (noise)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changedv0.1.1
    • removedInput schema / properties / after / $ref
      Removed value: -"#/properties/competitor_id"
    • changedInput schema / properties / after / description
      Previous value: -"Cursor from next_cursor"New value: +"next_cursor from the previous page"
    • addedInput schema / properties / after / type
      Added value: +[
      +  "string",
      +  "number"
      +]
    • addedInput schema / properties / competitor_id / description
      Added value: +"Only this competitor's changes"
    • changedInput schema / properties / limit / description
      Previous value: -"1-100, default 25"New value: +"Page size, 1-100 (default 25)"
    • addedInput schema / properties / min_severity / description
      Added value: +"Lowest severity to include"
    • addedInput schema / properties / monitor_type / description
      Added value: +"Kind of page: homepage, blog, docs, changelog, or pricing"
    • addedInput schema / properties / monitor_type / enum
      Added value: +[
      +  "homepage",
      +  "blog",
      +  "docs",
      +  "changelog",
      +  "pricing"
      +]
    • addedInput schema / properties / review_status / description
      Added value: +"unreviewed (in the inbox), acknowledged (seen and relevant), or dismissed (noise)"
    • changedInput schema / properties / since / description
      Previous value: -"ISO8601 or 1d, 7d, 30d"New value: +"ISO 8601 timestamp, or a relative window: 1d, 7d, 30d"
  2. First observedv0.1.0

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds real value beyond that by disclosing ordering (newest first), the cursor pagination contract (page with after set to next_cursor), and the presence of meta.counts inbox totals. It does not cover what happens if since and after are combined or any limits beyond the schema's own page-size note.

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

Conciseness5/5

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

Three dense sentences with no filler. The core action and ordering lead, pagination and response shape follow, and the alternative routing closes it out.

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?

With no output schema, the description usefully names the returned fields and meta.counts, which the agent could not otherwise know. Remaining gaps are minor: how multiple filters interact and whether since and after can be combined are left to inference.

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 every one of the eight parameters is already documented in structured data. The description's pagination hint ('page with after set to next_cursor') restates the schema's own wording rather than extending it, and it adds no syntax detail for since, min_severity, or review_status. Baseline 3 applies when the schema does the heavy lifting.

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?

States a specific verb and resource (list detected competitor changes) plus scope (in a workspace), ordering (newest first), and the fields returned. It is immediately distinguishable from get_change and get_digest, which are named explicitly.

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?

Names two alternatives with the exact condition that selects each: get_digest for a summarized period, get_change for evidence on a single change. This is explicit when-to-use routing rather than implied guidance.

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