Skip to content

Relin

by earonesty · remote · no sign-in to list tools · v1.0.3 · published by GitHub user earonesty

Send and receive webhooks, manage customer endpoints, and inspect and retry deliveries.

Deletes · 12Final · 4Changes · 11

53 tools: 12 can delete or cancel things, 4 do something that can't be undone, 11 change things and 26 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http relin https://relin.app/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "resolve_anomalies" destructive (destructiveHint: true), and its name says "resolve", a word for reading.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "resolve_anomalies" says "resolve": a word for reading.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

53 tools

Deletes or cancels 12Claude Code: deny
  • archive_sourceDelete an incoming webhook source and its stored records, stop intake and delivery, and cancel its queued retries.No findings

    Why it is in this group

    • The name "archive_source" says "archive": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete an incoming webhook source and its stored records, stop intake and delivery, and cancel its queued retries. Use only when the user intends to remove that source.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • cancel_queued_retriesAuthenticated tool for cancelling queued retry jobs for a workspace or destination.No findings

    Why it is in this group

    • The name "cancel_queued_retries" says "cancel": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Authenticated tool for cancelling queued retry jobs for a workspace or destination.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • delete_endpointDisable a customer webhook endpoint so it no longer receives events.No findings

    Why it is in this group

    • The name "delete_endpoint" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Disable a customer webhook endpoint so it no longer receives events.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • delete_event_typeArchive an outbound event type so customers can no longer select it for new subscriptions.No findings

    Why it is in this group

    • The name "delete_event_type" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Archive an outbound event type so customers can no longer select it for new subscriptions.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • resolve_anomaliesAuthenticated tool for marking one or more open anomalies resolved by anomaly_id.1 finding

    Why it is in this group

    • The name "resolve_anomalies" says "resolve": a word for reading.
    • The server marks it destructive (destructiveHint: true).

    Findings

    • Warn

      The server marks "resolve_anomalies" destructive (destructiveHint: true), and its name says "resolve", a word for reading.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}; The name "resolve_anomalies" says "resolve": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Authenticated tool for marking one or more open anomalies resolved by anomaly_id.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • revoke_api_keyAuthenticated tool to revoke API key.No findings

    Why it is in this group

    • The name "revoke_api_key" says "revoke": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Authenticated tool to revoke API key.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • rotate_endpoint_secretAuthenticated tool for rotating the signing secret for one endpoint.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Authenticated tool for rotating the signing secret for one endpoint.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • rotate_source_tokenAuthenticated tool for rotating an ingest token and returning the replacement URL once.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Authenticated tool for rotating an ingest token and returning the replacement URL once.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • save_portal_settingsAuthenticated tool for saving portal branding defaults for an app.No findings

    Why it is in this group

    • The name "save_portal_settings" says "save": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Authenticated tool for saving portal branding defaults for an app.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • update_endpointChange a customer webhook endpoint URL, event subscriptions, signing settings, retry policy, or enabled state.No findings

    Why it is in this group

    • The name "update_endpoint" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Change a customer webhook endpoint URL, event subscriptions, signing settings, retry policy, or enabled state. Changes can interrupt or redirect future deliveries.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • upsert_event_typeCreate or update an outbound event type and its description for customer webhook subscriptions.No findings

    Why it is in this group

    • The name "upsert_event_type" says "upsert": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Create or update an outbound event type and its description for customer webhook subscriptions.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • upsert_recipientAuthenticated tool for creating or updating a recipient.No findings

    Why it is in this group

    • The name "upsert_recipient" says "upsert": a word for a change.
    • The input addresses people (input.recipient): what it sends cannot be taken back.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Authenticated tool for creating or updating a recipient.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
Can't be undone 4Claude Code: ask
  • create_endpointAdd an HTTPS webhook endpoint for a customer of an outbound app.No findings

    Why it is in this group

    • The name "create_endpoint" says "create": a word for a change.
    • The input addresses people (input.recipient): what it sends cannot be taken back.
    Description, as the server wrote it
    Add an HTTPS webhook endpoint for a customer of an outbound app. Configure event subscriptions and retry settings using the requested customer and URL.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • create_portal_sessionCreate a temporary customer webhook portal link for the specified app and recipient.No findings

    Why it is in this group

    • The name "create_portal_session" says "create": a word for a change.
    • The input addresses people (input.recipient): what it sends cannot be taken back.
    Description, as the server wrote it
    Create a temporary customer webhook portal link for the specified app and recipient. The link grants access to that customer’s webhook controls; share only with the intended user.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • replay_messageSend an existing outbound webhook message again.No findings

    Why it is in this group

    • The description's first verb is "send": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Send an existing outbound webhook message again. May repeat actions at customer endpoints; use only for the message the user wants replayed.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • send_messageSend a webhook event from an outbound app to the specified customer.No findings

    Why it is in this group

    • The name "send_message" says "send": a word for sending, and what is sent cannot be taken back.
    • The input addresses people (input.recipient): what it sends cannot be taken back.
    Description, as the server wrote it
    Send a webhook event from an outbound app to the specified customer. Requires the intended app, recipient, event type, and payload. Delivery can trigger actions at customer endpoints; an accepted message is not proof of delivery.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
