Skip to documentation
InBrief

Connect an AI client with MCP

Tool permissions, OAuth and configuration examples.

On this page34

InBrief is in the Claude connector directory: search for InBrief and add it in Claude. It is also listed on MCPBundles. It is not yet in the ChatGPT directory, so add it to ChatGPT and to other clients by its URL, https://inbrief.sh/api/mcp. Check your installation's MCP settings for the tools it offers.

Before connecting

  1. Your deployment administrator enables MCP. Your account owner opens Account → Access → MCP connections, enables account access and checks the maximum tools and pages that users may delegate.
  2. The MCP endpoint is https://inbrief.sh/api/mcp. Settings shows the same URL, and the examples below use it as it is.
  3. Use a client with remote Streamable HTTP and OAuth support. Connectors using only local stdio need a different client setup.

Choose access for each client

Start the connection from your client. Sign in to InBrief, give the connection a recognizable name, then check each allowed tool and status page. Nothing starts checked. Read tools describe the data they return; change tools describe their effects. A tool marked Finish in InBrief requires you to complete the action in the authenticated product UI.

Approve only a connection you started. Client names are supplied by the client and are not a verified publisher badge. Selected data is sent to that client and handled under its policies. Your current role, account policy and feature availability still apply. Choosing all current pages does not include future pages.

Claude, ChatGPT and another editor each receive a separate connection. InBrief checks allowed tools on every call. Client-side approval preferences can further restrict calls, but cannot expand InBrief permissions.

Create a status page

When your installation offers create_status_page, an account owner or admin can select it for a connection. Supply the page address, display name, default language and an idempotency key. The account's page allowance, reserved addresses and pending page deletions still apply.

If a response is interrupted, retry with the same arguments and idempotency key. The response includes the page ID, address and hostname. It also returns connectionAccessGranted: false: creation does not grant the client access to the new page. Explicitly select that page in your MCP permissions before using page tools on it.

Export subscribers in your browser

Select export_subscribers to let a client request an export review for an allowed page. Open that review in InBrief, confirm your identity and approve the download. Subscriber addresses remain in the browser download; MCP receives no file contents or download credentials.

The approving browser receives a one-use download cookie. Download the file from that review page. Reloading the review or retrying approval does not recover the download. Start a new review if needed.

Select get_subscriber_export_status separately to let the same client read safe status using the action ID. Approval means the download was granted; the export state reports whether the browser finished downloading it. Status requires the original actor and connection, current export permission and the approving browser session. Revoking that session also removes this status access.

Claude and ChatGPT

For Claude, add a custom connector in its connector settings, enter your InBrief MCP URL and complete OAuth. For ChatGPT, use its custom MCP/app connection flow where developer mode and workspace policy permit it. Select OAuth and enter the same URL. Menu availability depends on your client account and workspace policy. Public directory discovery is a separate submission and review process.

Use the remote-connector settings in Claude Desktop for this HTTP server. Do not assume every desktop JSON format accepts a remote URL. Follow Claude's connector guidance or OpenAI's connection guidance.

JSON and TOML configurations

Merge the relevant entry into your existing file. Keep other servers and settings. These examples contain no API keys, tokens or client secrets: your client performs OAuth in the browser. Configuration formats were checked against the linked client documentation on 6 September 2026; end-to-end InBrief compatibility is still being verified. An older client version may use a different format.

Claude Code

File: .mcp.json. Client documentation.

Response
{
  "mcpServers": {
    "inbrief": {
      "type": "http",
      "url": "https://inbrief.sh/api/mcp"
    }
  }
}

Cursor

File: .cursor/mcp.json. Client documentation.

Response
{
  "mcpServers": {
    "inbrief": {
      "url": "https://inbrief.sh/api/mcp"
    }
  }
}

VS Code / GitHub Copilot

File: .vscode/mcp.json. Client documentation.

Response
{
  "servers": {
    "inbrief": {
      "type": "http",
      "url": "https://inbrief.sh/api/mcp"
    }
  }
}

Gemini CLI

File: .gemini/settings.json. Client documentation.

Response
{
  "mcpServers": {
    "inbrief": {
      "httpUrl": "https://inbrief.sh/api/mcp"
    }
  }
}

OpenCode v2

File: opencode.json. Client documentation.

Response
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "servers": {
      "inbrief": {
        "type": "remote",
        "url": "https://inbrief.sh/api/mcp"
      }
    }
  }
}

Windsurf / Devin Desktop

File: ~/.codeium/windsurf/mcp_config.json. Client documentation.

Response
{
  "mcpServers": {
    "inbrief": {
      "serverUrl": "https://inbrief.sh/api/mcp"
    }
  }
}

Codex

File: ~/.codex/config.toml. Client documentation.

Response
[mcp_servers.inbrief]
url = "https://inbrief.sh/api/mcp"

Command-line setup

Claude Code can add the same entry directly. Run /mcp inside Claude Code to authenticate:

Example
claude mcp add --transport http inbrief https://inbrief.sh/api/mcp
claude mcp add-json inbrief '{"type":"http","url":"https://inbrief.sh/api/mcp"}'

Choose either Claude command, not both. For Codex, add the URL and start OAuth:

Example
codex mcp add inbrief --url https://inbrief.sh/api/mcp
codex mcp login inbrief --oauth-client-registration dcr

In Gemini CLI, use /mcp auth inbrief when prompted. Other clients expose a connect or authenticate action beside the configured server. Allow the browser callback to complete.

Verify the connection

  1. For a small first check, approve get_account, list_status_pages and one page.
  2. Ask: “Which InBrief account am I connected to, and which status pages can this connection access?”
  3. Check the returned account and page against your selection. Unselected pages must not appear.
  4. Remove get_account in MCP settings. A fresh or manually constructed call must be refused.

