Debriefing

Competitive intelligence: tracked competitors, evidence-backed signals, digests and battlecards.

我該用這個嗎

品質與安全性

A
說明品質
92%
結構描述完整度
81%
命名品質
95%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(1)

  • LOWTool 'rate_digest' description lacks action verb在 rate_digest 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~8,468Token(工具定義)
~1.5 KB典型回應大小
顯著的注意力影響(128k 上下文的 6.62%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "debriefing": {
      "url": "https://debriefing.io/mcp"
    }
  }
}

遠端端點

https://debriefing.io/mcpstreamable-http

它能做什麼

工具清單

工具(41)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢get_workspace

Gets the Debriefing workspace this connection works on: its name and website, who you are in it and your role, the scopes this connection holds, and the plan. Call it first when you are not sure what you may do.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer"
    },
    "name": {
      "type": "string"
    },
    "website_url": {
      "type": [
        "string",
        "null"
      ]
    },
    "url": {
      "type": "string"
    },
    "you": {
      "type": [
        "object",
        "null"
      ]
    },
    "connection": {
      "type": "object"
    },
    "plan": {
      "type": "object"
    },
    "counts": {
      "type": "object"
    }
  },
  "required": [
    "id",
    "name",
    "connection",
    "plan"
  ]
}
🟢get_plan_and_limits

Gets the workspace plan and every limit an agent runs into: competitor slots, the weekly research allowance, the daily caps on battlecards, ICP refreshes and positioning drafts, share link lifetimes, monitoring cadences, and which features need a paid plan. Includes the pricing link.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "plan": {
      "type": "object"
    },
    "competitor_slots": {
      "type": "object"
    },
    "research_allowance": {
      "type": "object"
    },
    "daily_caps": {
      "type": "object"
    },
    "share_link_expiry_choices": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "monitoring_cadences": {
      "type": "object"
    },
    "features": {
      "type": "object"
    },
    "pricing_url": {
      "type": "string"
    }
  },
  "required": [
    "plan",
    "competitor_slots",
    "research_allowance",
    "daily_caps",
    "features",
    "pricing_url"
  ]
}
🟢list_competitors

Lists the competitors this Debriefing workspace tracks, with the id, name, website, and category of each. Call it first to get the competitor_id that other tools take.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "required": [
    "items"
  ]
}
🟢get_competitor(competitor_id)

Gets the dossier for one tracked competitor: company facts, the risk and opportunity it poses to this workspace, and the stored reads on positioning, product, pricing, funding, traffic, and more. Use it when the user asks about one competitor in depth.

輸入結構描述

{
  "type": "object",
  "properties": {
    "competitor_id": {
      "type": "integer",
      "description": "An id from list_competitors"
    }
  },
  "required": [
    "competitor_id"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object"
}
🟢search_signals(competitor_id, severity, query, since, limit)

Searches open signals, newest first. A signal is a competitor move that Debriefing found, such as a price change or a launch, with the source evidence. Filter by competitor_id, severity (low, medium, high), a text query, or a since time. Use it when the user asks what a competitor changed.

輸入結構描述

{
  "type": "object",
  "properties": {
    "competitor_id": {
      "type": "integer",
      "description": "An id from list_competitors"
    },
    "severity": {
      "type": "string",
      "enum": [
        "low",
        "medium",
        "high"
      ]
    },
    "query": {
      "type": "string",
      "description": "Words to find in the signal title or summary"
    },
    "since": {
      "type": "string",
      "description": "ISO 8601 time. Only signals after this time."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "required": [
    "items"
  ]
}
🟢list_digests(type, limit)

Lists the digests Debriefing wrote for this workspace, newest first. A digest is a brief that sums up competitor moves over a period. Filter by type, such as daily_digest.

輸入結構描述

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "description": "A digest type, such as daily_digest or weekly_tldr"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "required": [
    "items"
  ]
}
🟢get_digest(id, type)

Gets one digest by id or slug, or the newest digest when no id is given. Pass type daily_digest for the newest daily digest. Use it when the user asks for the latest brief.

輸入結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "A digest id or slug from list_digests"
    },
    "type": {
      "type": "string",
      "description": "A digest type, such as daily_digest"
    }
  },
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object"
}
🟢list_battlecards