Changes things 11Claude Code: ask
  • check_portal_hostAuthenticated tool for refreshing hostname, certificate, and OIDC readiness for a stable portal host.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Authenticated tool for refreshing hostname, certificate, and OIDC readiness for a stable portal host.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • create_alert_channelAuthenticated tool to create alert channel.No findings

    Why it is in this group

    • The name "create_alert_channel" says "create": a word for a change.
    Description, as the server wrote it
    Authenticated tool to create alert channel.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • create_api_keyAuthenticated tool to create API key.No findings

    Why it is in this group

    • The name "create_api_key" says "create": a word for a change.
    Description, as the server wrote it
    Authenticated tool to create API key.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • create_appCreate an outbound webhook application for a product or environment.No findings

    Why it is in this group

    • The name "create_app" says "create": a word for a change.
    Description, as the server wrote it
    Create an outbound webhook application for a product or environment. Use when the user needs a new set of customer webhook endpoints.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • create_destinationAuthenticated tool for creating an outbound destination and connection with retry policy and optional filters.No findings

    Why it is in this group

    • The name "create_destination" says "create": a word for a change.
    Description, as the server wrote it
    Authenticated tool for creating an outbound destination and connection with retry policy and optional filters.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • create_portal_hostConfigure a customer webhook portal on a domain the user controls, with their existing OpenID Connect identity provider.No findings

    Why it is in this group

    • The name "create_portal_host" says "create": a word for a change.
    Description, as the server wrote it
    Configure a customer webhook portal on a domain the user controls, with their existing OpenID Connect identity provider. Use only when the user asks to set up a portal domain and supplies the application and identity-provider configuration. This creates portal access configuration and may provision a hostname and certificate.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • create_sourceAuthenticated tool to create source.No findings

    Why it is in this group

    • The name "create_source" says "create": a word for a change.
    Description, as the server wrote it
    Authenticated tool to create source.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • ensure_webhook_setupSet up incoming webhooks and delivery rules.No findings

    Why it is in this group

    • The description's first verb is "set": a word for a change.
    Description, as the server wrote it
    Set up incoming webhooks and delivery rules. For Stripe, returns the account authorization link and connection status; after authorization, use get_webhook_setup_status to verify receipt and delivery. Other providers receive an ingest URL for new sources.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • replay_eventAuthenticated tool for queueing a replay of a single received event.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Authenticated tool for queueing a replay of a single received event.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • replay_eventsAuthenticated tool for queueing replay by source, query, signature status, failed-delivery state, and time window.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Authenticated tool for queueing replay by source, query, signature status, failed-delivery state, and time window.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • retry_failed_deliveriesAuthenticated tool for queueing immediate retries for failed fanout deliveries.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Authenticated tool for queueing immediate retries for failed fanout deliveries.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
