{"serverId":"mcp-registry/io.github.earonesty/relin","tools":[{"name":"send_message","fixed":{"name":"send_message","description":"Send a webhook event from an outbound app to the specified customer. Requires the intended app, recipient, event type, and payload. Delivery can trigger actions at customer endpoints; an accepted message is not proof of delivery.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["appId","recipient","type"],"properties":{"data":{"type":"string"},"type":{"type":"string","minLength":1},"appId":{"type":"string","minLength":1},"messageId":{"type":"string"},"recipient":{"type":"string","minLength":1},"idempotencyKey":{"type":"string"}}},"annotations":{"readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"title":"Send Message"},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: data. Change to number/boolean/array where that's what you accept.","verify":true}],"tokensBefore":169,"tokensAfter":173},{"name":"upsert_event_type","fixed":{"name":"upsert_event_type","description":"Create or update an outbound event type and its description for customer webhook subscriptions.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["appId","eventType"],"properties":{"appId":{"type":"string","minLength":1},"schema":{"type":"string"},"eventType":{"type":"string","minLength":1},"description":{"type":"string"},"examplePayload":{"type":"string"}}},"annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":true},"title":"Upsert Event Type"},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: schema, examplePayload. Change to number/boolean/array where that's what you accept.","verify":true}],"tokensBefore":117,"tokensAfter":125}],"toolsChanged":2,"tokensSaved":0,"todo":[{"tool":"archive_source","params":["sourceId"]},{"tool":"cancel_queued_retries","params":["destinationId"]},{"tool":"check_portal_host","params":["portalHostId"]},{"tool":"create_alert_channel","params":["name","type","kinds","targetUrl","targetEmail"]},{"tool":"create_api_key","params":["name","scopes"]},{"tool":"create_app","params":["name","routingKeyHeader","routingKeyBodyPath"]},{"tool":"create_destination","params":["name","sourceId","endpointUrl","signingSecret","filterBodyPath","filterBodyValue","filterEntityKey","filterEventTypes","retryMaxAttempts","transformBodyPath","rateLimitPerMinute","retryBackoffSeconds","transformExpression"]},{"tool":"create_endpoint","params":["url","name","appId","recipient","eventTypes","recipientName"]},{"tool":"create_portal_host","params":["appId","hostname","nameClaim","emailClaim","oidcIssuer","oidcScopes","oidcClientId","recipientClaim","oidcClientSecret","allowedEmailDomain"]},{"tool":"create_portal_session","params":["appId","theme","recipient","returnUrl","capabilities","recipientName","expiresInSeconds"]},{"tool":"create_source","params":["name","vendor","signingSecret"]},{"tool":"delete_endpoint","params":["appId","endpointId"]},{"tool":"delete_event_type","params":["appId","eventType"]},{"tool":"ensure_webhook_setup","params":["vendor","sourceId","sourceName","signingSecret","destinationUrl","filterBodyPath","destinationName","filterBodyValue","filterEntityKey","filterEventTypes","retryMaxAttempts","transformBodyPath","rateLimitPerMinute","retryBackoffSeconds","transformExpression","destinationSigningSecret"]},{"tool":"get_app","params":["appId"]},{"tool":"get_endpoint","params":["appId","endpointId"]},{"tool":"get_event_detail","params":["eventId","includePayload"]},{"tool":"get_message","params":["appId","messageId"]},{"tool":"get_metrics_summary","params":["windowHours"]},{"tool":"get_portal_settings","params":["appId"]},{"tool":"get_setup_guide","params":["provider"]},{"tool":"get_webhook_setup_status","params":["sourceId"]},{"tool":"list_delivery_attempts","params":["limit","since","status","eventId","destinationId"]},{"tool":"list_destinations","params":["sourceId"]},{"tool":"list_endpoints","params":["appId","recipient"]},{"tool":"list_event_types","params":["appId"]},{"tool":"list_message_attempts","params":["appId","limit","messageId"]},{"tool":"list_messages","params":["q","appId","limit"]},{"tool":"list_portal_hosts","params":["appId"]},{"tool":"list_recent_events","params":["q","limit","sourceId","signatureStatus","failedDeliveryOnly"]},{"tool":"list_recipients","params":["appId"]},{"tool":"list_retry_jobs","params":["limit","status"]},{"tool":"replay_event","params":["eventId"]},{"tool":"replay_events","params":["q","limit","sourceId","windowHours","signatureStatus","failedDeliveryOnly"]},{"tool":"replay_message","params":["appId","messageId"]},{"tool":"resolve_anomalies","params":["anomalyIds"]},{"tool":"retry_failed_deliveries","params":["limit","windowHours","destinationId"]},{"tool":"revoke_api_key","params":["apiKeyId"]},{"tool":"rotate_endpoint_secret","params":["appId","endpointId"]},{"tool":"rotate_source_token","params":["sourceId"]},{"tool":"save_portal_settings","params":["appId","logoUrl","brandName","accentColor","primaryColor","surfaceColor","backgroundColor"]},{"tool":"send_message","params":["data","type","appId","messageId","recipient","idempotencyKey"]},{"tool":"update_endpoint","params":["url","name","appId","enabled","endpointId","retryMaxAttempts","rateLimitPerMinute","retryBackoffSeconds"]},{"tool":"upsert_event_type","params":["appId","schema","eventType","description","examplePayload"]},{"tool":"upsert_recipient","params":["name","appId","recipient"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}