Lists the battlecards Debriefing wrote for this workspace, one for each competitor that has one. A battlecard holds talk tracks for sales calls against that competitor.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "required": [
    "items"
  ]
}
🟢get_battlecard(competitor_id, battlecard_id)

Gets one battlecard by competitor_id or battlecard_id. Use it when the user prepares a sales call against a competitor.

輸入結構描述

{
  "type": "object",
  "properties": {
    "competitor_id": {
      "type": "integer",
      "description": "An id from list_competitors"
    },
    "battlecard_id": {
      "type": "integer",
      "description": "An id from list_battlecards"
    }
  },
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object"
}
🟢get_evidence(signal_id)

Gets the evidence behind one signal: each source excerpt with its URL and date. Use it when the user asks where a claim comes from.

輸入結構描述

{
  "type": "object",
  "properties": {
    "signal_id": {
      "type": "integer",
      "description": "An id from search_signals"
    }
  },
  "required": [
    "signal_id"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object"
}
🟡add_competitor(website_url)

Adds a competitor to the workspace's core watchlist from its website. Debriefing then monitors it. Admin only. The plan sets how many core competitors fit; get_plan_and_limits shows the free slots.

輸入結構描述

{
  "type": "object",
  "properties": {
    "website_url": {
      "type": "string",
      "maxLength": 500,
      "description": "The competitor's website, such as https://acme.example"
    }
  },
  "required": [
    "website_url"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    },
    "competitor": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "website_url": {
          "type": "string"
        }
      }
    }
  },
  "required": [
    "ok",
    "message"
  ]
}
🔴rename_competitor(competitor_id, name)

Changes the display name of one tracked competitor. Admin only.

輸入結構描述

{
  "type": "object",
  "properties": {
    "competitor_id": {
      "type": "integer",
      "description": "An id from list_competitors"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    }
  },
  "required": [
    "competitor_id",
    "name"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    },
    "competitor": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "website_url": {
          "type": "string"
        }
      }
    }
  },
  "required": [
    "ok",
    "message"
  ]
}
🔴remove_competitor(competitor_id)

Takes one core competitor off the watchlist. Debriefing stops monitoring it and keeps its history. Admin only, on a paid plan.

輸入結構描述

{
  "type": "object",
  "properties": {
    "competitor_id": {
      "type": "integer",
      "description": "An id from list_competitors"
    }
  },
  "required": [
    "competitor_id"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    },
    "competitor": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "website_url": {
          "type": "string"
        }
      }
    }
  },
  "required": [
    "ok",
    "message"
  ]
}
🟡add_monitored_page(competitor_id, url)

Asks Debriefing to watch one more page of a core competitor, such as its pricing page. Changes on it then show up as signals. Up to 10 pages per competitor. Admin only, on a paid plan.

輸入結構描述

{
  "type": "object",
  "properties": {
    "competitor_id": {
      "type": "integer",
      "description": "An id from list_competitors"
    },
    "url": {
      "type": "string",
      "maxLength": 2000,
      "description": "The full page address"
    }
  },
  "required": [
    "competitor_id",
    "url"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    },
    "page": {
      "type": "object"
    },
    "monitored_pages": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "required": [
    "ok",
    "message"
  ]
}
🔴remove_monitored_page(competitor_id, page_id, url)

Stops watching a page that someone added on a core competitor. Name it by page_id or url. Admin only, on a paid plan.

輸入結構描述

{
  "type": "object",
  "properties": {
    "competitor_id": {
      "type": "integer",
      "description": "An id from list_competitors"
    },
    "page_id": {
      "type": "integer",
      "description": "An id from add_monitored_page"
    },
    "url": {
      "type": "string",
      "maxLength": 2000
    }
  },
  "required": [
    "competitor_id"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    },
    "monitored_pages": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "required": [
    "ok",
    "message"
  ]
}
🟡research_competitor(competitor_id, idempotency_key)

