Relin
REMOTE · RELIN.APP · SCANNED SEP 20
Inspect webhook health, investigate delivery failures, configure sources, and replay events.
Available components
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
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (revoke_api_key). See how to fix → View diagnostics → Fail
- HTTPS check failed: the endpoint is reachable over plaintext HTTP. See how to fix → View diagnostics → Fail
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability72
- 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 2485 tokens (~44/item across 56 items; 52 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 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 53 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
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
claude mcp add --transport http earonesty-relin 'https://relin.app/mcp'
{
"mcpServers": {
"earonesty-relin": {
"url": "https://relin.app/mcp"
}
}
} {
"servers": {
"earonesty-relin": {
"type": "http",
"url": "https://relin.app/mcp"
}
}
} [mcp_servers.earonesty-relin] url = "https://relin.app/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"earonesty-relin": {
"type": "remote",
"url": "https://relin.app/mcp",
"enabled": true
}
}
} openclaw mcp add earonesty-relin --url 'https://relin.app/mcp' --transport streamable-http
mcp_servers:
earonesty-relin:
url: "https://relin.app/mcp" {
"McpServers": {
"earonesty-relin": {
"Transport": "http",
"Url": "https://relin.app/mcp"
}
}
} assistant mcp add earonesty-relin -t streamable-http -u 'https://relin.app/mcp'
{
"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.
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.
- 26 Aug 26 +1
- 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 +1
- Stability: 0.97 → pass security
- 23 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 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
- 27 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
- 26 Jul 26 0
First indexed and scored.
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 20 Sept 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=YE2,O=Let's Encrypt,C=US | 9 Aug 2026 | 7 Nov 2026 | ECDSA 256 | ECDSA-SHA384 | 59d3c3908da5401bfc64100af3b0762ae24 |
| SANs: *.relin.app, relin.app | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| 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 |
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 →
archive_source Delete Source ~44
Authenticated tool for deleting a source, disabling its routing, cancelling queued retries, clearing event-stream coordinator state, and pruning stored source records.
| Name | Type | Req | Description |
|---|---|---|---|
| sourceId | string | yes | – |
No output schema declared.
No examples provided.
cancel_queued_retries Cancel Queued Retries ~33
Authenticated tool for cancelling queued retry jobs for a workspace or destination.
| Name | Type | Req | Description |
|---|---|---|---|
| destinationId | string | – | – |
No output schema declared.
No examples provided.
check_portal_host Check Portal Host ~38
Authenticated tool for refreshing hostname, certificate, and OIDC readiness for a stable portal host.
| Name | Type | Req | Description |
|---|---|---|---|
| portalHostId | string | yes | – |
No output schema declared.
No examples provided.
create_alert_channel Create Alert Channel ~54
Authenticated tool to create alert channel.
| Name | Type | Req | Description |
|---|---|---|---|
| kinds | array | – | – |
| name | string | yes | – |
| targetEmail | string | – | – |
| targetUrl | string | – | – |
| type | string | yes | – |
No output schema declared.
No examples provided.
create_api_key Create API Key ~31
Authenticated tool to create API key.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | – |
| scopes | array | – | – |
No output schema declared.
No examples provided.
create_app Create App ~41
Authenticated tool to create app.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | – |
| routingKeyBodyPath | string | – | – |
| routingKeyHeader | string | – | – |
No output schema declared.
No examples provided.
create_destination Create Destination ~138
Authenticated tool for creating an outbound destination and connection with retry policy and optional filters.
| Name | Type | Req | Description |
|---|---|---|---|
| endpointUrl | string | yes | – |
| filterBodyPath | string | – | – |
| filterBodyValue | string | – | – |
| filterEntityKey | string | – | – |
| filterEventTypes | string | – | – |
| name | string | yes | – |
| rateLimitPerMinute | integer | – | – |
| retryBackoffSeconds | string | – | – |
| retryMaxAttempts | integer | – | – |
| signingSecret | string | – | – |
| sourceId | string | yes | – |
| transformBodyPath | string | – | – |
| transformExpression | string | – | – |
No output schema declared.
No examples provided.
create_endpoint Create Endpoint ~60
Authenticated tool to create endpoint.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | – |
| eventTypes | array | – | – |
| name | string | – | – |
| recipient | string | yes | – |
| recipientName | string | – | – |
| url | string | yes | – |
No output schema declared.
No examples provided.
create_portal_host Create Portal Host ~111
Authenticated tool for creating a stable portal host with OIDC sign-in.
| Name | Type | Req | Description |
|---|---|---|---|
| allowedEmailDomain | string | – | – |
| appId | string | yes | – |
| emailClaim | string | – | – |
| hostname | string | yes | – |
| nameClaim | string | – | – |
| oidcClientId | string | yes | – |
| oidcClientSecret | string | yes | – |
| oidcIssuer | string | yes | – |
| oidcScopes | string | – | – |
| recipientClaim | string | – | – |
No output schema declared.
No examples provided.
create_portal_session Create Portal Session ~72
Authenticated tool to create portal session.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | – |
| capabilities | array | – | – |
| expiresInSeconds | integer | – | – |
| recipient | string | yes | – |
| recipientName | string | – | – |
| returnUrl | string | – | – |
| theme | object | – | – |
No output schema declared.
No examples provided.
create_source Create Source ~37
Authenticated tool to create source.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | – |
| signingSecret | string | – | – |
| vendor | string | – | – |
No output schema declared.
No examples provided.
delete_endpoint Delete Endpoint ~31
Authenticated tool to disable endpoint.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | – |
| endpointId | string | yes | – |
No output schema declared.
No examples provided.
delete_event_type Delete Event Type ~33
Authenticated tool to archive event type.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | – |
| eventType | string | yes | – |
No output schema declared.
No examples provided.
describe_relin 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 Ensure Webhook Setup ~174
Authenticated tool for idempotently setting up a vendor source and destination, returning the ingest URL when a new source is created.
| Name | Type | Req | Description |
|---|---|---|---|
| destinationName | string | – | – |
| destinationSigningSecret | string | – | – |
| destinationUrl | string | yes | – |
| filterBodyPath | string | – | – |
| filterBodyValue | string | – | – |
| filterEntityKey | string | – | – |
| filterEventTypes | string | – | – |
| rateLimitPerMinute | integer | – | – |
| retryBackoffSeconds | string | – | – |
| retryMaxAttempts | integer | – | – |
| signingSecret | string | – | – |
| sourceId | string | – | – |
| sourceName | string | – | – |
| transformBodyPath | string | – | – |
| transformExpression | string | – | – |
| vendor | string | yes | – |
No output schema declared.
No examples provided.
get_app Get App ~23
Authenticated tool to get app.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | – |
No output schema declared.
No examples provided.
get_endpoint Get Endpoint ~31
Authenticated tool to get endpoint.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | – |
| endpointId | string | yes | – |
No output schema declared.
No examples provided.
get_event_detail Get Event Detail ~42
Authenticated tool for reading one event with attempts, deliveries, and optional raw payload.
| Name | Type | Req | Description |
|---|---|---|---|
| eventId | string | yes | – |
| includePayload | boolean | – | – |
No output schema declared.
No examples provided.
get_message Get Message ~31
Authenticated tool to get message.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | – |
| messageId | string | yes | – |
No output schema declared.
No examples provided.
get_metrics_summary Get Metrics Summary ~34
Authenticated tool for delivery, failure, duplicate, and open-issue rollups.
| Name | Type | Req | Description |
|---|---|---|---|
| windowHours | integer | – | – |
No output schema declared.
No examples provided.
get_portal_settings Get Portal Settings ~33
Authenticated tool for reading portal branding defaults and host setup for an app.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | – |
No output schema declared.
No examples provided.
get_setup_guide Get Setup Guide ~29
Return concise setup guidance for connecting a webhook source and destination.
| Name | Type | Req | Description |
|---|---|---|---|
| provider | string | – | – |
No output schema declared.
No examples provided.
get_slack_connect_url 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.
list_alert_channels 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 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 List Apps ~15
Authenticated tool to list apps.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_delivery_attempts List Delivery Attempts ~59
Authenticated tool for listing fanout delivery attempts with filters.
| Name | Type | Req | Description |
|---|---|---|---|
| destinationId | string | – | – |
| eventId | string | – | – |
| limit | integer | – | – |
| since | string | – | – |
| status | string | – | – |
No output schema declared.
No examples provided.
list_destinations List Destinations ~28
Authenticated tool for listing outbound destinations and retry policy.
| Name | Type | Req | Description |
|---|---|---|---|
| sourceId | string | – | – |
No output schema declared.
No examples provided.
list_endpoints List Endpoints ~32
Authenticated tool to list recipient endpoints.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | – |
| recipient | string | – | – |
No output schema declared.
No examples provided.
list_event_types List Event Types ~25
Authenticated tool to list event types.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | – |
No output schema declared.
No examples provided.
list_message_attempts List Message Attempts ~41
Authenticated tool to list message attempts.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | – |
| limit | integer | – | – |
| messageId | string | yes | – |
No output schema declared.
No examples provided.
list_messages List Messages ~37
Authenticated tool to list messages.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | – |
| limit | integer | – | – |
| q | string | – | – |
No output schema declared.
No examples provided.
list_open_issues 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.
| Name | Type | Req | Description |
|---|---|---|---|
| destinationId | string | – | Only include failed delivery issues for this destination ID. |
| limit | integer | – | Maximum number of issues to return. |
| q | string | – | Smart query. Recognizes anom_, dst_, evt_, and src_ IDs as exact filters; otherwise matches issue text, kind, status, destination name, IDs, and response status. |
| sourceId | string | – | Only include issues for this source ID. |
No output schema declared.
No examples provided.
list_portal_hosts List Portal Hosts ~30
Authenticated tool for listing stable portal hosts for an app.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | – |
No output schema declared.
No examples provided.
list_recent_events List Recent Events ~63
Authenticated tool for inspecting recent received events, duplicates, and signature status.
| Name | Type | Req | Description |
|---|---|---|---|
| failedDeliveryOnly | boolean | – | – |
| limit | integer | – | – |
| q | string | – | – |
| signatureStatus | string | – | – |
| sourceId | string | – | – |
No output schema declared.
No examples provided.
list_recipients List Recipients ~25
Authenticated tool to list recipients.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | – |
No output schema declared.
No examples provided.
list_retry_jobs List Retry Jobs ~31
Authenticated tool to list retry jobs.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| status | string | – | – |
No output schema declared.
No examples provided.
list_sources 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 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 Replay Event ~30
Authenticated tool for queueing a replay of a single received event.
| Name | Type | Req | Description |
|---|---|---|---|
| eventId | string | yes | – |
No output schema declared.
No examples provided.
replay_events Replay Events ~79
Authenticated tool for queueing replay by source, query, signature status, failed-delivery state, and time window.
| Name | Type | Req | Description |
|---|---|---|---|
| failedDeliveryOnly | boolean | – | – |
| limit | integer | – | – |
| q | string | – | – |
| signatureStatus | string | – | – |
| sourceId | string | – | – |
| windowHours | integer | – | – |
No output schema declared.
No examples provided.
replay_message Replay Message ~31
Authenticated tool to replay message.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | – |
| messageId | string | yes | – |
No output schema declared.
No examples provided.
resolve_anomalies Resolve Anomalies ~33
Authenticated tool for marking one or more open anomalies resolved by anomaly_id.
| Name | Type | Req | Description |
|---|---|---|---|
| anomalyIds | array | yes | – |
No output schema declared.
No examples provided.
retry_failed_deliveries Retry Failed Deliveries ~46
Authenticated tool for queueing immediate retries for failed fanout deliveries.
| Name | Type | Req | Description |
|---|---|---|---|
| destinationId | string | – | – |
| limit | integer | – | – |
| windowHours | – | – | – |
No output schema declared.
No examples provided.
revoke_api_key Revoke API Key ~26
Authenticated tool to revoke API key.
| Name | Type | Req | Description |
|---|---|---|---|
| apiKeyId | string | yes | – |
No output schema declared.
No examples provided.
rotate_endpoint_secret Rotate Endpoint Secret ~37
Authenticated tool for rotating the signing secret for one endpoint.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | – |
| endpointId | string | yes | – |
No output schema declared.
No examples provided.
rotate_source_token Rotate Source Token ~32
Authenticated tool for rotating an ingest token and returning the replacement URL once.
| Name | Type | Req | Description |
|---|---|---|---|
| sourceId | string | yes | – |
No output schema declared.
No examples provided.
save_portal_settings Save Portal Settings ~78
Authenticated tool for saving portal branding defaults for an app.
| Name | Type | Req | Description |
|---|---|---|---|
| accentColor | string | – | – |
| appId | string | yes | – |
| backgroundColor | string | – | – |
| brandName | string | – | – |
| logoUrl | string | – | – |
| primaryColor | string | – | – |
| surfaceColor | string | – | – |
No output schema declared.
No examples provided.
send_message Send Message ~60
Authenticated tool to send message.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | – |
| data | – | – | – |
| idempotencyKey | string | – | – |
| messageId | string | – | – |
| recipient | string | yes | – |
| type | string | yes | – |
No output schema declared.
No examples provided.
update_endpoint Update Endpoint ~81
Authenticated tool to update endpoint.
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | yes | – |
| enabled | boolean | – | – |
| endpointId | string | yes | – |
| name | string | – | – |
| rateLimitPerMinute | integer | – | – |
| retryBackoffSeconds | string | – | – |
| retryMaxAttempts | integer | – | – |
| url | string | – | – |
No output schema declared.
No examples provided.
What is the Relin MCP server?
Relin is an MCP server listed in the public MCP registry as io.github.earonesty/relin. Inspect webhook health, investigate delivery failures, configure sources, and replay events. 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 52 tools: describe_relin, list_supported_webhook_shapes, get_setup_guide, list_api_keys, create_api_key, and 47 more. Their descriptions and schemas cost roughly 2,410 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 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.