MuseDirectory
All connectors / Productivity
Productivity

Ray notifications

Send email, SMS, push, Slack, Discord and Telegram notifications with template management

Ray is a notification service that lets you send messages across email, SMS, push notifications, Slack, Discord, Telegram and webhooks. Create and manage reusable templates, track delivery status, monitor link clicks, and set up outbound webhooks for delivery events.

Try asking Muse: "Send a notification to my team on Slack and email them a receipt at the same time using a template"

Working now?
Working
Worked last 7 days
96.9% of checks
How to get it
Extra setup
Account
Needs an access key
Price
Not stated

Source: Found in the official MCP Registry (io.github.gege-mn/ray-mcp) · First listed September 25, 2026

Last 24 hours

Each bar is one check, every 15 minutes. Green means it answered. Last checked 37 min ago.

Is it safe to connect?

What Muse can see: You sign in to your own account with it, so Muse can reach what that account allows. Read what it asks for before you agree.

Before it acts: Read what Muse plans to do before you approve it, and remove the app from Muse when you stop using it.

musedirectory.ai is not part of Meta. More about how Muse handles your information

How to add it to Muse

Not in Muse's Connectors list yet, but Muse can still use it. Copy the request below and paste it into Muse. Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.

Open Muse
https://ray-api.gege.mn/mcp

Not in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.

Technical details: safety screening, tools, response time and recent checks

Response time at the last check: 1125ms. Worked in 96.9% of checks over 30 days.

Screening · September 25, 2026

Screened, no issues found

MCP handshake
Pass
Answered in 1230ms
Domain against threat feeds (Cloudflare security DNS)
Pass
ray-api.gege.mn, ray.gege.mn not flagged
Published packages against the OSV malicious-package database
Pass
No malicious-package advisories
Hidden instructions or invisible characters in tool text
Pass
21 tools read, nothing found
Inputs asking for passwords, card numbers or seed phrases
Pass
None found
Domain and redirects
Pass
No redirects off the domain
AI review of purpose and tool behavior
Pass
No concerns

Screening looks for known threats and hidden instructions at the time of the check, and runs again weekly and whenever the tool list changes. It cannot see the server's code, so only connect what you need and review what Muse asks to do. How screening works.

Tools · 21