Current tools

InBrief offers 171 tools, including WhatsApp sender connection and refresh, account deletion review, status-subscription preference changes and unsubscribes, Database Health connection creation, replacement and testing, personal WhatsApp request, verification and removal, outage installation credential review, event storage configuration, Slack credential management, filtered audit export, subscriber destination credential reviews, WhatsApp receiver verification and billing-settings navigation. A client can connect only after the account owner enables account access, as described above. Product coverage is still incomplete. Page-scoped tools require an explicitly selected pageId. Check your installation's MCP settings for the tools it actually offers.

Read and write labels describe the product operation. Every tool call also records private MCP activity, so the protocol advertises readOnlyHint: false. Calls without a command receipt advertise idempotentHint: false because repeated calls add separate activity records. Receipt-backed commands keep their documented retry guarantees. Tool selection and current product permissions still determine which operations a connection may perform.

ToolsBehaviour
request_status_page_deletionReview deletion of an explicitly selected status page in your browser. Confirm its exact slug and applicable data, domain, incident and last-page consequences, then confirm your identity. Acceptance starts durable cleanup; it is not completion. The browser reports the owner’s final deletion status.
request_account_deletionOwner-only review of permanent deletion of the whole account in your browser. The review names the account email and every status page it will remove. Confirm your identity again, type the owner email, then approve. This deletes every page, subscriber, teammate, connection and MCP access, cancels an active subscription first, and signs you out. It cannot be undone or stopped once accepted.
open_whatsapp_credit_purchaseReview one credit package, its current USD price and the automatic-refill choice in your browser. Confirm your identity and explicitly approve before preparing payment. The checkout stays in your browser; MCP reports checkout preparation only, never payment completion or a credit grant. The existing WhatsApp deployment restriction still applies.
get_status_analyticsAggregate page views, visitor days and confirmed subscriptions for a selected page over 7, 30 or 90 UTC days. No visitor identities.
get_outage_settingsOutage messages, safe colour overrides, reroute status and maintenance state for a selected page. Returns the maintenance allowlist size without its addresses. Reroute keys, install snippets, custom CSS, custom HTML and credentials are excluded.
preview_outage_pageBounded outage preview data, including published names, branding, messages, safe colour overrides, the status-page URL and the latest check time. This read does not render or execute markup, fetch remote assets, or return custom CSS or HTML.
get_whatsapp_subscriptionYour own WhatsApp alert number, verification and pending-code status, current entitlement and deployment availability. No code or message is sent.
get_whatsapp_senderStored connection and business account ID, up to 25 sender numbers and 25 template states, hosted credit balance and auto-refill settings, and current entitlement/runtime availability. Available to all account roles. Credentials, setup identities, provider phone-number IDs, receivers, ledger entries and checkout configuration are excluded. This read does not refresh Meta, send messages or purchase credits.
add_whatsapp_receiver, set_whatsapp_receiver_scope, remove_whatsapp_receiverPreview. Use list_whatsapp_receivers to select an existing receiver for a change or removal. Browser review with fresh identity confirmation for an exact destination and component scope. Requires owner/admin and every affected page selected. Adding keeps the receiver unverified and sends no code. Scope changes preserve verification. Production setup remains unavailable; removal retains cleanup after rollout or entitlement loss.
set_whatsapp_sender_numberPreview, using a sender-number ID returned by list_whatsapp_sender_numbers. An owner/admin reviews an existing sender number in InBrief and confirms identity. This changes the sender for the whole account, including future pages. Selected pages do not limit this account setting. Production setup remains unavailable.
disconnect_whatsapp_senderReview removal of the local sender connection with fresh authentication. This changes the whole account; selected pages do not limit it. Receivers and paid credits remain. Meta access is not revoked, deployment fallback may still deliver messages, and work already started may finish. Cleanup stays available after entitlement loss or rollout shutdown.
connect_whatsapp_senderReview connecting this account's WhatsApp sender under one arrangement: hosted or your own Meta business. Enter the Meta signup, number and invitation address only on that authenticated screen; no code or token passes through the tool or its result. This changes the whole account; selected pages do not limit it. A connected sender must be disconnected first, and hosted arrangements need the deployment gate and entitlement.
refresh_whatsapp_senderOwner or admin re-read of the connected sender's Meta state: numbers, template states and quality. It sends no message, changes no setting and returns no credential. It requires an existing sender connection.
cancel_whatsapp_auto_refillReview cancellation in InBrief and confirm your identity. This stops future automatic credit purchases for the whole account; selected pages do not limit it. Charges already started may complete and paid credits remain. Cleanup stays available after entitlement loss or rollout shutdown. This tool never initiates a payment.
list_whatsapp_receiversSeparately selected owner/admin read of receiver IDs, names, masked numbers, verification state and component subscriptions. A receiver appears only when all its current component pages are selected. Up to 25 records per page.
list_whatsapp_sender_numbersSeparately selected owner/admin account-wide lookup of sender number IDs, masked numbers and the current default. This supports account settings and grants no additional page access.
verify_whatsapp_receiverRequest an authenticated browser review for a receiver ID, then inspect opaque status. In the browser, review the destination, subscriptions, message credits and automatic refill before explicitly sending. Enter the phone code only in InBrief. The 60-second resend cooldown, 10-minute code validity and five incorrect attempts also apply to the existing console. Unknown delivery is not resent automatically. Production verification remains disabled by the current rollout gate.
get_storage_settingsSelected-page storage and backup providers, configuration-presence flags, backup result and timestamp, and current ingestion entitlement. Owner/admin only; the installation must expose storage settings. Warehouse identifiers, endpoints, usernames, credentials, DDL, cursors and provider error text are excluded. No provider connection is opened or tested.
configure_storageOpens a storage review for a selected page. The original owner or admin enters warehouse settings in the browser, confirms identity and explicitly approves a test or save. Credentials and provider results stay out of the conversation. Opening the review does not contact a warehouse. Tests can issue queries; Snowflake may resume a warehouse and incur provider charges. A test leaves settings unchanged. A save applies only the reviewed, successfully prepared configuration. An unknown provider response is shown for review and is not blindly retried.
list_audit_eventsUp to 50 events for selected active pages, plus the reviewed account actions described below. Owner/admin only, with readable audit history. Free-form labels, metadata, step-up proof identifiers and events for unselected or deleted pages are excluded.
get_account, list_status_pagesYour identity and the active pages selected for this connection.
get_billing_overview, quote_subscriptionOwner-only account billing state or a server-calculated subscription quote. These reads do not open checkout, contact a provider, charge a payment method or change the subscription.
open_status_subscriptionPreview. Choose email or browser push for a selected page, then open the review in InBrief. Enter your email and follow its confirmation link, or explicitly enable browser notifications and complete the delivered challenge. Opening the page alone does not complete the action. Keep mailbox links, push credentials and browser handoff links out of the AI conversation. Reviews last up to 15 minutes and retain the original connection and page permissions. Revoking MCP prevents new delegated sends and MCP completion; it does not revoke an email confirmation link already delivered or unsubscribe you. Existing public preference and unsubscribe controls remain available to the subscriber.
update_status_subscription_preferences, unsubscribe_status_subscriptionChange or end an existing subscription to a selected page. Being signed in to InBrief is not enough: the mailbox or the device has to answer. For email, enter the subscribed address on the status page and follow the link sent to it; the change or departure takes effect only then, and an address that is not subscribed gets the same answer and no mail. For browser notifications, use the device that holds the subscription. Keep mailbox links and handoff links out of the AI conversation. The subscriber's own preference and unsubscribe controls are unaffected.
open_subscription_checkoutOwner or Admin requests a browser review of an InBrief subscription quote. The original user confirms identity and approves checkout preparation. Payment happens separately in Paddle’s browser checkout. Provider transaction identifiers and checkout configuration are not returned through MCP.
open_billing_settingsOwner or Admin browser navigation to InBrief billing settings. The requesting person reviews the account in their signed-in browser before continuing. It does not create a provider session, authorize a payment or change a subscription.
list_monitors, get_monitor_options, get_monitorMonitor identifiers and safe operational settings, including who acknowledged the current outage and which escalation policy the monitor follows. Request targets, headers, bodies and credentials are excluded.
list_incidents, get_incidentIncident or maintenance details and bounded customer timeline updates. Private postmortems and internal feed records are excluded.
list_incident_templates, get_postmortemPrivate editorial content for eligible subscriptions and roles. Viewers cannot use these tools.
create_incident_template, update_incident_templateSave a custom incident or update-template draft. The page's default language is required; drafts may also include its enabled languages. Updating source content clears unsupplied stale translations while preserving translations edited in the same save. The result includes translationStatus. These tools do not call or schedule translation, publish an incident or notify subscribers.
delete_incident_templateDelete one custom template at its current revision. Built-in templates cannot be deleted.
save_postmortem_draft, publish_postmortemSave private Markdown or separately publish a resolved incident's postmortem at its current revision. First publication queues configured subscriber delivery. Corrections preserve publication history without another first-publication notification. Draft access does not grant publication.
list_internal_rulesOwners, admins and operators can read authored rule configuration and exact configured selectors. Channel IDs are references only. Overlong legacy selectors, regions or channel ID lists are explicitly omitted, never shortened into executable values.
create_internal_rule, update_internal_rule, mute_internal_rule, unmute_internal_rule, delete_internal_ruleCreate or change rules for the selected page. Existing-rule changes require the current revision. Mute lasts one hour. Editing an active rule can record a recovery event for configured channels. Viewers cannot use these tools.
get_internal_snapshot, list_internal_endpointsAll account roles can read bounded traffic metrics when Internal is available. Observed paths and endpoint-derived prefix dimensions are excluded. Endpoints use opaque references scoped to the page; cursors are tied to one exact snapshot revision.
update_monitorPatch public names, display group, check interval or automatic-incident behaviour for an outbound monitor using the current revision from get_monitor. Omitted fields remain unchanged. Request configuration and heartbeat settings require their complete editor workflows.
acknowledge_outageClaim a down monitor's current outage as the person who connected the client. Owners, admins and operators can use it; viewers cannot. InBrief posts your name to the page's Slack channel when one is connected, and the escalation policy alerts nobody else about that outage. The first acknowledgement wins, and a later call returns the earlier person's name. A monitor that is not down returns a conflict.
set_monitor_escalation_policyChoose the escalation policy for one monitor, or null to follow the account default. Owners and admins only. Policy ids come from list_escalation_policies.
set_database_connection_interval, pause_database_connection, resume_database_connection, disconnect_database_connectionManage a saved connection as an owner or admin with its current revision. Interval is 1–5 minutes. Resume makes collection due; disconnect removes the saved connection and its check history. Separately retained observations remain. These tools accept no credentials.
reorder_monitorsReplace the complete order of up to 100 monitors on one selected page. Supply each current ID and position with the desired order. Changed membership or positions cause a conflict.
update_outage_appearance, update_outage_message, update_outage_maintenanceUpdate colours, the standing message or maintenance mode using the matching revision from get_outage_settings. Colours preserve custom code. Maintenance replaces the complete IP allowlist and returns only its count. Owner, admin and operator roles can use these tools; colours and maintenance require Outage continuity.
list_database_connections, get_database_connection, list_database_observationsRead saved connection labels and health, retained samples, and bounded observations when Database Health is available. Follow returned cursors and truncation indicators. Credentials and raw provider errors are excluded; no check runs.
create_database_connection, replace_database_connection, test_database_connectionOpen a browser review for one selected page where an owner or admin enters the engine, endpoint, database and read-only credentials. Never paste a database password into an agent conversation or tool call. A test makes one real outbound connection and saves nothing; creating or replacing a connection needs fresh identity confirmation, and replacing one needs its expected revision, clears stored history and restarts collection. The tool receives the saved connection and revision or the test outcome, never the configuration or credentials.
get_database_health_availability, get_database_health_snapshot, list_database_alert_rulesRead current feature availability, stored pool metrics and assessments, or rule definitions and channel references. Metrics use bounded live pages; reports can change between page requests. Rules return revisions for later changes.
create_database_alert_rule, mute_database_alert_rule, unmute_database_alert_rule, delete_database_alert_ruleManage Database Health rules as an owner or admin. Changes require the current revision, except creation. Mute lasts one hour. Creating or unmuting a rule can enable future configured notifications. Retry with the same idempotency key and arguments.
update_branding, update_language_settingsChange page settings using the revision from the corresponding read tool. Branding preserves omitted fields. Language changes can queue entitled AI translation; settingsApplied: false means translation was queued while the language selection stayed unchanged. Use a new command after translation finishes to change the default.
pause_monitor, resume_monitorPause or resume one monitor at its current revision. Pause stops new checks and resolves the monitor's unresolved automatic incidents, preserving manual incidents. Resume checks the current type, subscription, deployment and active-monitor allowance and resets stale scheduling state.
configure_outage_codeStore a proposed CSS/HTML change for an owner or admin to review and approve in InBrief, or read that request's status. The request changes no outage-page settings. Code, credentials and approval proofs are excluded from MCP results.
list_escalation_policiesEvery role can read the account's escalation policies, their revision and the people a step can name. An account that never saved a policy shows the built-in default, which alerts owners and admins straight away.
replace_escalation_policiesOwners and admins replace the whole set of policies at the revision from list_escalation_policies. Send every policy to keep, with exactly one default. A monitor whose policy is removed follows the default. A stale revision returns a conflict.
list_team_membersThe founder and a page of team members, including pending invitations. Returns email, role, status and last-seen time, without private phone numbers or invitation credentials.
get_brandingPage names, appearance, published languages, public support email and history windows. Reports logo presence and usability without returning its URL.
get_language_settingsStored and published languages, translation backlog, content coverage and subscriber counts by language. Translation usage is the account-wide daily count. Subscriber identities and draft text are excluded.
list_api_keysActive and revoked key metadata, including identifying prefixes, scopes, creator email and dates. Owner/admin only. Plaintext keys and hashes are excluded.
get_custom_domainStored validation state, public hostname and CNAME requirements. This read does not check DNS or change the domain.
list_webhooksSelected events, configured active state and last-delivery status. Receiver URLs show only the origin; signing secrets and URL paths, queries and credentials are excluded.
list_webhook_deliveries, get_webhook_deliveryRetained delivery metadata for a selected page and receiver: event, HTTP status, attempts, duration and dates. Request/response bodies and raw transport errors are excluded. These tools do not replay deliveries.
list_subscribers, list_subscriber_endpointsPrivate subscriber email addresses and subscription scope, or safe chat-destination labels and state. Owner/admin only. Credentials, confirmation tokens and complete destination addresses are excluded.
manage_slack_credentialsSource workflow: inspect the selected page's revision, then review replacement or removal of its Slack incoming webhook in InBrief. Enter the webhook only in the authenticated browser and confirm your identity. Owners and admins need the current Slack entitlement. Removal clears local configuration; it does not revoke the webhook at Slack or send a message.
get_email_settings, get_slack_settingsEmail sender, safe SMTP connection fields, delivery health and subscriber limits; or Slack connection presence and current allowance. Passwords, API keys and Slack webhook URLs are excluded.
publish_incident, update_incident, resolve_incident, reopen_incident, append_incident_update, delete_incidentManage an incident and its timeline on the selected page. Existing incidents require both revision values returned by the incident read. Publication accepts notification delivery; editing, resolving, reopening and appending take an explicit notification choice. Reopening clears the resolution time and preserves the existing copy and timeline; published postmortems cannot be reopened. Deletion does not retract notifications already accepted for delivery.
schedule_maintenance, update_maintenance, cancel_maintenance, complete_maintenanceManage maintenance windows on a selected page. Updates and cancellations apply to scheduled windows before they start; completion applies to active or overrun windows. Use both current revision values when changing an existing window.
invite_team_member, change_team_member_role, remove_team_memberOpen an account-level review in InBrief. An owner or admin reviews the change and confirms their identity. Page access is not required. Invitation acceptance queues an email; it does not confirm delivery. Role changes and removals require the membership revision from list_team_members.
create_monitorCreate a monitor using credential-free settings. HTTP and WebSocket addresses cannot contain user information, query strings or fragments. Creation can start outbound checks. Use the secure request review to add private settings.
configure_monitor_requestOpen a secure InBrief review for the current monitor revision. An owner or admin confirms their identity and enters request addresses, headers, parameters, bodies, assertions or credentials in InBrief. Do not send those values in an MCP call.
delete_monitorDelete a monitor at its current revision, including retained checks, daily rollups and heartbeat credentials. Open machine-managed incidents are resolved. History cleanup can finish before the final receipt; retry a failed deletion with the same idempotency key and arguments.
fill_missing_translationsRequest missing translations for an enabled language within the page's current allowance. Acceptance queues durable work; it does not mean translation has finished.
update_notification_templateSave or clear custom subscriber-email copy for a published language at its current template revision. Placeholder validation and customisation permissions apply. This does not preview or send a message.
list_notification_templates, get_notification_templateSubscriber email template defaults and retained custom copy for the page's published languages. These reads do not translate, preview or send messages.
get_public_page, get_status_summary, get_status_historyPublic page configuration, current service summaries and historical windows. Summary and history return a bounded page of services.
list_public_incidents, get_public_postmortemThe public incident ledger and published postmortem content. Draft bodies and private revision history are excluded.
get_status_badge, get_incident_feed, get_maintenance_calendarBadge JSON or structured public feed/calendar entries, subject to the feature's current availability. These tools do not generate subscriptions or send notifications.
list_embed_installations, get_embed_installationSelected-page badge and widget presentation settings. Custom host code, destinations, credentials and audit actors are excluded.
create_embed_installation, update_embed_installation, revoke_embed_installationCreate and update validate presentation settings, page scope and available features; update and revoke require the current revision. Revocation remains available after the kind entitlement expires. Existing cached public responses may remain for up to five minutes.
preview_widget, preview_badgeDeterministic widget markup or badge SVG from a strict presentation draft. Previews do not run custom code, contact providers or write data.
export_audit_eventsRequest a browser review or check its status. Export only selected active-page audit events and reviewed account-level team, audit-export and sign-in security actions. Owners and admins with audit read access approve a one-use browser download. MCP never receives the CSV or download credentials.