Only reads 26Claude Code: allow
  • describe_relinExplain what Relin does and how agents should use it for webhook intake, delivery, replay, and anomaly review.No findings

    Why it is in this group

    • The name "describe_relin" says "describe": a word for reading.
    Description, as the server wrote it
    Explain what Relin does and how agents should use it for webhook intake, delivery, replay, and anomaly review.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_appRead an outbound webhook application by its app ID to inspect its configuration.No findings

    Why it is in this group

    • The name "get_app" says "get": a word for reading.
    Description, as the server wrote it
    Read an outbound webhook application by its app ID to inspect its configuration.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_endpointRead a customer webhook endpoint, its event subscriptions, and delivery settings.No findings

    Why it is in this group

    • The name "get_endpoint" says "get": a word for reading.
    Description, as the server wrote it
    Read a customer webhook endpoint, its event subscriptions, and delivery settings.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_event_detailAuthenticated tool for reading one event with attempts, deliveries, and optional raw payload.No findings

    Why it is in this group

    • The name "get_event_detail" says "get": a word for reading.
    Description, as the server wrote it
    Authenticated tool for reading one event with attempts, deliveries, and optional raw payload.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_messageRead one outbound webhook message and its delivery state using the app and message IDs.No findings

    Why it is in this group

    • The name "get_message" says "get": a word for reading.
    Description, as the server wrote it
    Read one outbound webhook message and its delivery state using the app and message IDs.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_metrics_summaryAuthenticated tool for delivery, failure, duplicate, and open-issue rollups.No findings

    Why it is in this group

    • The name "get_metrics_summary" says "get": a word for reading.
    Description, as the server wrote it
    Authenticated tool for delivery, failure, duplicate, and open-issue rollups.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_portal_settingsAuthenticated tool for reading portal branding defaults and host setup for an app.No findings

    Why it is in this group

    • The name "get_portal_settings" says "get": a word for reading.
    Description, as the server wrote it
    Authenticated tool for reading portal branding defaults and host setup for an app.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_setup_guideReturn concise setup guidance for connecting a webhook source and destination.No findings

    Why it is in this group

    • The name "get_setup_guide" says "get": a word for reading.
    Description, as the server wrote it
    Return concise setup guidance for connecting a webhook source and destination.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_slack_connect_urlAuthenticated tool for returning the dashboard Slack OAuth connect URL and expected redirect URL.No findings

    Why it is in this group

    • The name "get_slack_connect_url" says "get": a word for reading.
    Description, as the server wrote it
    Authenticated tool for returning the dashboard Slack OAuth connect URL and expected redirect URL.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_webhook_setup_statusCheck a source's provider connection, enabled destinations, recent signature-verified events, and delivery attempts.No findings

    Why it is in this group

    • The name "get_webhook_setup_status" says "get": a word for reading.
    Description, as the server wrote it
    Check a source's provider connection, enabled destinations, recent signature-verified events, and delivery attempts. For Stripe, returns a secure authorization link when needed. Call again after the user connects, without recreating or rotating anything.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_alert_channelsAuthenticated tool to list alert channels.No findings

    Why it is in this group

    • The name "list_alert_channels" says "list": a word for reading.
    Description, as the server wrote it
    Authenticated tool to list alert channels.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_api_keysAuthenticated tool to list API keys.No findings

    Why it is in this group

    • The name "list_api_keys" says "list": a word for reading.
    Description, as the server wrote it
    Authenticated tool to list API keys.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_appsList outbound webhook applications in the connected Relin workspace.No findings

    Why it is in this group

    • The name "list_apps" says "list": a word for reading.
    Description, as the server wrote it
    List outbound webhook applications in the connected Relin workspace. Use this to find the app ID before managing customer endpoints or sending events.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_delivery_attemptsAuthenticated tool for listing fanout delivery attempts with filters.No findings

    Why it is in this group

    • The name "list_delivery_attempts" says "list": a word for reading.
    Description, as the server wrote it
    Authenticated tool for listing fanout delivery attempts with filters.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_destinationsAuthenticated tool for listing outbound destinations and retry policy.No findings

    Why it is in this group

    • The name "list_destinations" says "list": a word for reading.
    Description, as the server wrote it
    Authenticated tool for listing outbound destinations and retry policy.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_endpointsList customer webhook endpoints and delivery settings for an outbound app.No findings

    Why it is in this group

    • The name "list_endpoints" says "list": a word for reading.
    Description, as the server wrote it
    List customer webhook endpoints and delivery settings for an outbound app.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_event_typesList the event types customers can subscribe to for an outbound app.No findings

    Why it is in this group

    • The name "list_event_types" says "list": a word for reading.
    Description, as the server wrote it
    List the event types customers can subscribe to for an outbound app.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_message_attemptsInspect delivery attempts for an outbound webhook message, including returned status and errors.No findings

    Why it is in this group

    • The name "list_message_attempts" says "list": a word for reading.
    Description, as the server wrote it
    Inspect delivery attempts for an outbound webhook message, including returned status and errors. Use this to verify delivery or diagnose failures.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_messagesList outbound webhook messages for an app, optionally filtered by customer or event type.No findings

    Why it is in this group

    • The name "list_messages" says "list": a word for reading.
    Description, as the server wrote it
    List outbound webhook messages for an app, optionally filtered by customer or event type. Use this for send history rather than incoming vendor events.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_open_issuesAuthenticated tool for listing open anomaly and delivery issues.No findings

    Why it is in this group

    • The name "list_open_issues" says "list": a word for reading.
    Description, as the server wrote it
    Authenticated tool for listing open anomaly and delivery issues. Use q for smart lookup by anom_, dst_, evt_, or src_ IDs, or plain text like a status code or error message.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_portal_hostsAuthenticated tool for listing stable portal hosts for an app.No findings

    Why it is in this group

    • The name "list_portal_hosts" says "list": a word for reading.
    Description, as the server wrote it
    Authenticated tool for listing stable portal hosts for an app.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_recent_eventsAuthenticated tool for inspecting recent received events, duplicates, and signature status.No findings

    Why it is in this group

    • The name "list_recent_events" says "list": a word for reading.
    Description, as the server wrote it
    Authenticated tool for inspecting recent received events, duplicates, and signature status.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_recipientsList customers configured to receive outbound webhooks for an app.No findings

    Why it is in this group

    • The name "list_recipients" says "list": a word for reading.
    Description, as the server wrote it
    List customers configured to receive outbound webhooks for an app. Use returned customer identifiers for endpoint and message operations.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_retry_jobsAuthenticated tool to list retry jobs.No findings

    Why it is in this group

    • The name "list_retry_jobs" says "list": a word for reading.
    Description, as the server wrote it
    Authenticated tool to list retry jobs.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_sourcesAuthenticated tool to list sources.No findings

    Why it is in this group

    • The name "list_sources" says "list": a word for reading.
    Description, as the server wrote it
    Authenticated tool to list sources.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_supported_webhook_shapesList the vendor webhook shapes Relin understands for event identity, ordering, and gap checks.No findings

    Why it is in this group

    • The name "list_supported_webhook_shapes" says "list": a word for reading.
    Description, as the server wrote it
    List the vendor webhook shapes Relin understands for event identity, ordering, and gap checks.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.3. Values in angle brackets are yours to fill in.