Starts the first research on one core competitor that has none yet: Debriefing reads its site and outside sources. It uses one update from the weekly research allowance. Admin only.

輸入結構描述

{
  "type": "object",
  "properties": {
    "competitor_id": {
      "type": "integer",
      "description": "An id from list_competitors"
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "A unique string you make for this request, such as a UUID. Send the same key when you retry, and Debriefing returns the first answer instead of acting twice."
    }
  },
  "required": [
    "competitor_id",
    "idempotency_key"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    },
    "refresh": {
      "type": "object"
    },
    "replayed": {
      "type": "boolean",
      "description": "True when this answer repeats an earlier call with the same idempotency_key."
    }
  },
  "required": [
    "ok",
    "message"
  ]
}
🟡refresh_watchlist(idempotency_key)

Refreshes the research on the core watchlist now, instead of at the next cycle. It uses one update from the weekly research allowance. Admin only.

輸入結構描述

{
  "type": "object",
  "properties": {
    "idempotency_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "A unique string you make for this request, such as a UUID. Send the same key when you retry, and Debriefing returns the first answer instead of acting twice."
    }
  },
  "required": [
    "idempotency_key"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    },
    "refresh": {
      "type": "object"
    },
    "replayed": {
      "type": "boolean",
      "description": "True when this answer repeats an earlier call with the same idempotency_key."
    }
  },
  "required": [
    "ok",
    "message"
  ]
}
🔴pin_signal(signal_id, pinned)

Pins a signal for the whole team, or removes the pin with pinned false.

輸入結構描述

{
  "type": "object",
  "properties": {
    "signal_id": {
      "type": "integer",
      "description": "An id from search_signals or what_changed"
    },
    "pinned": {
      "type": "boolean",
      "default": true
    }
  },
  "required": [
    "signal_id"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    },
    "signal_id": {
      "type": "integer"
    },
    "pinned": {
      "type": "boolean"
    }
  },
  "required": [
    "ok",
    "message"
  ]
}
🔴save_signal(signal_id, saved)

Saves a signal to your own saved list, or removes it with saved false. Only you see your saved signals.

輸入結構描述

{
  "type": "object",
  "properties": {
    "signal_id": {
      "type": "integer",
      "description": "An id from search_signals or what_changed"
    },
    "saved": {
      "type": "boolean",
      "default": true
    }
  },
  "required": [
    "signal_id"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    },
    "signal_id": {
      "type": "integer"
    },
    "saved": {
      "type": "boolean"
    }
  },
  "required": [
    "ok",
    "message"
  ]
}
🟡add_signal_note(signal_id, body)

Adds a talking point to a signal. The team sees it in the workspace. It never appears on a public link unless the link includes notes.

輸入結構描述

{
  "type": "object",
  "properties": {
    "signal_id": {
      "type": "integer",
      "description": "An id from search_signals or what_changed"
    },
    "body": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "description": "The talking point, in plain text"
    }
  },
  "required": [
    "signal_id",
    "body"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    },
    "note": {
      "type": "object"
    }
  },
  "required": [
    "ok",
    "message"
  ]
}
🔴rate_signal(signal_id, useful, reasons, comment)

Tells Debriefing whether a signal was useful to you. For not useful, add reasons and a comment. A new rating replaces your old one.

輸入結構描述

{
  "type": "object",
  "properties": {
    "signal_id": {
      "type": "integer",
      "description": "An id from search_signals or what_changed"
    },
    "useful": {
      "type": "boolean"
    },
    "reasons": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "wrong",
          "old_news",
          "not_relevant",
          "already_knew"
        ]
      },
      "description": "Only when useful is false"
    },
    "comment": {
      "type": "string",
      "maxLength": 2000
    }
  },
  "required": [
    "signal_id",
    "useful"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    },
    "rating": {
      "type": "object"
    }
  },
  "required": [
    "ok",
    "message"
  ]
}
🔴pin_digest(digest_id, pinned)

