Debriefing
by debriefing.io · remote · no sign-in to list tools · v2.0.0 · published by io.debriefing
Competitive intelligence: tracked competitors, evidence-backed signals, digests and battlecards.
43 tools: 14 can delete or cancel things, 1 do something that can't be undone, 10 change things and 18 only read.
Scanned Oct 21, 2026
- Deletes or cancels14Claude Code: deny: see these tools
- Can't be undone1Claude Code: ask: see these tools
- Changes things10Claude Code: ask: see these tools
- Only reads18Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http debriefing https://debriefing.io/mcpFindings
Matches of fixed checks, with the text they matched.
The server marks "draft_positioning" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "read": a word for reading.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
43 tools
Deletes or cancels 14Claude Code: deny
generate_battlecardWrites or rewrites the battlecard for one core competitor now, instead of at the next cycle.No findings
Why it is in this group
- The name "generate_battlecard" says "generate": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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. Send an idempotency_key. A retry with the same idempotency_key returns the first answer and does not act again. It starts no second job and uses no allowance or daily cap a second time.
Annotations the server declares
- title: Write a battlecard
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
pin_digestPins a digest for the whole team, or removes the pin with pinned false.Reads text others writeNo findings
Why it is in this group
- The name "pin_digest" says "pin": a word for a change.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Pins a digest for the whole team, or removes the pin with pinned false.
Annotations the server declares
- title: Pin a digest
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
pin_signalPins a signal for the whole team, or removes the pin with pinned false.Reads text others writeNo findings
Why it is in this group
- The name "pin_signal" says "pin": a word for a change.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Pins a signal for the whole team, or removes the pin with pinned false.
Annotations the server declares
- title: Pin a signal
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
rate_digestScores a digest from 1 to 5, says what is missing from it, or both.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Scores a digest from 1 to 5, says what is missing from it, or both. A new rating replaces your old one.
Annotations the server declares
- title: Rate a digest
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
rate_signalTells Debriefing whether a signal was useful to you.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Tells Debriefing whether a signal was useful to you. For not useful, add reasons and a comment. A new rating replaces your old one.
Annotations the server declares
- title: Rate a signal
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
remove_competitorTakes one core competitor off the watchlist.No findings
Why it is in this group
- The name "remove_competitor" says "remove": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Takes one core competitor off the watchlist. Debriefing stops monitoring it and keeps its history. Admin only, on a paid plan.
Annotations the server declares
- title: Remove competitor
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
remove_monitored_pageStops watching a page that someone added on a core competitor.No findings
Why it is in this group
- The name "remove_monitored_page" says "remove": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Stops watching a page that someone added on a core competitor. Name it by page_id or url. Admin only, on a paid plan.
Annotations the server declares
- title: Stop monitoring a page
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
rename_competitorChanges the display name of one tracked competitor.No findings
Why it is in this group
- The name "rename_competitor" says "rename": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Changes the display name of one tracked competitor. Admin only.
Annotations the server declares
- title: Rename competitor
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
save_signalSaves a signal to your own saved list, or removes it with saved false.No findings
Why it is in this group
- The name "save_signal" says "save": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Saves a signal to your own saved list, or removes it with saved false. Only you see your saved signals.
Annotations the server declares
- title: Save a signal
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
set_delivery_channelsTurns delivery by email and to Slack on or off.No findings
Why it is in this group
- The name "set_delivery_channels" says "set": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Turns delivery by email and to Slack on or off. Slack gets the finished cycle, and also the daily digest and each high signal alert when slack_digest and slack_alerts are on. Only the switches you send change. Slack needs Growth or above and a Slack connection made in the app. Channel rules for Slack are set in the app. Admin only.
Annotations the server declares
- title: Set delivery channels
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
set_monitoring_cadenceSets how often Debriefing runs a monitoring cycle.No findings
Why it is in this group
- The name "set_monitoring_cadence" says "set": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- title: Set monitoring cadence
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
update_company_profileChanges fields of the workspace's company profile.No findings
Why it is in this group
- The name "update_company_profile" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- title: Update company profile
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
update_icpSets the ideal customer profile, then re-reads how much each tracked competitor overlaps it.No findings
Why it is in this group
- The name "update_icp" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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. Send an idempotency_key. A retry with the same idempotency_key returns the first answer and does not act again. It starts no second job and uses no allowance or daily cap a second time.
Annotations the server declares
- title: Update ideal customer profile
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
Can't be undone 1Claude Code: ask
invite_memberSends an email invitation to join the workspace as a member.Reads text others writeCan send data outNo findings
Why it is in this group
- The name "invite_member" says "invite": a word for sending, and what is sent cannot be taken back.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- outboundThe name "invite_member" says "invite": it sends or publishes something to other people.
Description, as the server wrote it 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. Send an idempotency_key. A retry with the same idempotency_key returns the first answer and does not act again.
Annotations the server declares
- title: Invite a teammate
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
Changes things 10Claude Code: ask
add_battlecard_noteAdds what the team knows about a core competitor that no page says.No findings
Why it is in this group
- The name "add_battlecard_note" says "add": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- title: Add a note to a battlecard
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
add_competitorAdds a competitor to the workspace's core watchlist from its website.Reads text others writeNo findings
Why it is in this group
- The name "add_competitor" says "add": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it 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.
Annotations the server declares
- title: Add competitor
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
add_digest_noteAdds a talking point to a digest.Reads text others writeNo findings
Why it is in this group
- The name "add_digest_note" says "add": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Adds a talking point to a digest. The team sees it in the workspace.
Annotations the server declares
- title: Add a talking point to a digest
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
add_monitored_pageAsks Debriefing to watch one more page of a core competitor, such as its pricing page.Reads text others writeCan send data outNo findings
Why it is in this group
- The name "add_monitored_page" says "add": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Description, as the server wrote it 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.
Annotations the server declares
- title: Monitor a competitor page
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
add_signal_noteAdds a talking point to a signal.Reads text others writeNo findings
Why it is in this group
- The name "add_signal_note" says "add": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it 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.
Annotations the server declares
- title: Add a talking point to a signal
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
create_checkout_linkCreates a Stripe Checkout link that buys one Debriefing plan for this workspace.Reads text others writeNo findings
Why it is in this group
- The name "create_checkout_link" says "create": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Creates a Stripe Checkout link that buys one Debriefing plan for this workspace. It charges nothing. The admin opens the link in a browser, checks the price, and pays there. Give the link to the person; never complete the payment for them. The link expires after 24 hours. Admin only. Send an idempotency_key. A retry with the same idempotency_key returns the first answer and does not act again.
Annotations the server declares
- title: Create a checkout link
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
draft_positioningReads the company's own website and drafts the empty positioning fields: value propositions, differentiators, and exclusions.Reads text others write1 finding
Why it is in this group
- The description's first verb is "read": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe description's first sentence says "read" and "website": it reads web pages, which anyone can write.
Findings
- Warn
The server marks "draft_positioning" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "read": a word for reading.
Description, as the server wrote it 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. Send an idempotency_key. A retry with the same idempotency_key returns the first answer and does not act again. It starts no second job and uses no allowance or daily cap a second time.
Annotations the server declares
- title: Draft positioning
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
refresh_watchlistRefreshes the research on the core watchlist now, instead of at the next cycle.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it 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. Send an idempotency_key. A retry with the same idempotency_key returns the first answer and does not act again. It starts no second job and uses no allowance or daily cap a second time.
Annotations the server declares
- title: Refresh the watchlist
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
request_free_briefRequests a free competitive brief for a person who has no Debriefing account, and returns a claim URL.Reads text others writeNo findings
Why it is in this group
- The name "request_free_brief" says "request": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Requests a free competitive brief for a person who has no Debriefing account, and returns a claim URL. Debriefing researches the company and the competitors, and emails the brief to the person. The person opens the claim URL and signs up once, with the same email, to get a workspace that holds the brief. Ask the person first: send person_consented true only after they agree. One email address gets one brief this way; a repeat returns the same claim URL.
Annotations the server declares
- title: Request a free brief
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
research_competitorStarts the first research on one core competitor that has none yet: Debriefing reads its site and outside sources.Reads text others writeNo findings
Why it is in this group
- The description's first verb is "start": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it 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. Send an idempotency_key. A retry with the same idempotency_key returns the first answer and does not act again. It starts no second job and uses no allowance or daily cap a second time.
Annotations the server declares
- title: Research a competitor
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
Only reads 18Claude Code: allow, ask for 1 outbound
get_battlecardGets one battlecard by competitor_id or battlecard_id.No findings
Why it is in this group
- The name "get_battlecard" says "get": a word for reading.
Description, as the server wrote it Gets one battlecard by competitor_id or battlecard_id. Use it when the user prepares a sales call against a competitor.
Annotations the server declares
- title: Get battlecard
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_company_profileGets the workspace's own company profile: description, category, target customer, positioning lists, and the ideal customer profile.No findings
Why it is in this group
- The name "get_company_profile" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Get company profile
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_competitorGets 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, tra…No findings
Why it is in this group
- The name "get_competitor" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Get competitor dossier
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_delivery_settingsGets how often Debriefing runs a monitoring cycle for the workspace, the cadences the plan allows, and where Debriefing sends its posts.Reads text others writeNo findings
Why it is in this group
- The name "get_delivery_settings" says "get": a word for reading.
What it can reach
- untrusted-inputThe description's first sentence says "get" and "post": it reads posts, which other people can write.
Description, as the server wrote it Gets how often Debriefing runs a monitoring cycle for the workspace, the cadences the plan allows, and where Debriefing sends its posts. Email and Slack each get the finished cycle. Slack also gets the daily digest and each high signal alert when those switches are on. Admin only.
Annotations the server declares
- title: Get delivery settings
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_digestGets one digest by id or slug, or the newest digest when no id is given.No findings
Why it is in this group
- The name "get_digest" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Get digest
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_evidenceGets the evidence behind one signal: each source excerpt with its URL and date.Reads text others writeNo findings
Why it is in this group
- The name "get_evidence" says "get": a word for reading.
What it can reach
- untrusted-inputThe description's first sentence says "get" and "url": it reads web pages, which anyone can write.
Description, as the server wrote it 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.
Annotations the server declares
- title: Get signal evidence
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_free_brief_linkGets 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.Reads text others writeNo findings
Why it is in this group
- The name "get_free_brief_link" says "get": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it 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. One email address may request 3 free briefs in 24 hours. Send the person's email, with their consent, to check that limit before you give them the link.
Annotations the server declares
- title: Get the free brief link
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_plan_and_limitsGets 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, sh…No findings
Why it is in this group
- The name "get_plan_and_limits" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Get plan and limits
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_public_briefGets 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.Reads text others writeCan send data outNo findings
Why it is in this group
- The name "get_public_brief" says "get": a word for reading.
What it can reach
- untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Claude Code: ask, because it is tagged outbound.
Description, as the server wrote it 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.
Annotations the server declares
- title: Get a public brief
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_workspaceGets 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.Reads text others writeNo findings
Why it is in this group
- The name "get_workspace" says "get": a word for reading.
What it can reach
- untrusted-inputThe description's first sentence says "get" and "website": it reads web pages, which anyone can write.
Description, as the server wrote it 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.
Annotations the server declares
- title: Get workspace
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_battlecardsLists the battlecards Debriefing wrote for this workspace, one for each competitor that has one.No findings
Why it is in this group
- The name "list_battlecards" says "list": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: List battlecards
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_competitorsLists the competitors this Debriefing workspace tracks, with the id, name, website, and category of each.Reads text others writeNo findings
Why it is in this group
- The name "list_competitors" says "list": a word for reading.
What it can reach
- untrusted-inputThe description's first sentence says "list" and "website": it reads web pages, which anyone can write.
Description, as the server wrote it 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.
Annotations the server declares
- title: List competitors
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_digestsLists the digests Debriefing wrote for this workspace, newest first.No findings
Why it is in this group
- The name "list_digests" says "list": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: List digests
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_membersLists the people in the workspace with their roles.No findings
Why it is in this group
- The name "list_members" says "list": a word for reading.
Description, as the server wrote it Lists the people in the workspace with their roles. An admin also sees pending invitations.
Annotations the server declares
- title: List members
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
search_guidesSearches the public competitive intelligence library on debriefing.io: how-to guides, glossary terms, tool comparisons, alternatives pages, company profiles, and market intel posts…Reads text others writeNo findings
Why it is in this group
- The name "search_guides" says "search": a word for reading.
What it can reach
- untrusted-inputThe description's first sentence says "search" and "post": it reads posts, which other people can write.
Description, as the server wrote it 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.
Annotations the server declares
- title: Search CI guides
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
search_public_briefsSearches the competitive briefs Debriefing publishes on debriefing.io about named companies, newest first.No findings
Why it is in this group
- The name "search_public_briefs" says "search": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Search public briefs
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
search_signalsSearches open signals, newest first.No findings
Why it is in this group
- The name "search_signals" says "search": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Search signals
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
what_changedLists everything new in the workspace since a time: signals Debriefing found, digests it wrote, and battlecards it wrote or rewrote.No findings
Why it is in this group
- The description's first verb is "list": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: What changed
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
No private-data, untrusted-input, outbound path in this server alone: no tool is tagged private-data.
- Reads private data0
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write20
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out3
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Install
Pinned to version 2.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http debriefing https://debriefing.io/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__debriefing__get_workspace",
"mcp__debriefing__get_plan_and_limits",
"mcp__debriefing__list_competitors",
"mcp__debriefing__get_competitor",
"mcp__debriefing__search_signals",
"mcp__debriefing__list_digests",
"mcp__debriefing__get_digest",
"mcp__debriefing__list_battlecards",
"mcp__debriefing__get_battlecard",
"mcp__debriefing__get_evidence",
"mcp__debriefing__get_company_profile",
"mcp__debriefing__get_delivery_settings",
"mcp__debriefing__list_members",
"mcp__debriefing__what_changed",
"mcp__debriefing__search_public_briefs",
"mcp__debriefing__search_guides",
"mcp__debriefing__get_free_brief_link"
],
"ask": [
"mcp__debriefing__create_checkout_link",
"mcp__debriefing__add_competitor",
"mcp__debriefing__add_monitored_page",
"mcp__debriefing__research_competitor",
"mcp__debriefing__refresh_watchlist",
"mcp__debriefing__add_signal_note",
"mcp__debriefing__add_digest_note",
"mcp__debriefing__add_battlecard_note",
"mcp__debriefing__draft_positioning",
"mcp__debriefing__invite_member",
"mcp__debriefing__get_public_brief",
"mcp__debriefing__request_free_brief"
],
"deny": [
"mcp__debriefing__rename_competitor",
"mcp__debriefing__remove_competitor",
"mcp__debriefing__remove_monitored_page",
"mcp__debriefing__pin_signal",
"mcp__debriefing__save_signal",
"mcp__debriefing__rate_signal",
"mcp__debriefing__pin_digest",
"mcp__debriefing__rate_digest",
"mcp__debriefing__generate_battlecard",
"mcp__debriefing__update_company_profile",
"mcp__debriefing__update_icp",
"mcp__debriefing__set_monitoring_cadence",
"mcp__debriefing__set_delivery_channels",
"mcp__debriefing__create_share_link"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as debriefing. Review it before you use it.
Capability tags behind 20 rules
- mcp__debriefing__get_workspace untrusted-input
- mcp__debriefing__create_checkout_link untrusted-input
- mcp__debriefing__list_competitors untrusted-input
- mcp__debriefing__get_evidence untrusted-input
- mcp__debriefing__add_competitor untrusted-input
- mcp__debriefing__add_monitored_page untrusted-input, outbound
- mcp__debriefing__research_competitor untrusted-input
- mcp__debriefing__refresh_watchlist untrusted-input
- mcp__debriefing__pin_signal untrusted-input
- mcp__debriefing__add_signal_note untrusted-input
- mcp__debriefing__pin_digest untrusted-input
- mcp__debriefing__add_digest_note untrusted-input
- mcp__debriefing__draft_positioning untrusted-input
- mcp__debriefing__get_delivery_settings untrusted-input
- mcp__debriefing__create_share_link untrusted-input
- mcp__debriefing__invite_member untrusted-input, outbound
- mcp__debriefing__get_public_brief untrusted-input, outbound
- mcp__debriefing__search_guides untrusted-input
- mcp__debriefing__get_free_brief_link untrusted-input
- mcp__debriefing__request_free_brief untrusted-input