Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,070Paid calls: 1,518Letters: 13Defects: 1,321counted 4 min ago
teppi

MCP serverio.github.gege-mn/ray-mcp

Send email, push, Slack, Discord, Telegram and webhook notifications and manage templates with Ray.
UNRATEDActivestreamable-httpray-api.gege.mn

Overview

Score?
UNRATED 0.523
of what a free look can see, on 18 looks
Looks
21
last 7 hr ago
Tools
21
changed 15 days ago

More info

URL
ray-api.gege.mn/mcp
streamable-http
Says it is
ray 0.1.0
protocol 2025-06-18
In the record since
19 days ago

Among servers18,413 with a card

0median 0.606 · this server 0.523 · highest on record 0.8561

Toolsfrom sha256:d4090e02d4…a47a1f · +0 −0 15 days ago

The tools this server lists, read out of the definition it returned
ToolSchema
archive_template
Archive 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. Confir
input · no output
create_template
Create 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 unpub
input · no output
create_webhook
Create 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 respon
input · no output
delete_webhook
Delete (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.
input · no output
get_click_stats
Email 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 `trackCli
input · no output
get_send_status
Delivery 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
input · no output
get_template
Get one template with its published version and its current draft (GET /templates/{id}): content, logTitle/logDescription, `requiredParams` a send must supply, and paramOverrides.
input · no output
get_usage
The 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
input · no output
get_webhook
Get one outbound webhook (GET /tenant-webhooks/{id}) including its delivery health (consecutiveFailures, lastDeliveryAt, lastFailureAt, lastError).
input · no output
list_channels
List 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_s
input · no output
list_feed_notifications
Read 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 s
input · no output
list_templates
List message templates (GET /templates): id, name, folder, channelKind, and `publishedVersionId` (null = never published, so it cannot be sent by templateId yet). Archived template
input · no output
list_webhooks
List the workspace's outbound event webhooks (GET /tenant-webhooks): url, subscribed events, enabled flag and delivery health (consecutiveFailures, lastError). Signing secrets are
input · no output
publish_template
Publish 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 te
input · no output
read_docs
Read 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 `s
input · no output
send_notification
Send 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 o
input · no output
test_send_template
Send 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 use
input · no output
unarchive_template
Restore 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.
input · no output
update_template_draft
Replace 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
input · no output
update_webhook
Change 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
input · no output
whoami
Identify 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 t
input · no output
Verify it yourselfnpx teppi-check https://ray-api.gege.mn/mcpcurl -s https://api.teppi.xyz/v1/trust/mcp/mcs_01M2HTB4GM3NX7SX66HT7AFZ9N