Pins a digest for the whole team, or removes the pin with pinned false.

輸入結構描述

{
  "type": "object",
  "properties": {
    "digest_id": {
      "type": "string",
      "description": "A digest id or slug from list_digests"
    },
    "pinned": {
      "type": "boolean",
      "default": true
    }
  },
  "required": [
    "digest_id"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    },
    "digest_id": {
      "type": "integer"
    },
    "pinned": {
      "type": "boolean"
    }
  },
  "required": [
    "ok",
    "message"
  ]
}
🟡add_digest_note(digest_id, body)

Adds a talking point to a digest. The team sees it in the workspace.

輸入結構描述

{
  "type": "object",
  "properties": {
    "digest_id": {
      "type": "string",
      "description": "A digest id or slug from list_digests"
    },
    "body": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "description": "The talking point, in plain text"
    }
  },
  "required": [
    "digest_id",
    "body"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    },
    "note": {
      "type": "object"
    }
  },
  "required": [
    "ok",
    "message"
  ]
}
🔴rate_digest(digest_id, score, comment)

Scores a digest from 1 to 5, says what is missing from it, or both. A new rating replaces your old one.

輸入結構描述

{
  "type": "object",
  "properties": {
    "digest_id": {
      "type": "string",
      "description": "A digest id or slug from list_digests"
    },
    "score": {
      "type": "integer",
      "minimum": 1,
      "maximum": 5
    },
    "comment": {
      "type": "string",
      "maxLength": 2000,
      "description": "What is missing from the digest"
    }
  },
  "required": [
    "digest_id"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    },
    "rating": {
      "type": "object"
    }
  },
  "required": [
    "ok",
    "message"
  ]
}
🔴generate_battlecard(competitor_id, idempotency_key)

Writes or rewrites the battlecard for one core competitor now, instead of at the next cycle. It takes about a minute; read it afterwards with get_battlecard. The competitor needs finished research. Needs a paid plan or the free first week, and counts toward a daily cap per workspace.

輸入結構描述

{
  "type": "object",
  "properties": {
    "competitor_id": {
      "type": "integer",
      "description": "An id from list_competitors"
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "A unique string you make for this request, such as a UUID. Send the same key when you retry, and Debriefing returns the first answer instead of acting twice."
    }
  },
  "required": [
    "competitor_id",
    "idempotency_key"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    },
    "competitor": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "website_url": {
          "type": "string"
        }
      }
    },
    "daily_cap": {
      "type": "object"
    },
    "replayed": {
      "type": "boolean",
      "description": "True when this answer repeats an earlier call with the same idempotency_key."
    }
  },
  "required": [
    "ok",
    "message"
  ]
}
🟡add_battlecard_note(competitor_id, body)

Adds what the team knows about a core competitor that no page says. The next rewrite of its battlecard reads the note as framing, never as a verified fact.

輸入結構描述

{
  "type": "object",
  "properties": {
    "competitor_id": {
      "type": "integer",
      "description": "An id from list_competitors"
    },
    "body": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "description": "The talking point, in plain text"
    }
  },
  "required": [
    "competitor_id",
    "body"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    },
    "note": {
      "type": "object"
    }
  },
  "required": [
    "ok",
    "message"
  ]
}
🟢get_company_profile

Gets the workspace's own company profile: description, category, target customer, positioning lists, and the ideal customer profile. Debriefing reads every competitor move against it.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "profile": {
      "type": "object"
    },
    "positioning": {
      "type": "object"
    },
    "ideal_customer_profile": {
      "type": "object"
    },
    "locked": {
      "type": "boolean"
    },
    "url": {
      "type": "string"
    }
  },
  "required": [
    "profile",
    "positioning",
    "ideal_customer_profile",
    "locked"
  ]
}
🔴update_company_profile(name, website_url, description, industry, primary_category, ...)