Audit history returns newest events first. Pass nextCursor as cursor for the next batch. An optional pageId limits results to that selected active page. Without it, the account view also includes six actions with no page: team.member_invited, team.member_role_changed, team.member_removed, audit_log.exported, security.step_up_completed and security.step_up_denied. Account and page filters apply before pagination.

Monitor, incident, template, API key, webhook and webhook delivery lists return ascending IDs. Pass nextAfterId as afterId to read another page. The team roster uses ascending email order; pass nextAfterEmail as afterEmail. For incident updates, pass nextAfterUpdateId as afterUpdateId; use sequence and createdAt to interpret their chronology. A null cursor marks the end. Lists default to 10 records, with a maximum of 25. Incident updates default to 5, with a maximum of 10.

Subscriber and endpoint lists also use nextAfterId. Subscriber email scope returns at most 100 service slugs, with serviceScopeCount and serviceScopeTruncated indicating the complete stored scope's size. Notification templates follow catalogue order using nextAfterKey, with a maximum of 10 templates per page. Public summary/history services use ascending slugs and nextAfterServiceSlug. Public incident, feed and calendar results are bounded snapshots; they do not expose the same cursor as private incident lists.

For monitor, incident, template and postmortem reads, specify language or omit it to use the page default. Missing incident translations are empty. For postmortems, version selects draft or published and does not change publication. These reads never translate or publish content.

