Tool permissions, OAuth and configuration examples. MCP is under development.
Connect an AI client with MCP
Not yet available
Under development
Under development. InBrief MCP is disabled by default. These instructions describe the implementation being prepared; they do not announce a live endpoint or approved directory listing. The planned product inventory is broader than the currently registered tools. Check your installation's MCP settings for the tools it actually offers.
Before connecting
- Your deployment administrator enables MCP. Your account owner opens Settings → MCP connections, enables account access and checks the maximum tools and pages that users may delegate.
- Copy the MCP endpoint shown in settings. Examples below use
https://inbrief.example/api/mcp; replace it with that URL. - 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.
{
"mcpServers": {
"inbrief": {
"type": "http",
"url": "https://inbrief.example/api/mcp"
}
}
}Cursor
File: .cursor/mcp.json. Client documentation.
{
"mcpServers": {
"inbrief": {
"url": "https://inbrief.example/api/mcp"
}
}
}VS Code / GitHub Copilot
File: .vscode/mcp.json. Client documentation.
{
"servers": {
"inbrief": {
"type": "http",
"url": "https://inbrief.example/api/mcp"
}
}
}Gemini CLI
File: .gemini/settings.json. Client documentation.
{
"mcpServers": {
"inbrief": {
"httpUrl": "https://inbrief.example/api/mcp"
}
}
}OpenCode v2
File: opencode.json. Client documentation.
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"servers": {
"inbrief": {
"type": "remote",
"url": "https://inbrief.example/api/mcp"
}
}
}
}Windsurf / Devin Desktop
File: ~/.codeium/windsurf/mcp_config.json. Client documentation.
{
"mcpServers": {
"inbrief": {
"serverUrl": "https://inbrief.example/api/mcp"
}
}
}Codex
File: ~/.codex/config.toml. Client documentation.
[mcp_servers.inbrief]
url = "https://inbrief.example/api/mcp"Command-line setup
Claude Code can add the same entry directly. Run /mcp inside Claude Code to authenticate:
claude mcp add --transport http inbrief https://inbrief.example/api/mcp
claude mcp add-json inbrief '{"type":"http","url":"https://inbrief.example/api/mcp"}'Choose either Claude command, not both. For Codex, add the URL and start OAuth:
codex mcp add inbrief --url https://inbrief.example/api/mcp
codex mcp login inbrief --oauth-client-registration dcrIn 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
- For a small first check, approve
get_account,list_status_pagesand one page. - Ask: “Which InBrief account am I connected to, and which status pages can this connection access?”
- Check the returned account and page against your selection. Unselected pages must not appear.
- Remove
get_accountin MCP settings. A fresh or manually constructed call must be refused.
Current tools in source
This source contains 167 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.
MCP remains disabled by default; deployment does not mean that
client access is enabled or that a directory listing is approved. 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.
| Tools | Behaviour |
|---|---|
request_status_page_deletion | Review 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_deletion | Owner-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_purchase | Review 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_analytics | Aggregate page views, visitor days and confirmed subscriptions for a selected page over 7, 30 or 90 UTC days. No visitor identities. |
get_outage_settings | Outage 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_page | Bounded 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_subscription | Your own WhatsApp alert number, verification and pending-code status, current entitlement and deployment availability. No code or message is sent. |
get_whatsapp_sender | Stored 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_receiver | Source preview. 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_number | Source preview 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_sender | Review 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_sender | Review 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_sender | Owner 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_refill | Review 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_receivers | Separately 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_numbers | Separately 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_receiver | Request 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_settings | Selected-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_storage | Opens 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_events | Up 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_pages | Your identity and the active pages selected for this connection. |
get_billing_overview, quote_subscription | Owner-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_subscription | Source preview. 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_subscription | Change 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_checkout | Owner 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_settings | Owner 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_monitor | Monitor identifiers and safe operational settings. Request targets, headers, bodies and credentials are excluded. |
list_incidents, get_incident | Incident or maintenance details and bounded customer timeline updates. Private postmortems and internal feed records are excluded. |
list_incident_templates, get_postmortem | Private editorial content for eligible subscriptions and roles. Viewers cannot use these tools. |
create_incident_template, update_incident_template | Save 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_template | Delete one custom template at its current revision. Built-in templates cannot be deleted. |
save_postmortem_draft, publish_postmortem | Save 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_rules | Owners, admins and members 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_rule | Create 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_endpoints | All 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_monitor | Patch public names, display group, check interval or automatic-incident behavior 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. |
set_database_connection_interval, pause_database_connection, resume_database_connection, disconnect_database_connection | Manage 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_monitors | Replace 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_maintenance | Update 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 member roles can use these tools; colours and maintenance require Outage continuity. |
list_database_connections, get_database_connection, list_database_observations | Read 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 probe runs. |
create_database_connection, replace_database_connection, test_database_connection | Open 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_rules | Read 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_rule | Manage 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_settings | Change 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_monitor | Pause 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_code | Store 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_team_members | The 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_branding | Page names, appearance, published languages, public support email and history windows. Reports logo presence and usability without returning its URL. |
get_language_settings | Stored 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_keys | Active and revoked key metadata, including identifying prefixes, scopes, creator email and dates. Owner/admin only. Plaintext keys and hashes are excluded. |
get_custom_domain | Stored validation state, public hostname and CNAME requirements. This read does not check DNS or change the domain. |
list_webhooks | Selected 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_delivery | Retained 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_endpoints | Private 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_credentials | Source 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_settings | Email 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_incident | Manage 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_maintenance | Manage 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_member | Open 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_monitor | Create 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_request | Open 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_monitor | Delete 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_translations | Request 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_template | Save or clear custom subscriber-email copy for a published language at its current template revision. Placeholder validation and customization permissions apply. This does not preview or send a message. |
list_notification_templates, get_notification_template | Subscriber 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_history | Public page configuration, current service summaries and historical windows. Summary and history return a bounded page of services. |
list_public_incidents, get_public_postmortem | The public incident ledger and published postmortem content. Draft bodies and private revision history are excluded. |
get_status_badge, get_incident_feed, get_maintenance_calendar | Badge 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_installation | Selected-page badge and widget presentation settings. Custom host code, destinations, credentials and audit actors are excluded. |
create_embed_installation, update_embed_installation, revoke_embed_installation | Create 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_badge | Deterministic widget markup or badge SVG from a strict presentation draft. Previews do not run custom code, contact providers or write data. |
export_audit_events | Request 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
probe 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 InBrief's browser
console 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.
- Submit the proposal with
operation.kind: requestand anidempotencyKey. Retry a lost response with the same key and arguments. - 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.
- 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.
- Read the outcome in InBrief, or use
operation.kind: statuswith the returnedactionId. 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.
- Ask the client to prepare the change with
operation.kind: requestand anidempotencyKey. For an existing resource, supply its current revision from the relevant list. - 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.
- 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.
- 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.
- Use
operation.kind: statusand the returnedactionIdto 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
The next tool batch adds issue_heartbeat_credential,
rotate_heartbeat_credential and revoke_heartbeat_credential.
Availability depends on the deployed tool catalog 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 is in the next source batch. 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 Settings → 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 Settings → MCP connections, open Your MCP 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.
| Result | What to do |
|---|---|
| 404 / MCP disabled | Check the URL and deployment rollout state with your administrator. |
| 401 | Let the client follow OAuth discovery or renew its token. Reconnect after revocation or expiry. |
| ACCESS_DENIED | Review the exact tool, selected page, account policy and current role. Repeated login does not grant a missing permission. |
| INVALID_INPUT | Use the tool's published schema and bounded input. Extra fields are rejected. |
| NOT_FOUND | Check the resource ID and selected page. A foreign resource receives the same answer as a missing one. |
| FEATURE_NOT_ENTITLED | The feature is no longer readable under the current subscription. Reconnecting does not change subscription access. |
| CONFLICT | Reload settings and compare the current revision before saving again. |
| 429 / RATE_LIMITED | Wait before retrying. The connection allows 120 MCP requests per minute. |
| INTERNAL_ERROR | The operation could not complete. Retry the read later; if it keeps failing, contact support with the tool name and error code. |
| Empty tool list | No 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.