Changes fields of the workspace's company profile. Only the fields you send change. The lists replace the old lists. Admin only. Locked while the first brief runs.

輸入結構描述

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 255
    },
    "website_url": {
      "type": "string",
      "maxLength": 500
    },
    "description": {
      "type": "string",
      "maxLength": 2000
    },
    "industry": {
      "type": "string"
    },
    "primary_category": {
      "type": "string"
    },
    "target_customer": {
      "type": "string"
    },
    "self_positioning": {
      "type": "string"
    },
    "company_size": {
      "type": "integer",
      "minimum": 1
    },
    "company_type": {
      "type": "string",
      "enum": [
        "software_vendor",
        "service_provider",
        "marketplace",
        "ecommerce_brand",
        "media_publisher",
        "nonprofit",
        "government",
        "fintech_institution",
        "healthcare_provider",
        "manufacturer",
        "education_provider",
        "other"
      ]
    },
    "hq_country": {
      "type": "string"
    },
    "operating_regions": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Regions where the company sells"
    },
    "market_position": {
      "type": "string"
    },
    "market_direction": {
      "type": "string"
    },
    "value_propositions": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Up to 12 short items"
    },
    "differentiators": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Up to 12 short items"
    },
    "positioning_exclusions": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "What the company does not do. Up to 12 short items"
    }
  },
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    },
    "profile": {
      "type": "object"
    },
    "positioning": {
      "type": "object"
    }
  },
  "required": [
    "ok",
    "message"
  ]
}
🔴update_icp(customer_types, company_sizes, company_stages, industries, geographies, ...)

Sets the ideal customer profile, then re-reads how much each tracked competitor overlaps it. Only the dimensions you send change; an empty list clears one. Admin only. Counts toward a daily cap per workspace. Locked while the first brief runs.

輸入結構描述

{
  "type": "object",
  "properties": {
    "customer_types": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Customer types"
    },
    "company_sizes": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Company sizes"
    },
    "company_stages": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Company stages"
    },
    "industries": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Industries"
    },
    "geographies": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Geographies"
    },
    "buyer_roles": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Buyer roles"
    },
    "user_roles": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "User roles"
    },
    "use_cases": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Use cases"
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "A unique string you make for this request, such as a UUID. Send the same key when you retry, and Debriefing returns the first answer instead of acting twice."
    }
  },
  "required": [
    "idempotency_key"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    },
    "ideal_customer_profile": {
      "type": "object"
    },
    "daily_cap": {
      "type": "object"
    },
    "replayed": {
      "type": "boolean",
      "description": "True when this answer repeats an earlier call with the same idempotency_key."
    }
  },
  "required": [
    "ok",
    "message"
  ]
}
🟢draft_positioning(idempotency_key)

Reads the company's own website and drafts the empty positioning fields: value propositions, differentiators, and exclusions. Filled fields stay as they are. Read the result later with get_company_profile. Admin only. Counts toward a daily cap per workspace.

輸入結構描述

{
  "type": "object",
  "properties": {
    "idempotency_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "A unique string you make for this request, such as a UUID. Send the same key when you retry, and Debriefing returns the first answer instead of acting twice."
    }
  },
  "required": [
    "idempotency_key"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    },
    "daily_cap": {
      "type": "object"
    },
    "replayed": {
      "type": "boolean",
      "description": "True when this answer repeats an earlier call with the same idempotency_key."
    }
  },
  "required": [
    "ok",
    "message"
  ]
}
🟢get_delivery_settings

Gets how often Debriefing runs a monitoring cycle for the workspace, the cadences the plan allows, and whether a finished cycle goes out by email and to Slack. Admin only.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "monitoring_cadence": {
      "type": "object"
    },
    "delivery_channels": {
      "type": "object"
    },
    "url": {
      "type": "string"
    }
  },
  "required": [
    "monitoring_cadence",
    "delivery_channels"
  ]
}
🔴set_monitoring_cadence(cadence)