A monitor's recordedState is its stored last state. Use observation for outbound check freshness. Heartbeat observation, monitoring enablement and effective outbound interval are null because this read does not evaluate the inbound heartbeat lifecycle.

Internal rule lists return up to 100 rules in ascending ID order; pass nextAfterRuleId as afterRuleId. The omission flags selectorOmitted, regionOmitted and channelIdsOmitted identify legacy values that exceed the contract's bounds. The derived sentence is null when its inputs are omitted. Rule configuration can contain writer-authored paths; viewer-readable analytics does not return raw observed paths. Endpoint lists return up to 100 metrics and require the same snapshot selection when continuing with a cursor.

Write custom incident templates

create_incident_template, update_incident_template and delete_incident_template manage custom templates. Create requires the page, template draft and an idempotencyKey. Update also requires the custom template's templateId and current template.expectedRevision. Both save the supplied draft and return its current translationStatus. They do not call or schedule automatic translation.

Delete requires the selected page, templateId, current expectedRevision and an idempotencyKey. Read the template again before updating or deleting if its revision has changed. If a response is lost, retry the same tool with the same key and arguments. InBrief returns the stored result, including its receipt ID, without applying the write again. Reusing a key with different arguments returns CONFLICT.

Read connection context and outage templates

get_console_context returns your account ID, email, current role, selected active pages and the selected tools currently available to your connection. It does not grant additional permissions. Each later call checks access again. Page discovery has a 1000-page limit. pageSelection.limitReached reports that the discovery ceiling was reached; it does not count omitted selected pages.

