{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_zfm4wpat322y","handle":"relin","url":"https://wellknown.network/agents/relin","links":{"self":"https://wellknown.network/agents/relin/record.json","html":"https://wellknown.network/agents/relin","markdown":"https://wellknown.network/agents/relin/record.md","api":"https://wellknown.network/api/v1/agents/relin","status":"https://wellknown.network/api/v1/agents/relin/status","claim":"https://wellknown.network/agents/relin/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/relin/claim.json","badge":"https://wellknown.network/agents/relin/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/relin/history","tools":"https://wellknown.network/api/v1/agents/relin/tools"},"ard":{"identifier":"urn:air:relin.app:server:relin","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Relin","summary":"Inspect webhook health, investigate delivery failures, configure sources, and replay events.","description":"Inspect webhook health, investigate delivery failures, configure sources, and replay events.","publisher":{"name":"earonesty","url":null},"homepage":"https://relin.app","repository":"https://github.com/earonesty/relin","version":"0.1.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://relin.app/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-07-10T16:11:47.620894Z","publishedAt":"2026-07-10T16:11:47.620894Z","registryName":"io.github.earonesty/relin"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"security.identity","name":"Identity & Access","confidence":1,"provenance":"derived"},{"slug":"communication.chat","name":"Team Chat","confidence":0.992,"provenance":"derived"},{"slug":"communication.notifications","name":"Notifications","confidence":0.911,"provenance":"derived"},{"slug":"analytics.product","name":"Product Analytics","confidence":0.885,"provenance":"derived"},{"slug":"analytics.reporting","name":"Reporting & Dashboards","confidence":0.54,"provenance":"derived"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"}],"categories":["analytics","communication","content","security"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 6h ago.","lastOkAt":"2026-10-10T15:31:53.642Z","lastProbedAt":"2026-10-10T15:31:53.642Z","statusComputedAt":"2026-10-10T15:32:58.736Z","reliability30d":{"probes":112,"successRate":1,"p50Ms":70,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":109,"ok":109,"authBoundaryOk":0,"serviceOk":109,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T15:31:53.642Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":58,"error":null,"detail":{"tools":[{"name":"describe_relin","description":"Explain what Relin does and how agents should use it for webhook intake, delivery, replay, and anomaly review."},{"name":"list_supported_webhook_shapes","description":"List the vendor webhook shapes Relin understands for event identity, ordering, and gap checks."},{"name":"get_setup_guide","description":"Return concise setup guidance for connecting a webhook source and destination."},{"name":"list_api_keys","description":"Authenticated tool to list API keys."},{"name":"create_api_key","description":"Authenticated tool to create API key."},{"name":"revoke_api_key","description":"Authenticated tool to revoke API key."},{"name":"list_sources","description":"Authenticated tool to list sources."},{"name":"create_source","description":"Authenticated tool to create source."},{"name":"rotate_source_token","description":"Authenticated tool for rotating an ingest token and returning the replacement URL once."},{"name":"archive_source","description":"Authenticated tool for deleting a source, disabling its routing, cancelling queued retries, clearing event-stream coordinator state, and pruning stored source r"},{"name":"list_destinations","description":"Authenticated tool for listing outbound destinations and retry policy."},{"name":"create_destination","description":"Authenticated tool for creating an outbound destination and connection with retry policy and optional filters."},{"name":"list_apps","description":"Authenticated tool to list apps."},{"name":"create_app","description":"Authenticated tool to create app."},{"name":"get_app","description":"Authenticated tool to get app."},{"name":"list_recipients","description":"Authenticated tool to list recipients."},{"name":"upsert_recipient","description":"Authenticated tool for creating or updating a recipient."},{"name":"list_endpoints","description":"Authenticated tool to list recipient endpoints."},{"name":"create_endpoint","description":"Authenticated tool to create endpoint."},{"name":"get_endpoint","description":"Authenticated tool to get endpoint."},{"name":"update_endpoint","description":"Authenticated tool to update endpoint."},{"name":"delete_endpoint","description":"Authenticated tool to disable endpoint."},{"name":"rotate_endpoint_secret","description":"Authenticated tool for rotating the signing secret for one endpoint."},{"name":"list_messages","description":"Authenticated tool to list messages."},{"name":"send_message","description":"Authenticated tool to send message."},{"name":"get_message","description":"Authenticated tool to get message."},{"name":"list_message_attempts","description":"Authenticated tool to list message attempts."},{"name":"replay_message","description":"Authenticated tool to replay message."},{"name":"list_event_types","description":"Authenticated tool to list event types."},{"name":"upsert_event_type","description":"Authenticated tool to upsert event type."},{"name":"delete_event_type","description":"Authenticated tool to archive event type."},{"name":"create_portal_session","description":"Authenticated tool to create portal session."},{"name":"get_portal_settings","description":"Authenticated tool for reading portal branding defaults and host setup for an app."},{"name":"save_portal_settings","description":"Authenticated tool for saving portal branding defaults for an app."},{"name":"list_portal_hosts","description":"Authenticated tool for listing stable portal hosts for an app."},{"name":"create_portal_host","description":"Authenticated tool for creating a stable portal host with OIDC sign-in."},{"name":"check_portal_host","description":"Authenticated tool for refreshing hostname, certificate, and OIDC readiness for a stable portal host."},{"name":"ensure_webhook_setup","description":"Authenticated tool for idempotently setting up a vendor source and destination, returning the ingest URL when a new source is created."},{"name":"list_recent_events","description":"Authenticated tool for inspecting recent received events, duplicates, and signature status."},{"name":"get_event_detail","description":"Authenticated tool for reading one event with attempts, deliveries, and optional raw payload."},{"name":"list_open_issues","description":"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 e"},{"name":"list_delivery_attempts","description":"Authenticated tool for listing fanout delivery attempts with filters."},{"name":"list_retry_jobs","description":"Authenticated tool to list retry jobs."},{"name":"get_metrics_summary","description":"Authenticated tool for delivery, failure, duplicate, and open-issue rollups."},{"name":"list_alert_channels","description":"Authenticated tool to list alert channels."},{"name":"create_alert_channel","description":"Authenticated tool to create alert channel."},{"name":"get_slack_connect_url","description":"Authenticated tool for returning the dashboard Slack OAuth connect URL and expected redirect URL."},{"name":"replay_event","description":"Authenticated tool for queueing a replay of a single received event."},{"name":"replay_events","description":"Authenticated tool for queueing replay by source, query, signature status, failed-delivery state, and time window."},{"name":"retry_failed_deliveries","description":"Authenticated tool for queueing immediate retries for failed fanout deliveries."},{"name":"cancel_queued_retries","description":"Authenticated tool for cancelling queued retry jobs for a workspace or destination."},{"name":"resolve_anomalies","description":"Authenticated tool for marking one or more open anomalies resolved by anomaly_id."}],"toolCount":52,"toolsHash":"739741c6735b44e8f36d59db5bbc37f28a239f5c68e14de493cfbb336fcd725a","serverName":"relin-mcp","capabilities":["resources","prompts","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T09:25:24.605Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":101,"error":null,"detail":{"tools":[{"name":"describe_relin","description":"Explain what Relin does and how agents should use it for webhook intake, delivery, replay, and anomaly review."},{"name":"list_supported_webhook_shapes","description":"List the vendor webhook shapes Relin understands for event identity, ordering, and gap checks."},{"name":"get_setup_guide","description":"Return concise setup guidance for connecting a webhook source and destination."},{"name":"list_api_keys","description":"Authenticated tool to list API keys."},{"name":"create_api_key","description":"Authenticated tool to create API key."},{"name":"revoke_api_key","description":"Authenticated tool to revoke API key."},{"name":"list_sources","description":"Authenticated tool to list sources."},{"name":"create_source","description":"Authenticated tool to create source."},{"name":"rotate_source_token","description":"Authenticated tool for rotating an ingest token and returning the replacement URL once."},{"name":"archive_source","description":"Authenticated tool for deleting a source, disabling its routing, cancelling queued retries, clearing event-stream coordinator state, and pruning stored source r"},{"name":"list_destinations","description":"Authenticated tool for listing outbound destinations and retry policy."},{"name":"create_destination","description":"Authenticated tool for creating an outbound destination and connection with retry policy and optional filters."},{"name":"list_apps","description":"Authenticated tool to list apps."},{"name":"create_app","description":"Authenticated tool to create app."},{"name":"get_app","description":"Authenticated tool to get app."},{"name":"list_recipients","description":"Authenticated tool to list recipients."},{"name":"upsert_recipient","description":"Authenticated tool for creating or updating a recipient."},{"name":"list_endpoints","description":"Authenticated tool to list recipient endpoints."},{"name":"create_endpoint","description":"Authenticated tool to create endpoint."},{"name":"get_endpoint","description":"Authenticated tool to get endpoint."},{"name":"update_endpoint","description":"Authenticated tool to update endpoint."},{"name":"delete_endpoint","description":"Authenticated tool to disable endpoint."},{"name":"rotate_endpoint_secret","description":"Authenticated tool for rotating the signing secret for one endpoint."},{"name":"list_messages","description":"Authenticated tool to list messages."},{"name":"send_message","description":"Authenticated tool to send message."},{"name":"get_message","description":"Authenticated tool to get message."},{"name":"list_message_attempts","description":"Authenticated tool to list message attempts."},{"name":"replay_message","description":"Authenticated tool to replay message."},{"name":"list_event_types","description":"Authenticated tool to list event types."},{"name":"upsert_event_type","description":"Authenticated tool to upsert event type."},{"name":"delete_event_type","description":"Authenticated tool to archive event type."},{"name":"create_portal_session","description":"Authenticated tool to create portal session."},{"name":"get_portal_settings","description":"Authenticated tool for reading portal branding defaults and host setup for an app."},{"name":"save_portal_settings","description":"Authenticated tool for saving portal branding defaults for an app."},{"name":"list_portal_hosts","description":"Authenticated tool for listing stable portal hosts for an app."},{"name":"create_portal_host","description":"Authenticated tool for creating a stable portal host with OIDC sign-in."},{"name":"check_portal_host","description":"Authenticated tool for refreshing hostname, certificate, and OIDC readiness for a stable portal host."},{"name":"ensure_webhook_setup","description":"Authenticated tool for idempotently setting up a vendor source and destination, returning the ingest URL when a new source is created."},{"name":"list_recent_events","description":"Authenticated tool for inspecting recent received events, duplicates, and signature status."},{"name":"get_event_detail","description":"Authenticated tool for reading one event with attempts, deliveries, and optional raw payload."},{"name":"list_open_issues","description":"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 e"},{"name":"list_delivery_attempts","description":"Authenticated tool for listing fanout delivery attempts with filters."},{"name":"list_retry_jobs","description":"Authenticated tool to list retry jobs."},{"name":"get_metrics_summary","description":"Authenticated tool for delivery, failure, duplicate, and open-issue rollups."},{"name":"list_alert_channels","description":"Authenticated tool to list alert channels."},{"name":"create_alert_channel","description":"Authenticated tool to create alert channel."},{"name":"get_slack_connect_url","description":"Authenticated tool for returning the dashboard Slack OAuth connect URL and expected redirect URL."},{"name":"replay_event","description":"Authenticated tool for queueing a replay of a single received event."},{"name":"replay_events","description":"Authenticated tool for queueing replay by source, query, signature status, failed-delivery state, and time window."},{"name":"retry_failed_deliveries","description":"Authenticated tool for queueing immediate retries for failed fanout deliveries."},{"name":"cancel_queued_retries","description":"Authenticated tool for cancelling queued retry jobs for a workspace or destination."},{"name":"resolve_anomalies","description":"Authenticated tool for marking one or more open anomalies resolved by anomaly_id."}],"toolCount":52,"toolsHash":"739741c6735b44e8f36d59db5bbc37f28a239f5c68e14de493cfbb336fcd725a","serverName":"relin-mcp","capabilities":["resources","prompts","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T03:25:13.746Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":55,"error":null,"detail":{"tools":[{"name":"describe_relin","description":"Explain what Relin does and how agents should use it for webhook intake, delivery, replay, and anomaly review."},{"name":"list_supported_webhook_shapes","description":"List the vendor webhook shapes Relin understands for event identity, ordering, and gap checks."},{"name":"get_setup_guide","description":"Return concise setup guidance for connecting a webhook source and destination."},{"name":"list_api_keys","description":"Authenticated tool to list API keys."},{"name":"create_api_key","description":"Authenticated tool to create API key."},{"name":"revoke_api_key","description":"Authenticated tool to revoke API key."},{"name":"list_sources","description":"Authenticated tool to list sources."},{"name":"create_source","description":"Authenticated tool to create source."},{"name":"rotate_source_token","description":"Authenticated tool for rotating an ingest token and returning the replacement URL once."},{"name":"archive_source","description":"Authenticated tool for deleting a source, disabling its routing, cancelling queued retries, clearing event-stream coordinator state, and pruning stored source r"},{"name":"list_destinations","description":"Authenticated tool for listing outbound destinations and retry policy."},{"name":"create_destination","description":"Authenticated tool for creating an outbound destination and connection with retry policy and optional filters."},{"name":"list_apps","description":"Authenticated tool to list apps."},{"name":"create_app","description":"Authenticated tool to create app."},{"name":"get_app","description":"Authenticated tool to get app."},{"name":"list_recipients","description":"Authenticated tool to list recipients."},{"name":"upsert_recipient","description":"Authenticated tool for creating or updating a recipient."},{"name":"list_endpoints","description":"Authenticated tool to list recipient endpoints."},{"name":"create_endpoint","description":"Authenticated tool to create endpoint."},{"name":"get_endpoint","description":"Authenticated tool to get endpoint."},{"name":"update_endpoint","description":"Authenticated tool to update endpoint."},{"name":"delete_endpoint","description":"Authenticated tool to disable endpoint."},{"name":"rotate_endpoint_secret","description":"Authenticated tool for rotating the signing secret for one endpoint."},{"name":"list_messages","description":"Authenticated tool to list messages."},{"name":"send_message","description":"Authenticated tool to send message."},{"name":"get_message","description":"Authenticated tool to get message."},{"name":"list_message_attempts","description":"Authenticated tool to list message attempts."},{"name":"replay_message","description":"Authenticated tool to replay message."},{"name":"list_event_types","description":"Authenticated tool to list event types."},{"name":"upsert_event_type","description":"Authenticated tool to upsert event type."},{"name":"delete_event_type","description":"Authenticated tool to archive event type."},{"name":"create_portal_session","description":"Authenticated tool to create portal session."},{"name":"get_portal_settings","description":"Authenticated tool for reading portal branding defaults and host setup for an app."},{"name":"save_portal_settings","description":"Authenticated tool for saving portal branding defaults for an app."},{"name":"list_portal_hosts","description":"Authenticated tool for listing stable portal hosts for an app."},{"name":"create_portal_host","description":"Authenticated tool for creating a stable portal host with OIDC sign-in."},{"name":"check_portal_host","description":"Authenticated tool for refreshing hostname, certificate, and OIDC readiness for a stable portal host."},{"name":"ensure_webhook_setup","description":"Authenticated tool for idempotently setting up a vendor source and destination, returning the ingest URL when a new source is created."},{"name":"list_recent_events","description":"Authenticated tool for inspecting recent received events, duplicates, and signature status."},{"name":"get_event_detail","description":"Authenticated tool for reading one event with attempts, deliveries, and optional raw payload."},{"name":"list_open_issues","description":"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 e"},{"name":"list_delivery_attempts","description":"Authenticated tool for listing fanout delivery attempts with filters."},{"name":"list_retry_jobs","description":"Authenticated tool to list retry jobs."},{"name":"get_metrics_summary","description":"Authenticated tool for delivery, failure, duplicate, and open-issue rollups."},{"name":"list_alert_channels","description":"Authenticated tool to list alert channels."},{"name":"create_alert_channel","description":"Authenticated tool to create alert channel."},{"name":"get_slack_connect_url","description":"Authenticated tool for returning the dashboard Slack OAuth connect URL and expected redirect URL."},{"name":"replay_event","description":"Authenticated tool for queueing a replay of a single received event."},{"name":"replay_events","description":"Authenticated tool for queueing replay by source, query, signature status, failed-delivery state, and time window."},{"name":"retry_failed_deliveries","description":"Authenticated tool for queueing immediate retries for failed fanout deliveries."},{"name":"cancel_queued_retries","description":"Authenticated tool for cancelling queued retry jobs for a workspace or destination."},{"name":"resolve_anomalies","description":"Authenticated tool for marking one or more open anomalies resolved by anomaly_id."}],"toolCount":52,"toolsHash":"739741c6735b44e8f36d59db5bbc37f28a239f5c68e14de493cfbb336fcd725a","serverName":"relin-mcp","capabilities":["resources","prompts","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T20:29:56.856Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":137,"error":null,"detail":{"tools":[{"name":"describe_relin","description":"Explain what Relin does and how agents should use it for webhook intake, delivery, replay, and anomaly review."},{"name":"list_supported_webhook_shapes","description":"List the vendor webhook shapes Relin understands for event identity, ordering, and gap checks."},{"name":"get_setup_guide","description":"Return concise setup guidance for connecting a webhook source and destination."},{"name":"list_api_keys","description":"Authenticated tool to list API keys."},{"name":"create_api_key","description":"Authenticated tool to create API key."},{"name":"revoke_api_key","description":"Authenticated tool to revoke API key."},{"name":"list_sources","description":"Authenticated tool to list sources."},{"name":"create_source","description":"Authenticated tool to create source."},{"name":"rotate_source_token","description":"Authenticated tool for rotating an ingest token and returning the replacement URL once."},{"name":"archive_source","description":"Authenticated tool for deleting a source, disabling its routing, cancelling queued retries, clearing event-stream coordinator state, and pruning stored source r"},{"name":"list_destinations","description":"Authenticated tool for listing outbound destinations and retry policy."},{"name":"create_destination","description":"Authenticated tool for creating an outbound destination and connection with retry policy and optional filters."},{"name":"list_apps","description":"Authenticated tool to list apps."},{"name":"create_app","description":"Authenticated tool to create app."},{"name":"get_app","description":"Authenticated tool to get app."},{"name":"list_recipients","description":"Authenticated tool to list recipients."},{"name":"upsert_recipient","description":"Authenticated tool for creating or updating a recipient."},{"name":"list_endpoints","description":"Authenticated tool to list recipient endpoints."},{"name":"create_endpoint","description":"Authenticated tool to create endpoint."},{"name":"get_endpoint","description":"Authenticated tool to get endpoint."},{"name":"update_endpoint","description":"Authenticated tool to update endpoint."},{"name":"delete_endpoint","description":"Authenticated tool to disable endpoint."},{"name":"rotate_endpoint_secret","description":"Authenticated tool for rotating the signing secret for one endpoint."},{"name":"list_messages","description":"Authenticated tool to list messages."},{"name":"send_message","description":"Authenticated tool to send message."},{"name":"get_message","description":"Authenticated tool to get message."},{"name":"list_message_attempts","description":"Authenticated tool to list message attempts."},{"name":"replay_message","description":"Authenticated tool to replay message."},{"name":"list_event_types","description":"Authenticated tool to list event types."},{"name":"upsert_event_type","description":"Authenticated tool to upsert event type."},{"name":"delete_event_type","description":"Authenticated tool to archive event type."},{"name":"create_portal_session","description":"Authenticated tool to create portal session."},{"name":"get_portal_settings","description":"Authenticated tool for reading portal branding defaults and host setup for an app."},{"name":"save_portal_settings","description":"Authenticated tool for saving portal branding defaults for an app."},{"name":"list_portal_hosts","description":"Authenticated tool for listing stable portal hosts for an app."},{"name":"create_portal_host","description":"Authenticated tool for creating a stable portal host with OIDC sign-in."},{"name":"check_portal_host","description":"Authenticated tool for refreshing hostname, certificate, and OIDC readiness for a stable portal host."},{"name":"ensure_webhook_setup","description":"Authenticated tool for idempotently setting up a vendor source and destination, returning the ingest URL when a new source is created."},{"name":"list_recent_events","description":"Authenticated tool for inspecting recent received events, duplicates, and signature status."},{"name":"get_event_detail","description":"Authenticated tool for reading one event with attempts, deliveries, and optional raw payload."},{"name":"list_open_issues","description":"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 e"},{"name":"list_delivery_attempts","description":"Authenticated tool for listing fanout delivery attempts with filters."},{"name":"list_retry_jobs","description":"Authenticated tool to list retry jobs."},{"name":"get_metrics_summary","description":"Authenticated tool for delivery, failure, duplicate, and open-issue rollups."},{"name":"list_alert_channels","description":"Authenticated tool to list alert channels."},{"name":"create_alert_channel","description":"Authenticated tool to create alert channel."},{"name":"get_slack_connect_url","description":"Authenticated tool for returning the dashboard Slack OAuth connect URL and expected redirect URL."},{"name":"replay_event","description":"Authenticated tool for queueing a replay of a single received event."},{"name":"replay_events","description":"Authenticated tool for queueing replay by source, query, signature status, failed-delivery state, and time window."},{"name":"retry_failed_deliveries","description":"Authenticated tool for queueing immediate retries for failed fanout deliveries."},{"name":"cancel_queued_retries","description":"Authenticated tool for cancelling queued retry jobs for a workspace or destination."},{"name":"resolve_anomalies","description":"Authenticated tool for marking one or more open anomalies resolved by anomaly_id."}],"toolCount":52,"toolsHash":"739741c6735b44e8f36d59db5bbc37f28a239f5c68e14de493cfbb336fcd725a","serverName":"relin-mcp","capabilities":["resources","prompts","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T13:31:38.656Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":52,"error":null,"detail":{"tools":[{"name":"describe_relin","description":"Explain what Relin does and how agents should use it for webhook intake, delivery, replay, and anomaly review."},{"name":"list_supported_webhook_shapes","description":"List the vendor webhook shapes Relin understands for event identity, ordering, and gap checks."},{"name":"get_setup_guide","description":"Return concise setup guidance for connecting a webhook source and destination."},{"name":"list_api_keys","description":"Authenticated tool to list API keys."},{"name":"create_api_key","description":"Authenticated tool to create API key."},{"name":"revoke_api_key","description":"Authenticated tool to revoke API key."},{"name":"list_sources","description":"Authenticated tool to list sources."},{"name":"create_source","description":"Authenticated tool to create source."},{"name":"rotate_source_token","description":"Authenticated tool for rotating an ingest token and returning the replacement URL once."},{"name":"archive_source","description":"Authenticated tool for deleting a source, disabling its routing, cancelling queued retries, clearing event-stream coordinator state, and pruning stored source r"},{"name":"list_destinations","description":"Authenticated tool for listing outbound destinations and retry policy."},{"name":"create_destination","description":"Authenticated tool for creating an outbound destination and connection with retry policy and optional filters."},{"name":"list_apps","description":"Authenticated tool to list apps."},{"name":"create_app","description":"Authenticated tool to create app."},{"name":"get_app","description":"Authenticated tool to get app."},{"name":"list_recipients","description":"Authenticated tool to list recipients."},{"name":"upsert_recipient","description":"Authenticated tool for creating or updating a recipient."},{"name":"list_endpoints","description":"Authenticated tool to list recipient endpoints."},{"name":"create_endpoint","description":"Authenticated tool to create endpoint."},{"name":"get_endpoint","description":"Authenticated tool to get endpoint."},{"name":"update_endpoint","description":"Authenticated tool to update endpoint."},{"name":"delete_endpoint","description":"Authenticated tool to disable endpoint."},{"name":"rotate_endpoint_secret","description":"Authenticated tool for rotating the signing secret for one endpoint."},{"name":"list_messages","description":"Authenticated tool to list messages."},{"name":"send_message","description":"Authenticated tool to send message."},{"name":"get_message","description":"Authenticated tool to get message."},{"name":"list_message_attempts","description":"Authenticated tool to list message attempts."},{"name":"replay_message","description":"Authenticated tool to replay message."},{"name":"list_event_types","description":"Authenticated tool to list event types."},{"name":"upsert_event_type","description":"Authenticated tool to upsert event type."},{"name":"delete_event_type","description":"Authenticated tool to archive event type."},{"name":"create_portal_session","description":"Authenticated tool to create portal session."},{"name":"get_portal_settings","description":"Authenticated tool for reading portal branding defaults and host setup for an app."},{"name":"save_portal_settings","description":"Authenticated tool for saving portal branding defaults for an app."},{"name":"list_portal_hosts","description":"Authenticated tool for listing stable portal hosts for an app."},{"name":"create_portal_host","description":"Authenticated tool for creating a stable portal host with OIDC sign-in."},{"name":"check_portal_host","description":"Authenticated tool for refreshing hostname, certificate, and OIDC readiness for a stable portal host."},{"name":"ensure_webhook_setup","description":"Authenticated tool for idempotently setting up a vendor source and destination, returning the ingest URL when a new source is created."},{"name":"list_recent_events","description":"Authenticated tool for inspecting recent received events, duplicates, and signature status."},{"name":"get_event_detail","description":"Authenticated tool for reading one event with attempts, deliveries, and optional raw payload."},{"name":"list_open_issues","description":"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 e"},{"name":"list_delivery_attempts","description":"Authenticated tool for listing fanout delivery attempts with filters."},{"name":"list_retry_jobs","description":"Authenticated tool to list retry jobs."},{"name":"get_metrics_summary","description":"Authenticated tool for delivery, failure, duplicate, and open-issue rollups."},{"name":"list_alert_channels","description":"Authenticated tool to list alert channels."},{"name":"create_alert_channel","description":"Authenticated tool to create alert channel."},{"name":"get_slack_connect_url","description":"Authenticated tool for returning the dashboard Slack OAuth connect URL and expected redirect URL."},{"name":"replay_event","description":"Authenticated tool for queueing a replay of a single received event."},{"name":"replay_events","description":"Authenticated tool for queueing replay by source, query, signature status, failed-delivery state, and time window."},{"name":"retry_failed_deliveries","description":"Authenticated tool for queueing immediate retries for failed fanout deliveries."},{"name":"cancel_queued_retries","description":"Authenticated tool for cancelling queued retry jobs for a workspace or destination."},{"name":"resolve_anomalies","description":"Authenticated tool for marking one or more open anomalies resolved by anomaly_id."}],"toolCount":52,"toolsHash":"739741c6735b44e8f36d59db5bbc37f28a239f5c68e14de493cfbb336fcd725a","serverName":"relin-mcp","capabilities":["resources","prompts","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T07:24:54.727Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":90,"error":null,"detail":{"tools":[{"name":"describe_relin","description":"Explain what Relin does and how agents should use it for webhook intake, delivery, replay, and anomaly review."},{"name":"list_supported_webhook_shapes","description":"List the vendor webhook shapes Relin understands for event identity, ordering, and gap checks."},{"name":"get_setup_guide","description":"Return concise setup guidance for connecting a webhook source and destination."},{"name":"list_api_keys","description":"Authenticated tool to list API keys."},{"name":"create_api_key","description":"Authenticated tool to create API key."},{"name":"revoke_api_key","description":"Authenticated tool to revoke API key."},{"name":"list_sources","description":"Authenticated tool to list sources."},{"name":"create_source","description":"Authenticated tool to create source."},{"name":"rotate_source_token","description":"Authenticated tool for rotating an ingest token and returning the replacement URL once."},{"name":"archive_source","description":"Authenticated tool for deleting a source, disabling its routing, cancelling queued retries, clearing event-stream coordinator state, and pruning stored source r"},{"name":"list_destinations","description":"Authenticated tool for listing outbound destinations and retry policy."},{"name":"create_destination","description":"Authenticated tool for creating an outbound destination and connection with retry policy and optional filters."},{"name":"list_apps","description":"Authenticated tool to list apps."},{"name":"create_app","description":"Authenticated tool to create app."},{"name":"get_app","description":"Authenticated tool to get app."},{"name":"list_recipients","description":"Authenticated tool to list recipients."},{"name":"upsert_recipient","description":"Authenticated tool for creating or updating a recipient."},{"name":"list_endpoints","description":"Authenticated tool to list recipient endpoints."},{"name":"create_endpoint","description":"Authenticated tool to create endpoint."},{"name":"get_endpoint","description":"Authenticated tool to get endpoint."},{"name":"update_endpoint","description":"Authenticated tool to update endpoint."},{"name":"delete_endpoint","description":"Authenticated tool to disable endpoint."},{"name":"rotate_endpoint_secret","description":"Authenticated tool for rotating the signing secret for one endpoint."},{"name":"list_messages","description":"Authenticated tool to list messages."},{"name":"send_message","description":"Authenticated tool to send message."},{"name":"get_message","description":"Authenticated tool to get message."},{"name":"list_message_attempts","description":"Authenticated tool to list message attempts."},{"name":"replay_message","description":"Authenticated tool to replay message."},{"name":"list_event_types","description":"Authenticated tool to list event types."},{"name":"upsert_event_type","description":"Authenticated tool to upsert event type."},{"name":"delete_event_type","description":"Authenticated tool to archive event type."},{"name":"create_portal_session","description":"Authenticated tool to create portal session."},{"name":"get_portal_settings","description":"Authenticated tool for reading portal branding defaults and host setup for an app."},{"name":"save_portal_settings","description":"Authenticated tool for saving portal branding defaults for an app."},{"name":"list_portal_hosts","description":"Authenticated tool for listing stable portal hosts for an app."},{"name":"create_portal_host","description":"Authenticated tool for creating a stable portal host with OIDC sign-in."},{"name":"check_portal_host","description":"Authenticated tool for refreshing hostname, certificate, and OIDC readiness for a stable portal host."},{"name":"ensure_webhook_setup","description":"Authenticated tool for idempotently setting up a vendor source and destination, returning the ingest URL when a new source is created."},{"name":"list_recent_events","description":"Authenticated tool for inspecting recent received events, duplicates, and signature status."},{"name":"get_event_detail","description":"Authenticated tool for reading one event with attempts, deliveries, and optional raw payload."},{"name":"list_open_issues","description":"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 e"},{"name":"list_delivery_attempts","description":"Authenticated tool for listing fanout delivery attempts with filters."},{"name":"list_retry_jobs","description":"Authenticated tool to list retry jobs."},{"name":"get_metrics_summary","description":"Authenticated tool for delivery, failure, duplicate, and open-issue rollups."},{"name":"list_alert_channels","description":"Authenticated tool to list alert channels."},{"name":"create_alert_channel","description":"Authenticated tool to create alert channel."},{"name":"get_slack_connect_url","description":"Authenticated tool for returning the dashboard Slack OAuth connect URL and expected redirect URL."},{"name":"replay_event","description":"Authenticated tool for queueing a replay of a single received event."},{"name":"replay_events","description":"Authenticated tool for queueing replay by source, query, signature status, failed-delivery state, and time window."},{"name":"retry_failed_deliveries","description":"Authenticated tool for queueing immediate retries for failed fanout deliveries."},{"name":"cancel_queued_retries","description":"Authenticated tool for cancelling queued retry jobs for a workspace or destination."},{"name":"resolve_anomalies","description":"Authenticated tool for marking one or more open anomalies resolved by anomaly_id."}],"toolCount":52,"toolsHash":"739741c6735b44e8f36d59db5bbc37f28a239f5c68e14de493cfbb336fcd725a","serverName":"relin-mcp","capabilities":["resources","prompts","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T00:25:09.444Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":39,"error":null,"detail":{"tools":[{"name":"describe_relin","description":"Explain what Relin does and how agents should use it for webhook intake, delivery, replay, and anomaly review."},{"name":"list_supported_webhook_shapes","description":"List the vendor webhook shapes Relin understands for event identity, ordering, and gap checks."},{"name":"get_setup_guide","description":"Return concise setup guidance for connecting a webhook source and destination."},{"name":"list_api_keys","description":"Authenticated tool to list API keys."},{"name":"create_api_key","description":"Authenticated tool to create API key."},{"name":"revoke_api_key","description":"Authenticated tool to revoke API key."},{"name":"list_sources","description":"Authenticated tool to list sources."},{"name":"create_source","description":"Authenticated tool to create source."},{"name":"rotate_source_token","description":"Authenticated tool for rotating an ingest token and returning the replacement URL once."},{"name":"archive_source","description":"Authenticated tool for deleting a source, disabling its routing, cancelling queued retries, clearing event-stream coordinator state, and pruning stored source r"},{"name":"list_destinations","description":"Authenticated tool for listing outbound destinations and retry policy."},{"name":"create_destination","description":"Authenticated tool for creating an outbound destination and connection with retry policy and optional filters."},{"name":"list_apps","description":"Authenticated tool to list apps."},{"name":"create_app","description":"Authenticated tool to create app."},{"name":"get_app","description":"Authenticated tool to get app."},{"name":"list_recipients","description":"Authenticated tool to list recipients."},{"name":"upsert_recipient","description":"Authenticated tool for creating or updating a recipient."},{"name":"list_endpoints","description":"Authenticated tool to list recipient endpoints."},{"name":"create_endpoint","description":"Authenticated tool to create endpoint."},{"name":"get_endpoint","description":"Authenticated tool to get endpoint."},{"name":"update_endpoint","description":"Authenticated tool to update endpoint."},{"name":"delete_endpoint","description":"Authenticated tool to disable endpoint."},{"name":"rotate_endpoint_secret","description":"Authenticated tool for rotating the signing secret for one endpoint."},{"name":"list_messages","description":"Authenticated tool to list messages."},{"name":"send_message","description":"Authenticated tool to send message."},{"name":"get_message","description":"Authenticated tool to get message."},{"name":"list_message_attempts","description":"Authenticated tool to list message attempts."},{"name":"replay_message","description":"Authenticated tool to replay message."},{"name":"list_event_types","description":"Authenticated tool to list event types."},{"name":"upsert_event_type","description":"Authenticated tool to upsert event type."},{"name":"delete_event_type","description":"Authenticated tool to archive event type."},{"name":"create_portal_session","description":"Authenticated tool to create portal session."},{"name":"get_portal_settings","description":"Authenticated tool for reading portal branding defaults and host setup for an app."},{"name":"save_portal_settings","description":"Authenticated tool for saving portal branding defaults for an app."},{"name":"list_portal_hosts","description":"Authenticated tool for listing stable portal hosts for an app."},{"name":"create_portal_host","description":"Authenticated tool for creating a stable portal host with OIDC sign-in."},{"name":"check_portal_host","description":"Authenticated tool for refreshing hostname, certificate, and OIDC readiness for a stable portal host."},{"name":"ensure_webhook_setup","description":"Authenticated tool for idempotently setting up a vendor source and destination, returning the ingest URL when a new source is created."},{"name":"list_recent_events","description":"Authenticated tool for inspecting recent received events, duplicates, and signature status."},{"name":"get_event_detail","description":"Authenticated tool for reading one event with attempts, deliveries, and optional raw payload."},{"name":"list_open_issues","description":"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 e"},{"name":"list_delivery_attempts","description":"Authenticated tool for listing fanout delivery attempts with filters."},{"name":"list_retry_jobs","description":"Authenticated tool to list retry jobs."},{"name":"get_metrics_summary","description":"Authenticated tool for delivery, failure, duplicate, and open-issue rollups."},{"name":"list_alert_channels","description":"Authenticated tool to list alert channels."},{"name":"create_alert_channel","description":"Authenticated tool to create alert channel."},{"name":"get_slack_connect_url","description":"Authenticated tool for returning the dashboard Slack OAuth connect URL and expected redirect URL."},{"name":"replay_event","description":"Authenticated tool for queueing a replay of a single received event."},{"name":"replay_events","description":"Authenticated tool for queueing replay by source, query, signature status, failed-delivery state, and time window."},{"name":"retry_failed_deliveries","description":"Authenticated tool for queueing immediate retries for failed fanout deliveries."},{"name":"cancel_queued_retries","description":"Authenticated tool for cancelling queued retry jobs for a workspace or destination."},{"name":"resolve_anomalies","description":"Authenticated tool for marking one or more open anomalies resolved by anomaly_id."}],"toolCount":52,"toolsHash":"739741c6735b44e8f36d59db5bbc37f28a239f5c68e14de493cfbb336fcd725a","serverName":"relin-mcp","capabilities":["resources","prompts","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T17:27:04.652Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":86,"error":null,"detail":{"tools":[{"name":"describe_relin","description":"Explain what Relin does and how agents should use it for webhook intake, delivery, replay, and anomaly review."},{"name":"list_supported_webhook_shapes","description":"List the vendor webhook shapes Relin understands for event identity, ordering, and gap checks."},{"name":"get_setup_guide","description":"Return concise setup guidance for connecting a webhook source and destination."},{"name":"list_api_keys","description":"Authenticated tool to list API keys."},{"name":"create_api_key","description":"Authenticated tool to create API key."},{"name":"revoke_api_key","description":"Authenticated tool to revoke API key."},{"name":"list_sources","description":"Authenticated tool to list sources."},{"name":"create_source","description":"Authenticated tool to create source."},{"name":"rotate_source_token","description":"Authenticated tool for rotating an ingest token and returning the replacement URL once."},{"name":"archive_source","description":"Authenticated tool for deleting a source, disabling its routing, cancelling queued retries, clearing event-stream coordinator state, and pruning stored source r"},{"name":"list_destinations","description":"Authenticated tool for listing outbound destinations and retry policy."},{"name":"create_destination","description":"Authenticated tool for creating an outbound destination and connection with retry policy and optional filters."},{"name":"list_apps","description":"Authenticated tool to list apps."},{"name":"create_app","description":"Authenticated tool to create app."},{"name":"get_app","description":"Authenticated tool to get app."},{"name":"list_recipients","description":"Authenticated tool to list recipients."},{"name":"upsert_recipient","description":"Authenticated tool for creating or updating a recipient."},{"name":"list_endpoints","description":"Authenticated tool to list recipient endpoints."},{"name":"create_endpoint","description":"Authenticated tool to create endpoint."},{"name":"get_endpoint","description":"Authenticated tool to get endpoint."},{"name":"update_endpoint","description":"Authenticated tool to update endpoint."},{"name":"delete_endpoint","description":"Authenticated tool to disable endpoint."},{"name":"rotate_endpoint_secret","description":"Authenticated tool for rotating the signing secret for one endpoint."},{"name":"list_messages","description":"Authenticated tool to list messages."},{"name":"send_message","description":"Authenticated tool to send message."},{"name":"get_message","description":"Authenticated tool to get message."},{"name":"list_message_attempts","description":"Authenticated tool to list message attempts."},{"name":"replay_message","description":"Authenticated tool to replay message."},{"name":"list_event_types","description":"Authenticated tool to list event types."},{"name":"upsert_event_type","description":"Authenticated tool to upsert event type."},{"name":"delete_event_type","description":"Authenticated tool to archive event type."},{"name":"create_portal_session","description":"Authenticated tool to create portal session."},{"name":"get_portal_settings","description":"Authenticated tool for reading portal branding defaults and host setup for an app."},{"name":"save_portal_settings","description":"Authenticated tool for saving portal branding defaults for an app."},{"name":"list_portal_hosts","description":"Authenticated tool for listing stable portal hosts for an app."},{"name":"create_portal_host","description":"Authenticated tool for creating a stable portal host with OIDC sign-in."},{"name":"check_portal_host","description":"Authenticated tool for refreshing hostname, certificate, and OIDC readiness for a stable portal host."},{"name":"ensure_webhook_setup","description":"Authenticated tool for idempotently setting up a vendor source and destination, returning the ingest URL when a new source is created."},{"name":"list_recent_events","description":"Authenticated tool for inspecting recent received events, duplicates, and signature status."},{"name":"get_event_detail","description":"Authenticated tool for reading one event with attempts, deliveries, and optional raw payload."},{"name":"list_open_issues","description":"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 e"},{"name":"list_delivery_attempts","description":"Authenticated tool for listing fanout delivery attempts with filters."},{"name":"list_retry_jobs","description":"Authenticated tool to list retry jobs."},{"name":"get_metrics_summary","description":"Authenticated tool for delivery, failure, duplicate, and open-issue rollups."},{"name":"list_alert_channels","description":"Authenticated tool to list alert channels."},{"name":"create_alert_channel","description":"Authenticated tool to create alert channel."},{"name":"get_slack_connect_url","description":"Authenticated tool for returning the dashboard Slack OAuth connect URL and expected redirect URL."},{"name":"replay_event","description":"Authenticated tool for queueing a replay of a single received event."},{"name":"replay_events","description":"Authenticated tool for queueing replay by source, query, signature status, failed-delivery state, and time window."},{"name":"retry_failed_deliveries","description":"Authenticated tool for queueing immediate retries for failed fanout deliveries."},{"name":"cancel_queued_retries","description":"Authenticated tool for cancelling queued retry jobs for a workspace or destination."},{"name":"resolve_anomalies","description":"Authenticated tool for marking one or more open anomalies resolved by anomaly_id."}],"toolCount":52,"toolsHash":"739741c6735b44e8f36d59db5bbc37f28a239f5c68e14de493cfbb336fcd725a","serverName":"relin-mcp","capabilities":["resources","prompts","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T11:23:07.406Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":133,"error":null,"detail":{"tools":[{"name":"describe_relin","description":"Explain what Relin does and how agents should use it for webhook intake, delivery, replay, and anomaly review."},{"name":"list_supported_webhook_shapes","description":"List the vendor webhook shapes Relin understands for event identity, ordering, and gap checks."},{"name":"get_setup_guide","description":"Return concise setup guidance for connecting a webhook source and destination."},{"name":"list_api_keys","description":"Authenticated tool to list API keys."},{"name":"create_api_key","description":"Authenticated tool to create API key."},{"name":"revoke_api_key","description":"Authenticated tool to revoke API key."},{"name":"list_sources","description":"Authenticated tool to list sources."},{"name":"create_source","description":"Authenticated tool to create source."},{"name":"rotate_source_token","description":"Authenticated tool for rotating an ingest token and returning the replacement URL once."},{"name":"archive_source","description":"Authenticated tool for deleting a source, disabling its routing, cancelling queued retries, clearing event-stream coordinator state, and pruning stored source r"},{"name":"list_destinations","description":"Authenticated tool for listing outbound destinations and retry policy."},{"name":"create_destination","description":"Authenticated tool for creating an outbound destination and connection with retry policy and optional filters."},{"name":"list_apps","description":"Authenticated tool to list apps."},{"name":"create_app","description":"Authenticated tool to create app."},{"name":"get_app","description":"Authenticated tool to get app."},{"name":"list_recipients","description":"Authenticated tool to list recipients."},{"name":"upsert_recipient","description":"Authenticated tool for creating or updating a recipient."},{"name":"list_endpoints","description":"Authenticated tool to list recipient endpoints."},{"name":"create_endpoint","description":"Authenticated tool to create endpoint."},{"name":"get_endpoint","description":"Authenticated tool to get endpoint."},{"name":"update_endpoint","description":"Authenticated tool to update endpoint."},{"name":"delete_endpoint","description":"Authenticated tool to disable endpoint."},{"name":"rotate_endpoint_secret","description":"Authenticated tool for rotating the signing secret for one endpoint."},{"name":"list_messages","description":"Authenticated tool to list messages."},{"name":"send_message","description":"Authenticated tool to send message."},{"name":"get_message","description":"Authenticated tool to get message."},{"name":"list_message_attempts","description":"Authenticated tool to list message attempts."},{"name":"replay_message","description":"Authenticated tool to replay message."},{"name":"list_event_types","description":"Authenticated tool to list event types."},{"name":"upsert_event_type","description":"Authenticated tool to upsert event type."},{"name":"delete_event_type","description":"Authenticated tool to archive event type."},{"name":"create_portal_session","description":"Authenticated tool to create portal session."},{"name":"get_portal_settings","description":"Authenticated tool for reading portal branding defaults and host setup for an app."},{"name":"save_portal_settings","description":"Authenticated tool for saving portal branding defaults for an app."},{"name":"list_portal_hosts","description":"Authenticated tool for listing stable portal hosts for an app."},{"name":"create_portal_host","description":"Authenticated tool for creating a stable portal host with OIDC sign-in."},{"name":"check_portal_host","description":"Authenticated tool for refreshing hostname, certificate, and OIDC readiness for a stable portal host."},{"name":"ensure_webhook_setup","description":"Authenticated tool for idempotently setting up a vendor source and destination, returning the ingest URL when a new source is created."},{"name":"list_recent_events","description":"Authenticated tool for inspecting recent received events, duplicates, and signature status."},{"name":"get_event_detail","description":"Authenticated tool for reading one event with attempts, deliveries, and optional raw payload."},{"name":"list_open_issues","description":"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 e"},{"name":"list_delivery_attempts","description":"Authenticated tool for listing fanout delivery attempts with filters."},{"name":"list_retry_jobs","description":"Authenticated tool to list retry jobs."},{"name":"get_metrics_summary","description":"Authenticated tool for delivery, failure, duplicate, and open-issue rollups."},{"name":"list_alert_channels","description":"Authenticated tool to list alert channels."},{"name":"create_alert_channel","description":"Authenticated tool to create alert channel."},{"name":"get_slack_connect_url","description":"Authenticated tool for returning the dashboard Slack OAuth connect URL and expected redirect URL."},{"name":"replay_event","description":"Authenticated tool for queueing a replay of a single received event."},{"name":"replay_events","description":"Authenticated tool for queueing replay by source, query, signature status, failed-delivery state, and time window."},{"name":"retry_failed_deliveries","description":"Authenticated tool for queueing immediate retries for failed fanout deliveries."},{"name":"cancel_queued_retries","description":"Authenticated tool for cancelling queued retry jobs for a workspace or destination."},{"name":"resolve_anomalies","description":"Authenticated tool for marking one or more open anomalies resolved by anomaly_id."}],"toolCount":52,"toolsHash":"739741c6735b44e8f36d59db5bbc37f28a239f5c68e14de493cfbb336fcd725a","serverName":"relin-mcp","capabilities":["resources","prompts","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T04:25:28.587Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":46,"error":null,"detail":{"tools":[{"name":"describe_relin","description":"Explain what Relin does and how agents should use it for webhook intake, delivery, replay, and anomaly review."},{"name":"list_supported_webhook_shapes","description":"List the vendor webhook shapes Relin understands for event identity, ordering, and gap checks."},{"name":"get_setup_guide","description":"Return concise setup guidance for connecting a webhook source and destination."},{"name":"list_api_keys","description":"Authenticated tool to list API keys."},{"name":"create_api_key","description":"Authenticated tool to create API key."},{"name":"revoke_api_key","description":"Authenticated tool to revoke API key."},{"name":"list_sources","description":"Authenticated tool to list sources."},{"name":"create_source","description":"Authenticated tool to create source."},{"name":"rotate_source_token","description":"Authenticated tool for rotating an ingest token and returning the replacement URL once."},{"name":"archive_source","description":"Authenticated tool for deleting a source, disabling its routing, cancelling queued retries, clearing event-stream coordinator state, and pruning stored source r"},{"name":"list_destinations","description":"Authenticated tool for listing outbound destinations and retry policy."},{"name":"create_destination","description":"Authenticated tool for creating an outbound destination and connection with retry policy and optional filters."},{"name":"list_apps","description":"Authenticated tool to list apps."},{"name":"create_app","description":"Authenticated tool to create app."},{"name":"get_app","description":"Authenticated tool to get app."},{"name":"list_recipients","description":"Authenticated tool to list recipients."},{"name":"upsert_recipient","description":"Authenticated tool for creating or updating a recipient."},{"name":"list_endpoints","description":"Authenticated tool to list recipient endpoints."},{"name":"create_endpoint","description":"Authenticated tool to create endpoint."},{"name":"get_endpoint","description":"Authenticated tool to get endpoint."},{"name":"update_endpoint","description":"Authenticated tool to update endpoint."},{"name":"delete_endpoint","description":"Authenticated tool to disable endpoint."},{"name":"rotate_endpoint_secret","description":"Authenticated tool for rotating the signing secret for one endpoint."},{"name":"list_messages","description":"Authenticated tool to list messages."},{"name":"send_message","description":"Authenticated tool to send message."},{"name":"get_message","description":"Authenticated tool to get message."},{"name":"list_message_attempts","description":"Authenticated tool to list message attempts."},{"name":"replay_message","description":"Authenticated tool to replay message."},{"name":"list_event_types","description":"Authenticated tool to list event types."},{"name":"upsert_event_type","description":"Authenticated tool to upsert event type."},{"name":"delete_event_type","description":"Authenticated tool to archive event type."},{"name":"create_portal_session","description":"Authenticated tool to create portal session."},{"name":"get_portal_settings","description":"Authenticated tool for reading portal branding defaults and host setup for an app."},{"name":"save_portal_settings","description":"Authenticated tool for saving portal branding defaults for an app."},{"name":"list_portal_hosts","description":"Authenticated tool for listing stable portal hosts for an app."},{"name":"create_portal_host","description":"Authenticated tool for creating a stable portal host with OIDC sign-in."},{"name":"check_portal_host","description":"Authenticated tool for refreshing hostname, certificate, and OIDC readiness for a stable portal host."},{"name":"ensure_webhook_setup","description":"Authenticated tool for idempotently setting up a vendor source and destination, returning the ingest URL when a new source is created."},{"name":"list_recent_events","description":"Authenticated tool for inspecting recent received events, duplicates, and signature status."},{"name":"get_event_detail","description":"Authenticated tool for reading one event with attempts, deliveries, and optional raw payload."},{"name":"list_open_issues","description":"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 e"},{"name":"list_delivery_attempts","description":"Authenticated tool for listing fanout delivery attempts with filters."},{"name":"list_retry_jobs","description":"Authenticated tool to list retry jobs."},{"name":"get_metrics_summary","description":"Authenticated tool for delivery, failure, duplicate, and open-issue rollups."},{"name":"list_alert_channels","description":"Authenticated tool to list alert channels."},{"name":"create_alert_channel","description":"Authenticated tool to create alert channel."},{"name":"get_slack_connect_url","description":"Authenticated tool for returning the dashboard Slack OAuth connect URL and expected redirect URL."},{"name":"replay_event","description":"Authenticated tool for queueing a replay of a single received event."},{"name":"replay_events","description":"Authenticated tool for queueing replay by source, query, signature status, failed-delivery state, and time window."},{"name":"retry_failed_deliveries","description":"Authenticated tool for queueing immediate retries for failed fanout deliveries."},{"name":"cancel_queued_retries","description":"Authenticated tool for cancelling queued retry jobs for a workspace or destination."},{"name":"resolve_anomalies","description":"Authenticated tool for marking one or more open anomalies resolved by anomaly_id."}],"toolCount":52,"toolsHash":"739741c6735b44e8f36d59db5bbc37f28a239f5c68e14de493cfbb336fcd725a","serverName":"relin-mcp","capabilities":["resources","prompts","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"describe_relin","description":"Explain what Relin does and how agents should use it for webhook intake, delivery, replay, and anomaly review."},{"name":"list_supported_webhook_shapes","description":"List the vendor webhook shapes Relin understands for event identity, ordering, and gap checks."},{"name":"get_setup_guide","description":"Return concise setup guidance for connecting a webhook source and destination."},{"name":"list_api_keys","description":"Authenticated tool to list API keys."},{"name":"create_api_key","description":"Authenticated tool to create API key."},{"name":"revoke_api_key","description":"Authenticated tool to revoke API key."},{"name":"list_sources","description":"Authenticated tool to list sources."},{"name":"create_source","description":"Authenticated tool to create source."},{"name":"rotate_source_token","description":"Authenticated tool for rotating an ingest token and returning the replacement URL once."},{"name":"archive_source","description":"Authenticated tool for deleting a source, disabling its routing, cancelling queued retries, clearing event-stream coordinator state, and pruning stored source r"},{"name":"list_destinations","description":"Authenticated tool for listing outbound destinations and retry policy."},{"name":"create_destination","description":"Authenticated tool for creating an outbound destination and connection with retry policy and optional filters."},{"name":"list_apps","description":"Authenticated tool to list apps."},{"name":"create_app","description":"Authenticated tool to create app."},{"name":"get_app","description":"Authenticated tool to get app."},{"name":"list_recipients","description":"Authenticated tool to list recipients."},{"name":"upsert_recipient","description":"Authenticated tool for creating or updating a recipient."},{"name":"list_endpoints","description":"Authenticated tool to list recipient endpoints."},{"name":"create_endpoint","description":"Authenticated tool to create endpoint."},{"name":"get_endpoint","description":"Authenticated tool to get endpoint."},{"name":"update_endpoint","description":"Authenticated tool to update endpoint."},{"name":"delete_endpoint","description":"Authenticated tool to disable endpoint."},{"name":"rotate_endpoint_secret","description":"Authenticated tool for rotating the signing secret for one endpoint."},{"name":"list_messages","description":"Authenticated tool to list messages."},{"name":"send_message","description":"Authenticated tool to send message."},{"name":"get_message","description":"Authenticated tool to get message."},{"name":"list_message_attempts","description":"Authenticated tool to list message attempts."},{"name":"replay_message","description":"Authenticated tool to replay message."},{"name":"list_event_types","description":"Authenticated tool to list event types."},{"name":"upsert_event_type","description":"Authenticated tool to upsert event type."},{"name":"delete_event_type","description":"Authenticated tool to archive event type."},{"name":"create_portal_session","description":"Authenticated tool to create portal session."},{"name":"get_portal_settings","description":"Authenticated tool for reading portal branding defaults and host setup for an app."},{"name":"save_portal_settings","description":"Authenticated tool for saving portal branding defaults for an app."},{"name":"list_portal_hosts","description":"Authenticated tool for listing stable portal hosts for an app."},{"name":"create_portal_host","description":"Authenticated tool for creating a stable portal host with OIDC sign-in."},{"name":"check_portal_host","description":"Authenticated tool for refreshing hostname, certificate, and OIDC readiness for a stable portal host."},{"name":"ensure_webhook_setup","description":"Authenticated tool for idempotently setting up a vendor source and destination, returning the ingest URL when a new source is created."},{"name":"list_recent_events","description":"Authenticated tool for inspecting recent received events, duplicates, and signature status."},{"name":"get_event_detail","description":"Authenticated tool for reading one event with attempts, deliveries, and optional raw payload."},{"name":"list_open_issues","description":"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 e"},{"name":"list_delivery_attempts","description":"Authenticated tool for listing fanout delivery attempts with filters."},{"name":"list_retry_jobs","description":"Authenticated tool to list retry jobs."},{"name":"get_metrics_summary","description":"Authenticated tool for delivery, failure, duplicate, and open-issue rollups."},{"name":"list_alert_channels","description":"Authenticated tool to list alert channels."},{"name":"create_alert_channel","description":"Authenticated tool to create alert channel."},{"name":"get_slack_connect_url","description":"Authenticated tool for returning the dashboard Slack OAuth connect URL and expected redirect URL."},{"name":"replay_event","description":"Authenticated tool for queueing a replay of a single received event."},{"name":"replay_events","description":"Authenticated tool for queueing replay by source, query, signature status, failed-delivery state, and time window."},{"name":"retry_failed_deliveries","description":"Authenticated tool for queueing immediate retries for failed fanout deliveries."},{"name":"cancel_queued_retries","description":"Authenticated tool for cancelling queued retry jobs for a workspace or destination."},{"name":"resolve_anomalies","description":"Authenticated tool for marking one or more open anomalies resolved by anomaly_id."}],"package":null,"toolSurface":{"id":"ts_7h4pnc7rbma7","endpointId":"ep_9h84j27pmhpx","hash":"739741c6735b44e8f36d59db5bbc37f28a239f5c68e14de493cfbb336fcd725a","toolCount":52,"serverName":"relin-mcp","serverVersion":"1.0.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-12T11:26:01.499Z","lastSeenAt":"2026-10-10T15:31:53.648Z","observations":104,"toolNames":["describe_relin","list_supported_webhook_shapes","get_setup_guide","list_api_keys","create_api_key","revoke_api_key","list_sources","create_source","rotate_source_token","archive_source","list_destinations","create_destination","list_apps","create_app","get_app","list_recipients","upsert_recipient","list_endpoints","create_endpoint","get_endpoint","update_endpoint","delete_endpoint","rotate_endpoint_secret","list_messages","send_message","get_message","list_message_attempts","replay_message","list_event_types","upsert_event_type","delete_event_type","create_portal_session","get_portal_settings","save_portal_settings","list_portal_hosts","create_portal_host","check_portal_host","ensure_webhook_setup","list_recent_events","get_event_detail","list_open_issues","list_delivery_attempts","list_retry_jobs","get_metrics_summary","list_alert_channels","create_alert_channel","get_slack_connect_url","replay_event","replay_events","retry_failed_deliveries","cancel_queued_retries","resolve_anomalies"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_9h84j27pmhpx","url":"https://relin.app/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-10T03:25:13.742Z","auth":{"observedAt":"2026-10-10T03:25:13.778Z","authRequired":false,"scheme":null,"resourceMetadata":{"url":"https://relin.app/.well-known/oauth-protected-resource/mcp","resource":"https://relin.app/mcp","authorizationServers":["https://relin.app"],"scopesSupported":["mcp:read","mcp:write"]},"authorizationServer":{"url":"https://relin.app/.well-known/oauth-authorization-server","issuer":"https://relin.app","grantTypesSupported":["authorization_code","refresh_token","urn:ietf:params:oauth:grant-type:device_code"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["client_secret_post"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":null},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":false,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-10T03:25:13.791Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"relin.app","issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validFrom":"2026-10-07T15:21:26.000Z","validTo":"2027-01-05T15:21:25.000Z","daysToExpiry":86,"sanCount":2,"fingerprint256":"1F:62:A3:40:2C:F2:B7:9D:1F:76:E1:6C:86:03:30:30:D1:B6:9A:72:1F:4F:24:57:4F:E9:EE:90:D2:40:C4:4E"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.earonesty/relin","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.earonesty%2Frelin","firstSeenAt":"2026-09-06T13:20:55.496Z","fetchedAt":"2026-10-10T09:18:26.156Z","normalizedAt":"2026-10-10T09:18:26.156Z"}]},"firstSeenAt":"2026-09-06T13:20:55.496Z","updatedAt":"2026-10-10T15:34:13.896Z"}