Sets how often Debriefing runs a monitoring cycle. The plan decides which cadences are allowed; get_delivery_settings lists them. Admin only, on a paid plan.

輸入結構描述

{
  "type": "object",
  "properties": {
    "cadence": {
      "type": "string",
      "description": "A cadence from get_delivery_settings, such as weekly"
    }
  },
  "required": [
    "cadence"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    },
    "monitoring_cadence": {
      "type": "object"
    }
  },
  "required": [
    "ok",
    "message"
  ]
}
🔴set_delivery_channels(email, slack)

Turns delivery of a finished cycle by email and to Slack on or off. Only the channels you send change. Slack needs a paid plan and a Slack connection made in the app. Admin only.

輸入結構描述

{
  "type": "object",
  "properties": {
    "email": {
      "type": "boolean"
    },
    "slack": {
      "type": "boolean"
    }
  },
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    },
    "delivery_channels": {
      "type": "object"
    }
  },
  "required": [
    "ok",
    "message"
  ]
}
🔴create_share_link(signal_id, expiry, include_notes, idempotency_key)

Makes a public link to one signal that anyone with the address can open. A new link replaces the old one, which stops working. The plan sets how long a link can live; the free plan and Starter allow 24 hours.

輸入結構描述

{
  "type": "object",
  "properties": {
    "signal_id": {
      "type": "integer",
      "description": "An id from search_signals or what_changed"
    },
    "expiry": {
      "type": "string",
      "enum": [
        "never",
        "24h",
        "7d",
        "30d",
        "90d"
      ],
      "default": "24h",
      "description": "How long the link works. The free plan and Starter allow only 24h, and any other choice becomes 24h there."
    },
    "include_notes": {
      "type": "boolean",
      "default": false,
      "description": "Show the team's talking points on the public page"
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "A unique string you make for this request, such as a UUID. Send the same key when you retry, and Debriefing returns the first answer instead of acting twice."
    }
  },
  "required": [
    "signal_id",
    "idempotency_key"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    },
    "share": {
      "type": "object"
    },
    "replayed": {
      "type": "boolean",
      "description": "True when this answer repeats an earlier call with the same idempotency_key."
    }
  },
  "required": [
    "ok",
    "message"
  ]
}
🟢list_members

Lists the people in the workspace with their roles. An admin also sees pending invitations.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "pending_invitations": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "required": [
    "items"
  ]
}
⚪invite_member(email, idempotency_key)

Sends an email invitation to join the workspace as a member. The invitation lasts 7 days. Inviting the same address again sends a fresh email. Admin only, on a paid plan.

輸入結構描述

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "format": "email",
      "maxLength": 320
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "A unique string you make for this request, such as a UUID. Send the same key when you retry, and Debriefing returns the first answer instead of acting twice."
    }
  },
  "required": [
    "email",
    "idempotency_key"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    },
    "invitation": {
      "type": "object"
    },
    "replayed": {
      "type": "boolean",
      "description": "True when this answer repeats an earlier call with the same idempotency_key."
    }
  },
  "required": [
    "ok",
    "message"
  ]
}
🟢what_changed(since, limit)

Lists everything new in the workspace since a time: signals Debriefing found, digests it wrote, and battlecards it wrote or rewrote. Use it to catch up, such as since the user's last visit.

輸入結構描述