get_outage_snippets returns installation templates for a selected page. Worker and nginx templates contain INBRIEF_REROUTE_KEY_REPLACE_IN_BROWSER instead of your reroute key. They are incomplete. Use the credential-bearing snippets in the InBrief dashboard to prepare the final configuration. Never paste your key into an agent conversation. The static error-page variant needs no credential, but cannot show live incident text. Unconfigured rerouting returns snippets: null. Reading templates does not install or verify your infrastructure.

Review an outage-code change

configure_outage_code is available to owners and admins when the page's maintenance-mode feature is available. Select this tool and the page explicitly. A request stores the submitted and sanitised CSS/HTML for review; it does not change outage-page settings. Do not include secrets or credentials in code.

  1. Submit the proposal with operation.kind: request and an idempotencyKey. Retry a lost response with the same key and arguments.
  2. Open the returned InBrief review URL as the same person who connected the client. Check the account, page, escaped code and the changes made by the sanitiser.
  3. Use the review screen to request an identity-confirmation email. Complete the scoped email challenge, then return to the review screen and explicitly approve the displayed change.
  4. Read the outcome in InBrief, or use operation.kind: status with the returned actionId. A pending response means approval is still required.

The request expires within 15 minutes, and sooner when its original access token or connection expires. Refreshing the client's token does not extend that request. If the page's theme changes or access is revoked, approval is refused. Request a new review of the current state. Cancellation changes no outage-page settings. Completion and cancellation clear the stored proposal code; expired pending rows are scheduled for cleanup 24 hours after expiry. Account deletion also removes pending proposals.

