API Tools
gege.mn
MCP server for a notification delivery API that identifies the workspace and key, checks usage and channels, sends notifications, and retrieves per-recipient delivery status.
ENDPOINT 1
https://ray-api.gege.mn/mcp
MCP server metadata
- Name
- ray
- Version
- 0.1.0
Ray is a multi-tenant notification delivery API (email via SES/SMTP, FCM push, Slack, Discord, Telegram, generic webhooks, and an in-app feed); it is not the Ray distributed-computing framework. Every tool acts on the workspace that owns the API key this connection uses, and tools that change anything need a key with the `write` scope. Call `list_channels` first: sending needs a `channelConfigId` from it, and each channel describes the exact `recipient` shape it accepts. Send with a published template (`templateId` + `params`) or inline `content`, then confirm delivery with `get_send_status`. Use `read_docs` (no slug lists every page) for details on templates, channels, idempotency, errors and rate limits.
Known tools 21
whoamiIdentify the API key this connection uses (GET /me): `tenantId` (the workspace), `apiKeyId` and `scopes`.
Inferred read-onlyget_usageThe workspace's plan, subscription status and this calendar month's usage against the monthly quota (GET /billing/subscription).
Inferred read-onlylist_channelsList the delivery channels configured in this workspace (GET /channels).
Inferred read-onlysend_notificationSend a notification (POST /send; needs a `write`-scoped key).
Potential side effectsget_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.
Potential side effectslist_templatesList message templates (GET /templates): id, name, folder, channelKind, and `publishedVersionId` (null = never published, so it cannot be sent by templateId yet).
Potential side effectsget_templateGet one template with its published version and its current draft (GET /templates/{id}): content, logTitle/logDescription, `requiredParams` a send must supply, and paramOverrides.
Potential side effectsupdate_template_draftReplace a template's draft (PATCH /templates/{id}; write scope).
Potential side effectspublish_templatePublish a template's current draft as its new live version (POST /templates/{id}/publish; write scope).
Potential side effectsarchive_templateArchive a template (POST /templates/{id}/archive; write scope).
Potential side effectsunarchive_templateRestore an archived template (POST /templates/{id}/unarchive; write scope).
Potential side effectstest_send_templateSend a real test of a template's PUBLISHED version to one recipient (POST /templates/{id}/test-send; write scope).
Potential side effectslist_feed_notificationsRead one end user's in-app notification feed (GET /notifications): the entries created by sends with `feed` or `showInFeed`.
Inferred read-onlyget_click_statsEmail link click counts grouped by destination URL (GET /clicks) for a `sendId`, a `campaignId`, or both (at least one is required).
Potential side effectslist_webhooksList the workspace's outbound event webhooks (GET /tenant-webhooks): url, subscribed events, enabled flag and delivery health (consecutiveFailures, lastError).
Inferred read-onlyget_webhookGet one outbound webhook (GET /tenant-webhooks/{id}) including its delivery health (consecutiveFailures, lastDeliveryAt, lastFailureAt, lastError).
Inferred read-onlycreate_webhookCreate an outbound webhook that Ray POSTs signed event payloads to (POST /tenant-webhooks; write scope; Pro plan or higher, otherwise 403).
Potential side effectsdelete_webhookDelete (archive) a webhook so it receives no more events (DELETE /tenant-webhooks/{id}; write scope).
Potential side effectsCONNECT WITH APPROVAL
Client installation
Review this server and its permissions before adding it. Secret placeholders must be set locally.
Codex
~/.codex/config.toml
[mcp_servers.ray]
url = "https://ray-api.gege.mn/mcp"
enabled = true
Claude Code
.mcp.json
{
"mcpServers": {
"ray": {
"type": "http",
"url": "https://ray-api.gege.mn/mcp"
}
}
}
Claude Desktop
Settings → Connectors → Add custom connector
Name: ray
Remote MCP URL: https://ray-api.gege.mn/mcp
Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.
Cursor
.cursor/mcp.json
{
"mcpServers": {
"ray": {
"url": "https://ray-api.gege.mn/mcp"
}
}
}
Visual Studio Code
.vscode/mcp.json
Add to Visual Studio Code{
"servers": {
"ray": {
"type": "http",
"url": "https://ray-api.gege.mn/mcp"
}
}
}
Generic MCP
Client-specific MCP configuration
{
"name": "ray",
"transport": "streamable-http",
"url": "https://ray-api.gege.mn/mcp"
}
MCP Inspector
Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.
TRUST AND VERIFICATION EVIDENCE
Loading Trust v2 evidence…
Checking the associated registrable domain. The BuiltWith key remains server-side.
Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.