{
  "type": "object",
  "properties": {
    "since": {
      "type": "string",
      "description": "ISO 8601 time, such as 2026-10-01T00:00:00Z"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "description": "The most rows of each kind"
    }
  },
  "required": [
    "since"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "since": {
      "type": "string"
    },
    "signals": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "digests": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "battlecards": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "required": [
    "since",
    "signals",
    "digests",
    "battlecards"
  ]
}
🟢search_public_briefs(query, company, limit)

Searches the competitive briefs Debriefing publishes on debriefing.io about named companies, newest first. Each brief is dated and every finding cites a public source. Filter by words in the brief and by company name, slug, or domain. With no arguments, lists the newest briefs. Needs no Debriefing account. Returns the page URL of each brief.

輸入結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 200,
      "description": "Words to find in the brief, such as pricing or launch"
    },
    "company": {
      "type": "string",
      "maxLength": 200,
      "description": "A company name, slug, or domain, such as Crayon or crayon.co"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "company_name": {
            "type": "string"
          },
          "company_slug": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "coverage_start_on": {
            "type": [
              "string",
              "null"
            ]
          },
          "coverage_end_on": {
            "type": [
              "string",
              "null"
            ]
          },
          "published_on": {
            "type": "string"
          },
          "updated_on": {
            "type": "string"
          },
          "finding_count": {
            "type": "integer"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "title",
          "company_name",
          "company_slug",
          "slug",
          "url"
        ]
      }
    },
    "briefs_url": {
      "type": "string"
    },
    "free_brief": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string"
        },
        "text": {
          "type": "string"
        }
      },
      "required": [
        "url",
        "text"
      ]
    }
  },
  "required": [
    "items",
    "briefs_url",
    "free_brief"
  ]
}
🟢get_public_brief(url, company_slug, slug)

Gets one competitive brief that Debriefing published on debriefing.io: the summary, each finding with its category and date, and the numbered public sources with their URLs. Name the brief by its URL, or by company_slug and slug from search_public_briefs. With company_slug only, gets the newest brief about that company. Needs no Debriefing account.

輸入結構描述

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "maxLength": 500,
      "description": "The brief URL, such as https://debriefing.io/briefs/crayon/2026-09-28"
    },
    "company_slug": {
      "type": "string",
      "maxLength": 100,
      "description": "The company part of the brief URL, such as crayon"
    },
    "slug": {
      "type": "string",
      "maxLength": 100,
      "description": "The date part of the brief URL, such as 2026-09-28"
    }
  },
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "company": {
      "type": "object"
    },
    "coverage": {
      "type": "object"
    },
    "published_on": {
      "type": "string"
    },
    "updated_on": {
      "type": "string"
    },
    "summary": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "findings": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "url": {
      "type": "string"
    },
    "markdown_url": {
      "type": "string"
    },
    "free_brief": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string"
        },
        "text": {
          "type": "string"
        }
      },
      "required": [
        "url",
        "text"
      ]
    }
  },
  "required": [
    "title",
    "company",
    "summary",
    "findings",
    "sources",
    "url",
    "free_brief"
  ]
}
🟢search_guides(query, collection, limit)

Searches the public competitive intelligence library on debriefing.io: how-to guides, glossary terms, tool comparisons, alternatives pages, company profiles, and market intel posts. Returns the title, a short excerpt, and the page URL of each match, best match first. Needs no Debriefing account.

輸入結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Words to find, such as battlecard or win-loss interview"
    },
    "collection": {
      "type": "string",
      "enum": [
        "guides",
        "intel",
        "glossary",
        "comparisons",
        "alternatives",
        "competitive-profiles"
      ],
      "description": "Only search one part of the library"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "collection": {
            "type": "string"
          },
          "excerpt": {
            "type": "string"
          },
          "updated_on": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "title",
          "collection",
          "url"
        ]
      }
    },
    "free_brief": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string"
        },
        "text": {
          "type": "string"
        }
      },
      "required": [
        "url",
        "text"
      ]
    }
  },
  "required": [
    "items",
    "free_brief"
  ]
}
🟢get_free_brief_link

Gets the debriefing.io links where a person requests a free competitive brief about their own company and competitors, signs up for a workspace, or compares plans. It only returns links. It sends nothing and creates nothing.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "free_brief_url": {
      "type": "string"
    },
    "sign_up_url": {
      "type": "string"
    },
    "pricing_url": {
      "type": "string"
    },
    "what_you_get": {
      "type": "string"
    },
    "connect_url": {
      "type": "string"
    }
  },
  "required": [
    "free_brief_url",
    "sign_up_url",
    "pricing_url",
    "what_you_get",
    "connect_url"
  ]
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本41 個工具