Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Relin

REMOTE · RELIN.APP · SCANNED OCT 14

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

Available components

0 this week 71 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security46
Transport & Reachability100
Schema Quality & AI Usability73
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (fair).Partial
  • Tool/resource definitions use about 2870 tokens (~50/item across 57 items; 53 tools + 4 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage68
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 3% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 6 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 54 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the Relin MCP server?

Relin is a hosted endpoint at https://relin.app/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · relin.app

# add to Claude Code
claude mcp add --transport http earonesty-relin 'https://relin.app/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "earonesty-relin": {
      "url": "https://relin.app/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "earonesty-relin": {
      "type": "http",
      "url": "https://relin.app/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.earonesty-relin]
url = "https://relin.app/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "earonesty-relin": {
      "type": "remote",
      "url": "https://relin.app/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add earonesty-relin --url 'https://relin.app/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  earonesty-relin:
    url: "https://relin.app/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "earonesty-relin": {
      "Transport": "http",
      "Url": "https://relin.app/mcp"
    }
  }
}
# add to Vellum
assistant mcp add earonesty-relin -t streamable-http -u 'https://relin.app/mcp'
// mcp.json
{
  "mcpServers": {
    "earonesty-relin": {
      "type": "http",
      "url": "https://relin.app/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 12 Oct 26 0
    • The server changed its declared name: relin-mcp → relin security
    • Tool “archive_source” rewrote its description, which is the text the model reads security
    • Tool “create_app” rewrote its description, which is the text the model reads security
    • Tool “create_endpoint” rewrote its description, which is the text the model reads security
    • Tool “create_portal_host” rewrote its description, which is the text the model reads security
    • Tool “create_portal_session” rewrote its description, which is the text the model reads security
    • Tool “delete_endpoint” rewrote its description, which is the text the model reads security
    • Tool “delete_event_type” rewrote its description, which is the text the model reads security
    • Tool “ensure_webhook_setup” rewrote its description, which is the text the model reads security
    • Tool “get_app” rewrote its description, which is the text the model reads security
    • Tool “get_endpoint” rewrote its description, which is the text the model reads security
    • Tool “get_message” rewrote its description, which is the text the model reads security
    • Tool “list_apps” rewrote its description, which is the text the model reads security
    • Tool “list_endpoints” rewrote its description, which is the text the model reads security
    • Tool “list_event_types” rewrote its description, which is the text the model reads security
    • Tool “list_message_attempts” rewrote its description, which is the text the model reads security
    • Tool “list_messages” rewrote its description, which is the text the model reads security
    • Tool “list_recipients” rewrote its description, which is the text the model reads security
    • Tool “replay_message” rewrote its description, which is the text the model reads security
    • Tool “send_message” rewrote its description, which is the text the model reads security
    • Tool “update_endpoint” rewrote its description, which is the text the model reads security
    • Tool “upsert_event_type” rewrote its description, which is the text the model reads security
    • Tool “rotate_endpoint_secret” is now declared destructive security
    • Tool “rotate_source_token” is now declared destructive security
    • Tool “save_portal_settings” is now declared destructive security
    • Tool “update_endpoint” is now declared destructive security
    • Tool “upsert_event_type” is now declared destructive security
    • Tool “upsert_recipient” is now declared destructive security
    • Schema quality: 44 → 50 ▼ functional
    • New tool “get_webhook_setup_status” functional
    • Tool “archive_source” changed its title: Delete Source → Delete Inbound Webhook Source cosmetic
    • Tool “create_portal_host” changed its title: Create Portal Host → Configure Customer Webhook Portal Domain cosmetic
  • 28 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Aug 26 0
    • Stability: 0.97 → pass security
  • 11 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 31 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 14 Oct 2026 · Probed https://relin.app/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=relin.app CN=YE1,O=Let's Encrypt,C=US 7 Oct 2026 5 Jan 2027 ECDSA 256 ECDSA-SHA384 6a6bca7d49ed7690509fefd83c852799071
SANs: *.relin.app, relin.app
CN=YE1,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 5ddd70dd31f801c85c186a7a04b80afe
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of relin.app. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
app. present 23684 8 Verified
relin.app. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://relin.app/mcp Verified 200
http (plaintext) http://relin.app/mcp Served over HTTP 200
MCP tools · 53 exposed · ~2,795 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
archive_source ~48

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.

NameTypeReqDescription
sourceIdstringyes–

No output schema declared.

No examples provided.

cancel_queued_retries ~33

Authenticated tool for cancelling queued retry jobs for a workspace or destination.

NameTypeReqDescription
destinationIdstring––

No output schema declared.

No examples provided.

check_portal_host ~38

Authenticated tool for refreshing hostname, certificate, and OIDC readiness for a stable portal host.

NameTypeReqDescription
portalHostIdstringyes–

No output schema declared.

No examples provided.

create_alert_channel ~54

Authenticated tool to create alert channel.

NameTypeReqDescription
kindsarray––
namestringyes–
targetEmailstring––
targetUrlstring––
typestringyes–

No output schema declared.

No examples provided.

create_api_key ~31

Authenticated tool to create API key.

NameTypeReqDescription
namestringyes–
scopesarray––

No output schema declared.

No examples provided.

create_app ~58

Create an outbound webhook application for a product or environment. Use when the user needs a new set of customer webhook endpoints.

NameTypeReqDescription
namestringyes–
routingKeyBodyPathstring––
routingKeyHeaderstring––

No output schema declared.

No examples provided.

create_destination ~138

Authenticated tool for creating an outbound destination and connection with retry policy and optional filters.

NameTypeReqDescription
endpointUrlstringyes–
filterBodyPathstring––
filterBodyValuestring––
filterEntityKeystring––
filterEventTypesstring––
namestringyes–
rateLimitPerMinuteinteger––
retryBackoffSecondsstring––
retryMaxAttemptsinteger––
signingSecretstring––
sourceIdstringyes–
transformBodyPathstring––
transformExpressionstring––

No output schema declared.

No examples provided.

create_endpoint ~79

Add an HTTPS webhook endpoint for a customer of an outbound app. Configure event subscriptions and retry settings using the requested customer and URL.

NameTypeReqDescription
appIdstringyes–
eventTypesarray––
namestring––
recipientstringyes–
recipientNamestring––
urlstringyes–

No output schema declared.

No examples provided.

create_portal_host ~151

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.

NameTypeReqDescription
allowedEmailDomainstring––
appIdstringyes–
emailClaimstring––
hostnamestringyes–
nameClaimstring––
oidcClientIdstringyes–
oidcClientSecretstringyes–
oidcIssuerstringyes–
oidcScopesstring––
recipientClaimstring––

No output schema declared.

No examples provided.

create_portal_session ~96

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.

NameTypeReqDescription
appIdstringyes–
capabilitiesarray––
expiresInSecondsinteger––
recipientstringyes–
recipientNamestring––
returnUrlstring––
themeobject––

No output schema declared.

No examples provided.

create_source ~37

Authenticated tool to create source.

NameTypeReqDescription
namestringyes–
signingSecretstring––
vendorstring––

No output schema declared.

No examples provided.

delete_endpoint ~36

Disable a customer webhook endpoint so it no longer receives events.

NameTypeReqDescription
appIdstringyes–
endpointIdstringyes–

No output schema declared.

No examples provided.

delete_event_type ~41

Archive an outbound event type so customers can no longer select it for new subscriptions.

NameTypeReqDescription
appIdstringyes–
eventTypestringyes–

No output schema declared.

No examples provided.

describe_relin ~32

Explain what Relin does and how agents should use it for webhook intake, delivery, replay, and anomaly review.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

ensure_webhook_setup ~194

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.

NameTypeReqDescription
destinationNamestring––
destinationSigningSecretstring––
destinationUrlstringyes–
filterBodyPathstring––
filterBodyValuestring––
filterEntityKeystring––
filterEventTypesstring––
rateLimitPerMinuteinteger––
retryBackoffSecondsstring––
retryMaxAttemptsinteger––
signingSecretstring––
sourceIdstring––
sourceNamestring––
transformBodyPathstring––
transformExpressionstring––
vendorstringyes–

No output schema declared.

No examples provided.

get_app ~30

Read an outbound webhook application by its app ID to inspect its configuration.

NameTypeReqDescription
appIdstringyes–

No output schema declared.

No examples provided.

get_endpoint ~38

Read a customer webhook endpoint, its event subscriptions, and delivery settings.

NameTypeReqDescription
appIdstringyes–
endpointIdstringyes–

No output schema declared.

No examples provided.

get_event_detail ~42

Authenticated tool for reading one event with attempts, deliveries, and optional raw payload.

NameTypeReqDescription
eventIdstringyes–
includePayloadboolean––

No output schema declared.

No examples provided.

get_message ~40

Read one outbound webhook message and its delivery state using the app and message IDs.

NameTypeReqDescription
appIdstringyes–
messageIdstringyes–

No output schema declared.

No examples provided.

get_metrics_summary ~34

Authenticated tool for delivery, failure, duplicate, and open-issue rollups.

NameTypeReqDescription
windowHoursinteger––

No output schema declared.

No examples provided.

get_portal_settings ~33

Authenticated tool for reading portal branding defaults and host setup for an app.

NameTypeReqDescription
appIdstringyes–

No output schema declared.

No examples provided.

get_setup_guide ~29

Return concise setup guidance for connecting a webhook source and destination.

NameTypeReqDescription
providerstring––

No output schema declared.

No examples provided.

get_slack_connect_url ~27

Authenticated tool for returning the dashboard Slack OAuth connect URL and expected redirect URL.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_webhook_setup_status ~64

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.

NameTypeReqDescription
sourceIdstringyes–

No output schema declared.

No examples provided.

list_alert_channels ~17

Authenticated tool to list alert channels.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_api_keys ~17

Authenticated tool to list API keys.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_apps ~34

List outbound webhook applications in the connected Relin workspace. Use this to find the app ID before managing customer endpoints or sending events.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_delivery_attempts ~59

Authenticated tool for listing fanout delivery attempts with filters.

NameTypeReqDescription
destinationIdstring––
eventIdstring––
limitinteger––
sincestring––
statusstring––

No output schema declared.

No examples provided.

list_destinations ~28

Authenticated tool for listing outbound destinations and retry policy.

NameTypeReqDescription
sourceIdstring––

No output schema declared.

No examples provided.

list_endpoints ~36

List customer webhook endpoints and delivery settings for an outbound app.

NameTypeReqDescription
appIdstringyes–
recipientstring––

No output schema declared.

No examples provided.

list_event_types ~30

List the event types customers can subscribe to for an outbound app.

NameTypeReqDescription
appIdstringyes–

No output schema declared.

No examples provided.

list_message_attempts ~57

Inspect delivery attempts for an outbound webhook message, including returned status and errors. Use this to verify delivery or diagnose failures.

NameTypeReqDescription
appIdstringyes–
limitinteger––
messageIdstringyes–

No output schema declared.

No examples provided.

list_messages ~57

List outbound webhook messages for an app, optionally filtered by customer or event type. Use this for send history rather than incoming vendor events.

NameTypeReqDescription
appIdstringyes–
limitinteger––
qstring––

No output schema declared.

No examples provided.

list_open_issues ~139

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.

NameTypeReqDescription
destinationIdstring–Only include failed delivery issues for this destination ID.
limitinteger–Maximum number of issues to return.
qstring–Smart query. Recognizes anom_, dst_, evt_, and src_ IDs as exact filters; otherwise matches issue text, kind, status, destination name, IDs, and response status.
sourceIdstring–Only include issues for this source ID.

No output schema declared.

No examples provided.

list_portal_hosts ~30

Authenticated tool for listing stable portal hosts for an app.

NameTypeReqDescription
appIdstringyes–

No output schema declared.

No examples provided.

list_recent_events ~63

Authenticated tool for inspecting recent received events, duplicates, and signature status.

NameTypeReqDescription
failedDeliveryOnlyboolean––
limitinteger––
qstring––
signatureStatusstring––
sourceIdstring––

No output schema declared.

No examples provided.

list_recipients ~40

List customers configured to receive outbound webhooks for an app. Use returned customer identifiers for endpoint and message operations.

NameTypeReqDescription
appIdstringyes–

No output schema declared.

No examples provided.

list_retry_jobs ~31

Authenticated tool to list retry jobs.

NameTypeReqDescription
limitinteger––
statusstring––

No output schema declared.

No examples provided.

list_sources ~15

Authenticated tool to list sources.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_supported_webhook_shapes ~29

List the vendor webhook shapes Relin understands for event identity, ordering, and gap checks.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

replay_event ~30

Authenticated tool for queueing a replay of a single received event.

NameTypeReqDescription
eventIdstringyes–

No output schema declared.

No examples provided.

replay_events ~79

Authenticated tool for queueing replay by source, query, signature status, failed-delivery state, and time window.

NameTypeReqDescription
failedDeliveryOnlyboolean––
limitinteger––
qstring––
signatureStatusstring––
sourceIdstring––
windowHoursinteger––

No output schema declared.

No examples provided.

replay_message ~50

Send an existing outbound webhook message again. May repeat actions at customer endpoints; use only for the message the user wants replayed.

NameTypeReqDescription
appIdstringyes–
messageIdstringyes–

No output schema declared.

No examples provided.

resolve_anomalies ~33

Authenticated tool for marking one or more open anomalies resolved by anomaly_id.

NameTypeReqDescription
anomalyIdsarrayyes–

No output schema declared.

No examples provided.

retry_failed_deliveries ~46

Authenticated tool for queueing immediate retries for failed fanout deliveries.

NameTypeReqDescription
destinationIdstring––
limitinteger––
windowHours–––

No output schema declared.

No examples provided.

revoke_api_key ~26

Authenticated tool to revoke API key.

NameTypeReqDescription
apiKeyIdstringyes–

No output schema declared.

No examples provided.

rotate_endpoint_secret ~37

Authenticated tool for rotating the signing secret for one endpoint.

NameTypeReqDescription
appIdstringyes–
endpointIdstringyes–

No output schema declared.

No examples provided.

rotate_source_token ~32

Authenticated tool for rotating an ingest token and returning the replacement URL once.

NameTypeReqDescription
sourceIdstringyes–

No output schema declared.

No examples provided.

save_portal_settings ~78

Authenticated tool for saving portal branding defaults for an app.

NameTypeReqDescription
accentColorstring––
appIdstringyes–
backgroundColorstring––
brandNamestring––
logoUrlstring––
primaryColorstring––
surfaceColorstring––

No output schema declared.

No examples provided.

send_message ~96

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.

NameTypeReqDescription
appIdstringyes–
data–––
idempotencyKeystring––
messageIdstring––
recipientstringyes–
typestringyes–

No output schema declared.

No examples provided.

Common questions

What is the Relin MCP server?

Relin is an MCP server listed in the public MCP registry as io.github.earonesty/relin. Send and receive webhooks, manage customer endpoints, and inspect and retry deliveries. This page covers its hosted endpoint (https://relin.app/mcp).

Is the Relin MCP server safe to use?

Relin scores 71 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Relin MCP server expose?

Relin exposes 53 tools: describe_relin, list_supported_webhook_shapes, get_setup_guide, list_api_keys, create_api_key, and 48 more. Their descriptions and schemas cost roughly 2,795 tokens of context every time the server is loaded.

Does the Relin MCP server require authentication?

No. We connected to Relin without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the Relin MCP server still maintained?

Relin is still listed as active in the MCP registry. We last reached this channel on 14 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.