protogrid

Search / io.debriefing/debriefing

Debriefing

R0· no sign-in

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

v2.0.0 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality72needs work
Trust96of 100
Uptime, 30 days100%
Latency p50378 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "debriefing": {
      "type": "http",
      "url": "https://debriefing.io/mcp"
    }
  }
}
claude mcp add --transport http debriefing https://debriefing.io/mcp
[mcp_servers.debriefing]
url = "https://debriefing.io/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "debriefing": {
      "type": "remote",
      "url": "https://debriefing.io/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "debriefing": {
      "type": "http",
      "url": "https://debriefing.io/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=debriefing&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vZGVicmllZmluZy5pby9tY3AifQ%3D%3D"
}
{
  "servers": {
    "debriefing": {
      "type": "http",
      "url": "https://debriefing.io/mcp"
    }
  }
}
{
  "mcpServers": {
    "debriefing": {
      "httpUrl": "https://debriefing.io/mcp"
    }
  }
}
extensions:
  "debriefing":
    enabled: true
    name: "debriefing"
    type: streamable_http
    uri: "https://debriefing.io/mcp"
    timeout: 300

Quality 72 / 100needs work

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene93 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations43 of 43 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 7,295 tokens to load every tool
  • warn
    tools.api_dump43 tools, 63% named like REST operations: looks like an API mapped one endpoint per tool
stability25 · weight 15
  • warn
    stability.changes20 tool changes in 30 days
  • fail
    stability.rug_pull2 tools kept their name but changed most of their description in 30 days; review before trusting them
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

43 tools, about 7,295 tokens to load them all · tool set 0d5917690a6c · tools last changed 2026-10-20 · checked 2026-10-20 06:17 UTC

Tool changes

  • search_guideschangedinput schema
  • set_delivery_channelschangeddescription, input schema
    before

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

    after · 59% of words in common

    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.

  • get_delivery_settingschangeddescriptionmeaning changed
    before

    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.

    after · 48% of words in common

    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.

  • set_delivery_channelschangeddescription
    before

    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.

    after · 87% of words in common

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

  • request_free_briefadded

    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.

  • get_free_brief_linkchangeddescription, input schema, output schema, annotations
    before

    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.

    after · 57% of words in common

    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.

  • invite_memberchangeddescription
    before

    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.

    after · 67% of words in common

    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.

  • create_share_linkchangeddescription
    before

    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.

    after · 71% of words in common

    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. Send an idempotency_key. A retry with the same idempotency_key returns the first answer and does not act again.

  • draft_positioningchangeddescription
    before

    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.

    after · 61% of words in common

    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.

  • update_icpchangeddescription
    before

    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.

    after · 66% of words in common

    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.

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 96 / 100

provenance85
liveness100
freshness100
hygiene100

+repository +dns-namespace +website +reachable +uptime-100% +updated-13d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://debriefing.io/mcp streamable-httpnoneyes100%378 ms2025-11-252026-10-20

Tools (43)

add_battlecard_noteAdds 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.
add_competitorAdds 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.
add_digest_noteAdds a talking point to a digest. The team sees it in the workspace.
add_monitored_pageAsks 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.
add_signal_noteAdds 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.
create_checkout_linkCreates 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.
create_share_linkdestructiveMakes 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. Send an idempotency_key. A retry with the same idempotency_key returns the first answer and does not act again.
draft_positioningReads 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.
generate_battlecarddestructiveWrites 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.
get_battlecardread-onlyGets one battlecard by competitor_id or battlecard_id. Use it when the user prepares a sales call against a competitor.
get_company_profileread-onlyGets the workspace's own company profile: description, category, target customer, positioning lists, and the ideal customer profile. Debriefing reads every competitor move against it.
get_competitorread-onlyGets 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.
get_delivery_settingsread-onlyGets 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.
get_digestread-onlyGets 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.
get_evidenceread-onlyGets the evidence behind one signal: each source excerpt with its URL and date. Use it when the user asks where a claim comes from.
get_free_brief_linkread-onlyGets 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.
get_plan_and_limitsread-onlyGets 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.
get_public_briefread-onlyGets 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.
get_workspaceread-onlyGets 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.
invite_memberSends 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.
list_battlecardsread-onlyLists 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.
list_competitorsread-onlyLists 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.
list_digestsread-onlyLists 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.
list_membersread-onlyLists the people in the workspace with their roles. An admin also sees pending invitations.
pin_digestdestructivePins a digest for the whole team, or removes the pin with pinned false.
pin_signaldestructivePins a signal for the whole team, or removes the pin with pinned false.
rate_digestdestructiveScores a digest from 1 to 5, says what is missing from it, or both. A new rating replaces your old one.
rate_signaldestructiveTells Debriefing whether a signal was useful to you. For not useful, add reasons and a comment. A new rating replaces your old one.
refresh_watchlistRefreshes 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.
remove_competitordestructiveTakes one core competitor off the watchlist. Debriefing stops monitoring it and keeps its history. Admin only, on a paid plan.
remove_monitored_pagedestructiveStops watching a page that someone added on a core competitor. Name it by page_id or url. Admin only, on a paid plan.
rename_competitordestructiveChanges the display name of one tracked competitor. Admin only.
request_free_briefRequests 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.
research_competitorStarts 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.
save_signaldestructiveSaves a signal to your own saved list, or removes it with saved false. Only you see your saved signals.
search_guidesread-onlySearches 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.
search_public_briefsread-onlySearches 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.
search_signalsread-onlySearches 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.
set_delivery_channelsdestructiveTurns 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.
set_monitoring_cadencedestructiveSets 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.
update_company_profiledestructiveChanges 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.
update_icpdestructiveSets 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.
what_changedread-onlyLists 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.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.debriefing/debriefing",
  "icons": [
    {
      "src": "https://debriefing.io/icon-light.png",
      "mimeType": "image/png"
    }
  ],
  "title": "Debriefing",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://debriefing.io/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "2.0.0",
  "repository": {
    "url": "https://github.com/0xrome/debriefing-mcp",
    "source": "github"
  },
  "websiteUrl": "https://debriefing.io/developers?tab=mcp",
  "description": "Competitive intelligence: tracked competitors, evidence-backed signals, digests and battlecards."
}