Use update_branding for appearance settings and configure_outage_code for outage-page custom CSS/HTML. Credential-bearing outage install snippets and the authenticated reroute-state IP allowlist are not public MCP output.

Review outage installation credentials

The source implementation of manage_outage_credentials supports operation.kind: request with action: generate or action: reveal, followed by operation.kind: status and its actionId. Select this tool and the page separately. Owners and admins with Outage continuity open the review in InBrief, confirm their identity and explicitly approve. The credential appears only in that browser; the agent receives safe status. Generation keeps an existing key unchanged, and this flow does not rotate or remove it. Repeat reveal requires a new review and confirmation.

Ordinary outage setup also requires identity confirmation before generating or revealing its credential. Loading safe settings does not. These actions do not install routing or prove that traffic will reroute. Access requires an enabled MCP deployment and an explicitly selected tool and page. Live routing must be verified separately.

Review webhook and API-key changes

Select each tool and page explicitly. create_webhook, update_webhook, delete_webhook, create_api_key and revoke_api_key prepare a review; the MCP request alone does not apply the change.

  1. Ask the client to prepare the change with operation.kind: request and an idempotencyKey. For an existing resource, supply its current revision from the relevant list.
  2. Open the returned InBrief review URL as the person who connected the client. Check the account, page, resource and proposed effect. For a new webhook, enter its receiver URL directly in this screen.
  3. Confirm your identity using the email challenge, return to the same browser review and approve. You can cancel a pending review without changing the resource.
  4. Copy a newly created API key or webhook signing secret from the browser response and store it securely. It is shown once. MCP results and replayed approvals do not reveal it.
  5. Use operation.kind: status and the returned actionId to check completion.

A webhook update changes subscribed events or active state; it does not replace the receiver URL. API-key revocation requires the current key revision. Revocation is permanent. A review expires within 15 minutes, or sooner if its original token or connection expires. Changed permissions, revoked access, an expired identity proof or a changed resource revision can prevent approval.

Review subscriber destination credentials

The credential workflow adds separate selections for create_subscriber_endpoint, replace_subscriber_endpoint_credentials and revoke_subscriber_endpoint. Open the returned review link, check the page and provider, confirm your identity, and enter credentials only in the authenticated browser. Never paste bot tokens, webhook URLs or chat IDs into an agent conversation or MCP JSON configuration.

Discord and Teams save after approval. Telegram approval first schedules a verification challenge. A successful send saves a pending destination. Select verify_subscriber_endpoint separately to open an authenticated room-code review. Enter the code only in the browser; this verification tool sends no extra challenge. An unknown provider result is not retried automatically and does not publish a new destination. Refresh the review to see its current status. Test delivery requires the separate send_subscriber_endpoint_test selection.

Credential replacement is a separate permission from changing a destination name, language, service selection or enabled state. Current role, page access, provider availability, connection selection and request expiry are checked again before the change takes effect.

Review heartbeat credentials

issue_heartbeat_credential, rotate_heartbeat_credential and revoke_heartbeat_credential issue, rotate and revoke a cron job monitor's private URL. Availability depends on the deployed tool catalogue and your selected tools. Each accepts a pageId and a request with the matching kind and monitorId. Open the returned review URL, confirm your identity and approve the change. The review binds the current credential revision; if someone rotates or revokes it first, request a new review.

Copy the success, start and failure URLs from the browser after issue or rotation. They appear once and are never returned to MCP. Rotation preserves the existing overlap for installing the new credential. Revocation disables active and retiring credentials. Owners and admins can revoke after the heartbeat entitlement ends when the page still permits changes. Page access restrictions remain in force. Cancelling a review does not change any credential.

Translate one record

translate_monitor and translate_incident inspect missing text with operation.kind: inspect. Supply the returned revision as expectedRevision, an idempotencyKey and operation.kind: request to queue translation. Use operation.kind: status with the returned operationId to read the outcome.

Acceptance means the request was saved. The worker uses the configured AI provider and shares the account's daily translation allowance with other translation workflows. It rechecks current access, page languages and source text before sending, and preserves human translations. Heartbeat monitor translations require an account owner or admin. An uncertain provider outcome stops automatic resends; a new request can incur another provider charge. No source text, prompt or credentials are accepted from the agent.

Manage chat destination details

update_subscriber_endpoint, enable_subscriber_endpoint and disable_subscriber_endpoint are separate permissions for existing Discord, Teams and Telegram destinations. Select the tool and page, then use list_subscriber_endpoints to obtain the endpoint ID, updatedAt and credentialRevision. Pass those values as endpointId, expectedUpdatedAt and expectedCredentialRevision, with an idempotencyKey.

Updates change only the name, enabled page language and service scope. Enabling a destination requires its existing verification and credential. Owners and admins can use these tools when the provider is available to their account. Credential setup, replacement, revocation and verification use their separately selected browser-review tools. send_subscriber_endpoint_test requests a test with the same endpoint revision values. Use request.kind: send to request delivery and request.kind: status with request.operationId set to the returned operation.id to check the result. The tool sends the standard test message; it accepts no message text or credentials. A successful test can activate a pending or disabled destination. A queued response is not delivery confirmation. Unknown delivery is not automatically resent, and a late result cannot alter replaced or revoked credentials.

Change an existing subscription

Owners and admins can select request_subscription_change and provide the complete selection and page quantity. The tool returns an InBrief review link. It cannot accept a price, account ID or confirmed=true as payment authority.