whoamiIdentify the API key this connection uses (GET /me): `tenantId` (the workspace), `apiKeyId` and `scopes`. Write tools need the `write` scope; call this to check before attempting them.
get_usageThe workspace's plan, subscription status and this calendar month's usage against the monthly quota (GET /billing/subscription). `used`/`remaining` are null on unmetered plans. On a hard-capped plan, sends beyond the quota fail with HTTP 402 quota_exceeded.
list_channelsList the delivery channels configured in this workspace (GET /channels). Call this FIRST before sending: each entry's `id` is the `channelConfigId` for send_notification and test_send_template, `kind` is the channel type (ses_email, smtp_email, fcm_push, slack_webhook, discord_we
send_notificationSend a notification (POST /send; needs a `write`-scoped key). Returns `{ sendId }` with HTTP 202: delivery is asynchronous, so check the outcome with get_send_status. Use exactly one mode: 1. Single: `channelConfigId` + `recipient`. 2. Fan-out: `channelConfigId` + `targets` (1-10
get_send_statusDelivery status of a send (GET /sends/{id}): `aggregate` counts per status over the whole send (pending, claimed, delivered, failed_retryable, failed_terminal, suppressed) plus one page of per-recipient delivery rows including provider errors. Right after sending, rows are usuall
list_templatesList message templates (GET /templates): id, name, folder, channelKind, and `publishedVersionId` (null = never published, so it cannot be sent by templateId yet). Archived templates are hidden unless `includeArchived` is true. Use get_template for content and required params.
get_templateGet one template with its published version and its current draft (GET /templates/{id}): content, logTitle/logDescription, `requiredParams` a send must supply, and paramOverrides. Read this before update_template_draft, which needs the full body.
create_templateCreate a template (POST /templates; write scope). `channelKind` is permanent and must match the channels you'll send through (list_channels `templateKind`). It is saved as an unpublished draft unless `publish: true`; sending by templateId needs a published version (publish_templa
update_template_draftReplace a template's draft (PATCH /templates/{id}; write scope). This is a full replacement, not a partial patch: pass content, logTitle, logDescription and paramOverrides as they should end up (get_template first). `name`, `folder` and `channelKind` are required for validation b
publish_templatePublish a template's current draft as its new live version (POST /templates/{id}/publish; write scope). Sends by templateId use it immediately. Fails if there is no draft or the template is archived.
archive_templateArchive a template (POST /templates/{id}/archive; write scope). Sends that reference it fail until it is restored with unarchive_template; its name stays reserved meanwhile. Confirm with the user first if it may be in production use.
unarchive_templateRestore an archived template (POST /templates/{id}/unarchive; write scope). This is how to reclaim a name held by an archived template instead of creating a new one.
test_send_templateSend a real test of a template's PUBLISHED version to one recipient (POST /templates/{id}/test-send; write scope). It goes through the provider for real, so use a recipient the user controls. Test sends don't count toward the monthly quota (a small daily allowance applies instead
list_feed_notificationsRead one end user's in-app notification feed (GET /notifications): the entries created by sends with `feed` or `showInFeed`. This is what an in-app inbox would show, not delivery status (use get_send_status for that). Paginate by passing `nextCursor` back as `cursor`.
get_click_statsEmail link click counts grouped by destination URL (GET /clicks) for a `sendId`, a `campaignId`, or both (at least one is required). Only links from email sends made with `trackClicks: true` are counted.
list_webhooksList the workspace's outbound event webhooks (GET /tenant-webhooks): url, subscribed events, enabled flag and delivery health (consecutiveFailures, lastError). Signing secrets are never returned.
get_webhookGet one outbound webhook (GET /tenant-webhooks/{id}) including its delivery health (consecutiveFailures, lastDeliveryAt, lastFailureAt, lastError).
create_webhookCreate an outbound webhook that Ray POSTs signed event payloads to (POST /tenant-webhooks; write scope; Pro plan or higher, otherwise 403). The URL must be public HTTPS. The response contains the signing `secret` exactly once: show it to the user to store (e.g. as an env var), si
update_webhookChange a webhook (PATCH /tenant-webhooks/{id}; write scope). Only the fields you pass change; pass at least one. `rotateSecret: true` issues a new signing secret, returned once in the response, and the old secret stops verifying immediately, so the receiving service must be updat
delete_webhookDelete (archive) a webhook so it receives no more events (DELETE /tenant-webhooks/{id}; write scope). It cannot be restored through the API; confirm with the user first.
read_docsRead Ray's documentation as markdown. With no `slug` it returns the index (llms.txt) listing every page; then pass a page slug, i.e. the path after /docs/ without `.md`, such as `sending`, `templates`, `idempotency`, `errors`, `rate-limits`, `webhooks`, `status-and-feeds` or `cha

Recent checks

2026-09-28 08:30:56live · HTTP 2001125ms
2026-09-28 06:01:23live · HTTP 200839ms
2026-09-28 03:46:01live · HTTP 2001069ms
2026-09-28 01:16:29live · HTTP 2002644ms
2026-09-27 23:01:15live · HTTP 2001168ms
2026-09-27 20:45:50live · HTTP 2002329ms
2026-09-27 18:16:38live · HTTP 200301ms
2026-09-27 16:01:30live · HTTP 2002248ms
2026-09-27 14:01:44live · HTTP 2001904ms
2026-09-27 11:46:01live · HTTP 2001220ms
2026-09-27 09:16:36live · HTTP 200395ms
2026-09-27 07:01:31live · HTTP 2002498ms

Link

https://ray-api.gege.mn/mcp

Questions about Ray notifications in Muse

How do I connect Ray notifications to Muse?

Not in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use Ray notifications to help me. It is a free service with an MCP server at https://ray-api.gege.mn/mcp. It needs an API key from gege-mn; ask me to enter it through your secure credential prompt. Ask me before you share anything with it." Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.

Is Ray notifications working right now?

At the last check (September 28, 2026, 08:30 UTC) the endpoint was working, answering in 1125ms. Over the last 7 days it answered 96.9% of health checks. It is checked every 15 minutes.

Is Ray notifications safe to connect to Muse?

It was screened on September 25, 2026 with the result "screened, no issues found". Screening checks the domain against threat feeds and reads the tools for hidden instructions and requests for passwords or card numbers. It cannot see the server's code, so grant only the access you need.

What can Ray notifications do in Muse?

It exposes 21 tools, including whoami, get_usage, list_channels, send_notification. For example, you could ask Muse: "Send a notification to my team on Slack and email them a receipt at the same time using a template"

Follow Ray notifications

Tell me if Ray notifications goes down, comes back, or changes its tools
One email per change. You confirm first, and every email has a link to stop.
Made this app? Claim it or get a status badge

Is this yours?

This listing was added from public sources (Found in the official MCP Registry (io.github.gege-mn/ray-mcp)). If you build Ray notifications, claim it to correct the details and get your badge.

Claim this listing

Ray notifications status badge

Paste this on your site or README. It always shows the latest check.

<a href="https://musedirectory.ai/connector/ray-notifications"><img src="https://musedirectory.ai/badge/ray-notifications.svg" alt="Ray notifications on musedirectory.ai" width="236" height="40"></a>

More for app makers