claude mcp add --transport http relin https://relin.app/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__relin__describe_relin",
      "mcp__relin__list_supported_webhook_shapes",
      "mcp__relin__get_setup_guide",
      "mcp__relin__list_api_keys",
      "mcp__relin__list_sources",
      "mcp__relin__list_destinations",
      "mcp__relin__list_apps",
      "mcp__relin__get_app",
      "mcp__relin__list_recipients",
      "mcp__relin__list_endpoints",
      "mcp__relin__get_endpoint",
      "mcp__relin__list_messages",
      "mcp__relin__get_message",
      "mcp__relin__list_message_attempts",
      "mcp__relin__list_event_types",
      "mcp__relin__get_portal_settings",
      "mcp__relin__list_portal_hosts",
      "mcp__relin__get_webhook_setup_status",
      "mcp__relin__list_recent_events",
      "mcp__relin__get_event_detail",
      "mcp__relin__list_open_issues",
      "mcp__relin__list_delivery_attempts",
      "mcp__relin__list_retry_jobs",
      "mcp__relin__get_metrics_summary",
      "mcp__relin__list_alert_channels",
      "mcp__relin__get_slack_connect_url"
    ],
    "ask": [
      "mcp__relin__create_api_key",
      "mcp__relin__create_source",
      "mcp__relin__create_destination",
      "mcp__relin__create_app",
      "mcp__relin__create_endpoint",
      "mcp__relin__send_message",
      "mcp__relin__replay_message",
      "mcp__relin__create_portal_session",
      "mcp__relin__create_portal_host",
      "mcp__relin__check_portal_host",
      "mcp__relin__ensure_webhook_setup",
      "mcp__relin__create_alert_channel",
      "mcp__relin__replay_event",
      "mcp__relin__replay_events",
      "mcp__relin__retry_failed_deliveries"
    ],
    "deny": [
      "mcp__relin__revoke_api_key",
      "mcp__relin__rotate_source_token",
      "mcp__relin__archive_source",
      "mcp__relin__upsert_recipient",
      "mcp__relin__update_endpoint",
      "mcp__relin__delete_endpoint",
      "mcp__relin__rotate_endpoint_secret",
      "mcp__relin__upsert_event_type",
      "mcp__relin__delete_event_type",
      "mcp__relin__save_portal_settings",
      "mcp__relin__cancel_queued_retries",
      "mcp__relin__resolve_anomalies"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as relin. Review it before you use it.