Open the link in the requesting person's browser. Confirm your identity, choose Review current price, and check the selection, page quantity, renewal subtotal and immediate charge preview before approving. Additions apply a prorated change now; reductions wait for the reviewed renewal date. The price review lasts 60 seconds. A changed or expired quote requires another review.

For paid additions, the provider calculates proration when the change is applied. InBrief checks the current quote before sending, but the provider does not offer an atomic price lock. Timing and changes made directly in the provider's portal can still affect the final charge. If the provider cannot quote an immediate amount, this MCP workflow stops before approval.

An accepted request is not a confirmed payment. Paid access updates through the existing payment webhook. If the result is unknown, use Check provider result; do not submit another charge. InBrief keeps the unresolved operation and does not resend it automatically.

The regular Billing screen also requires identity confirmation before committing a subscription change. Previewing a price does not require that proof. Financial workflows remain subject to each client directory's financial-action rules; availability in InBrief does not imply directory acceptance.

Undo a subscription change or cancellation

Owners and admins can select keep_subscription_selection to undo a pending configuration change, or resume_subscription to undo an upcoming cancellation. Supply an idempotencyKey for the request and reuse it if the response is lost. Resume does not restart a paused subscription. Open the InBrief review link, check the configuration, quantity, monthly subtotal before taxes and effective date, then confirm your identity by email. Return to the original browser tab and explicitly approve. Neither operation charges immediately.

Keep using the existing action to check its outcome. A checking response means the provider result is unresolved; starting another action can create conflicting work. InBrief checks provider state before and after the change, but a change made through the provider portal can still race with it. Subscription changes use the browser approval described below.

Subscription checkout

Select open_subscription_checkout for the connection. Send the desired selection, page quantity and an idempotency key. InBrief calculates the quote for the connected account; the tool does not accept an account ID, price or model approval.

Open the returned review URL in InBrief using the original account and browser session. Review the server quote, confirm your identity by email, then choose to prepare checkout. This approval may create the Paddle customer and address prefill and a checkout transaction. It does not pay for or activate the subscription.

When checkout is ready, load the payment window and explicitly continue to payment. InBrief checks access again before opening Paddle. Complete payment there. Subscription activation still follows the existing verified payment processing. If preparation remains uncertain, refresh the review for its recorded status; InBrief does not automatically repeat the provider request. Do not create another request merely to retry an uncertain preparation.

Financial-action restrictions still apply to directory submissions. A working InBrief checkout flow does not establish Claude or ChatGPT directory eligibility.

Request webhook delivery

send_webhook_test requests a test for a selected webhook. redeliver_webhook requests another attempt for a selected delivery. Both require current permission, the webhook revision and an idempotencyKey. An accepted request means work was saved, not that the receiver accepted it. Use operation.kind: status with the returned operationId to check its outcome.

Retry a lost acceptance response with the same arguments and key. This does not create another operation. Receiver delivery can still be repeated after an interrupted attempt; receivers should handle repeated envelope IDs. Receiver URLs, signing secrets and raw delivery bodies are not MCP output.

Read the public outage representation

get_public_outage returns safe branding, the standing message, maintenance state, the latest check time and the newest eligible current incident for a selected page. It returns at most 100 affected services and 100 visible updates, with flags indicating omitted entries. Reroute keys, private allowlist addresses and custom CSS or HTML are excluded.

Publish an incident from Internal traffic

publish_internal_incident publishes an incident from Internal traffic. Select the page and tool, then use the current Internal snapshot to choose the affected interval, monitors and impact. InBrief recalculates that selection before accepting the incident. If traffic data changed, refresh the snapshot and review the proposed incident again. An accepted response means the incident and first update were saved with notification work; it does not confirm that subscribers received a message.

Use the same idempotencyKey and arguments after a lost response. Current permission and subscription checks still apply to a replay.

Retry operational changes

Direct write tools require the role and current feature access stated in each tool description; viewers cannot use them. Postmortem, Internal rule and monitor changes also require an idempotencyKey and the current resource revision where the tool schema requires it. Reuse the same key and exact arguments after a lost response. InBrief returns the stored receipt result after checking current access. A changed argument requires a new request; an old receipt cannot restore revoked access.

Custom domain changes

Use get_custom_domain to read the current binding revision. The connect_custom_domain and disconnect_custom_domain tools open a browser review. Check the hostname and page, confirm your identity, then approve or cancel. Approval queues provider work; it does not mean the hostname is live. Ask the same tool for the action status to check the provider result.

refresh_custom_domain queues a verification check using the current revision. Reuse its idempotency key when retrying, and use its operation ID to read the result. Owners and admins can refresh an existing domain without an active custom-domain subscription. Ordinary active-page and Free page limits still apply. Disconnection can also remove a binding from a selected inactive or noncontinuing Free page, while preserving the connection's selected tools and pages.

An uncertain registration means InBrief could not verify whether the provider accepted it. Contact support with the operation ID before trying to register it again. InBrief keeps the reservation and does not automatically repeat an uncertain registration. Disconnection removes the local address immediately after approval; provider cleanup remains durable if the provider is unavailable.

Email settings and test delivery

Select email tools individually. update_email_settings changes the existing sender's From name. Use the revision from get_email_settings when making a change.

configure_email_credentials opens a browser review for sender addresses, providers and SMTP settings. Enter API keys and SMTP passwords only on that authenticated screen, then confirm your identity and approve the exact proposal. Never paste a credential into an agent conversation or tool call. A blank credential keeps the stored credential only for the same provider. Choosing the default sender clears the custom credential and From settings.

send_test_email queues one message to your signed-in email address. It cannot send to an arbitrary recipient. Wait at least 60 seconds between test requests on the same page and read the operation status: sent confirms provider acceptance, logged means no live provider was used, and uncertain means the provider outcome is unknown. An uncertain test is not automatically resent. Queued tests older than 15 minutes are cancelled before delivery.

Your personal WhatsApp subscription

Select request_whatsapp_subscription, verify_whatsapp_subscription and remove_whatsapp_subscription separately. Each opens a browser review for your own account identity. Enter your phone number and verification code only in that screen, never in an agent conversation.

Request approval queues a code. Check the action status to distinguish acceptance from confirmed delivery; an uncertain send is not repeated automatically. Enter the delivered code in the verification review. Codes expire after ten minutes and allow five wrong attempts. Repeating the same browser approval does not consume another attempt.

Removal requires approval of the exact reviewed personal number and remains available after the WhatsApp entitlement ends. It removes the number and pending code. Owners and admins with verified numbers receive operational alerts; ordinary members can manage their number but are not alert recipients. Revoking MCP prevents queued delegated sends, but a code already delivered retains its ordinary verification lifetime.

Change or end a status-page subscription

Select update_status_subscription_preferences and unsubscribe_status_subscription separately. Both open the same kind of review as open_status_subscription: your browser continues on the public status page, and the subscription itself only changes when its own mailbox or device answers.

For email, enter the subscribed address and follow the link that arrives. Preferences stay as they were until you do, and an unsubscribe link is only sent to an address that is actually subscribed; every other address receives the same confirmation on screen and no mail. For browser notifications, open the review on the device that holds the subscription: that device proves itself with its own stored credential, so no other browser can change or end it. Reviews last up to 15 minutes and keep the original connection and page permissions.

Database Health connections

Select create_database_connection, replace_database_connection and test_database_connection individually. They are available to owners and admins on pages where Database Health is switched on for your account.

Every one of them opens an authenticated browser review. Enter the engine, hostname, port, database name and read-only credentials only on that screen; never paste a database password into an agent conversation or a tool call. A test makes one real outbound connection through InBrief's existing network policy, is rate limited per page, and saves nothing. Creating or replacing a connection asks you to confirm your identity again. A replacement applies only at the revision you reviewed, clears the stored check history and restarts collection from the next check. The connected client sees the saved connection and its revision, or the test outcome, latency and diagnostic capabilities. It never sees the configuration or the credentials.

Delete your InBrief account

request_account_deletion is owner-only and must be selected on its own. It opens a browser review that names the account email, the status pages that will be deleted and whether an active subscription is cancelled first. Confirm your identity again, type the owner email exactly and approve.

This is permanent. It deletes every status page, subscriber, teammate, integration and MCP connection with the account, and it signs you out of the browser you approved in. An accepted deletion cannot be cancelled from the review. If cancelling the subscription fails, nothing is deleted and the review says why; request a new review after resolving it. A mistyped email deletes nothing and does not consume your identity confirmation.

Reduce or disconnect access

Open Account → Access → MCP connections and edit your connection. Uncheck tools or pages and save reduced access, or press Disconnect to revoke it. To add access, reconnect from the client and approve a new connection. A revoked connection cannot be reactivated. Signing out of the InBrief browser session does not disconnect an existing MCP connection.

Unused client registrations expire after seven days. If a saved client registration expires, start a new connection in your client. Approved registrations remain valid through their connections' expiry.

Connections expire after 30 days. Access tokens last at most ten minutes and the client renews them with a rotating refresh token. A replayed refresh token revokes the connection; reconnect instead of repeatedly retrying a rejected credential.

Review your activity

In Account → Access → MCP connections, open Your activity to review your connection changes and tool-call outcomes for the current account. The list covers the last 365 days, newest first. Use Older activity to continue through the history or Latest activity to refresh it. Activity records include tool names and outcomes, without arguments, returned data or credentials. A read result is withheld if InBrief cannot save its activity record.

Protocol and error reference

The endpoint is POST /api/mcp. Use MCP Streamable HTTP with JSON responses and OAuth authorization code with PKCE S256. The resource parameter must exactly match your MCP URL; scope is inbrief:mcp. This scope alone grants no product tool. The server supports dynamic registration of public clients. Existing incident/ingest API keys cannot authenticate MCP.

ResultWhat to do
404 / MCP disabledCheck the URL and deployment rollout state with your administrator.
401Let the client follow OAuth discovery or renew its token. Reconnect after revocation or expiry.
ACCESS_DENIEDReview the exact tool, selected page, account policy and current role. Repeated login does not grant a missing permission.
INVALID_INPUTUse the tool's published schema and bounded input. Extra fields are rejected.
NOT_FOUNDCheck the resource ID and selected page. A foreign resource receives the same answer as a missing one.
FEATURE_NOT_ENTITLEDThe feature is no longer readable under the current subscription. Reconnecting does not change subscription access.
CONFLICTReload settings and compare the current revision before saving again.
429 / RATE_LIMITEDWait before retrying. The connection allows 120 MCP requests per minute.
INTERNAL_ERRORThe operation could not complete. Retry the read later; if it keeps failing, contact support with the tool name and error code.
Empty tool listNo currently permitted tool was selected, or your role/policy changed. Review consent.

Tools return structured results limited to 128 KiB. Reduce limit or narrow the query if a result is too large. An isError: true result includes a stable code and a short message. No resource or prompt endpoint provides alternate access to disabled tools.

Deployment and support

Claude and ChatGPT need to reach your HTTPS endpoint. Customer-installed, Hybrid and air-gapped MCP profiles are not yet accepted. Contact the InBrief support channel shown in your installation with your client version, the tool name and the error code. Do not send tokens, cookies, authorization codes or secrets.