# Ruellia Communications Platform > Modern, multi-channel communications (Email, SMS, Webhooks/Notifications) with Model Context Protocol (MCP) support and real-time usage-based billing. > Status: Currently in Private Beta for applications in the cntnus incubator (@cntn.us). Non-incubator signups are queued on the waiting list. ## Core Services & Endpoints - Marketing Site: https://ruellia.cntnus.app - Developer Console: https://app.ruellia.cntnus.app - API Base URL: https://api.ruellia.cntnus.app - MCP Endpoint: https://api.ruellia.cntnus.app/v1/mcp - OpenAPI Spec: https://api.ruellia.cntnus.app/openapi.json ## Quick Start for AI Agents To enable an AI agent to send messages, manage sender domains, or check usage: 1. Generate an Agent Token in the console or pass an existing token via \`Authorization: Bearer \`. 2. Connect your agent to the MCP endpoint: - Server URL: \`https://api.ruellia.cntnus.app/v1/mcp\` - Method: \`POST\` (JSON-RPC 2.0) - Header: \`Authorization: Bearer \` ## Tools Exposed via MCP - \`send_email(to, subject, body, from?, replyTo?)\`: Dispatches transactional and conversational emails. - \`send_sms(to, body, from?)\`: Sends SMS text messages. - \`send_notification(targetUrl, event, data)\`: Fires webhook push events. - \`get_usage(period?)\`: Queries real-time usage breakdown (requests, durationMs, storageBytes, messages, cost). - \`get_message_status(messageId)\`: Checks delivery state. - \`list_domains()\`: Lists verified and pending sender domains. - \`register_domain(domainName)\`: Initiates custom domain registration and returns DKIM/SPF DNS records. - \`submit_feedback(title, description, type?, severity?, tags?, context?, attachments?)\`: Reports an error, bug, or feature request back to Ruellia. **Call this whenever another tool fails or returns something unexpected.** - \`list_feedback(status?, type?, severity?, limit?)\`: Lists your organization's previously submitted feedback and triage status. - \`get_feedback(feedbackId)\`: Checks the triage status of a single submission. ## Reporting Feedback If any endpoint or tool misbehaves, report it instead of retrying indefinitely or guessing: - HTTP: \`POST https://api.ruellia.cntnus.app/v1/feedback\` with your Bearer token. - MCP: the \`submit_feedback\` tool (same JSON contract). \`type\`: bug | error | feature_request | documentation | question | other. \`severity\`: low | medium | high | critical. Screenshots and log excerpts are supported inline as base64: \`"attachments": [{ "filename": "error.png", "contentType": "image/png", "data": "" }]\` Limits: 5 attachments, 4 MB each, 6 MB total. For larger artifacts, pass a \`"url"\` instead. Credentials are automatically redacted from every field before storage, so pasting a failing request is safe. Each submission returns an \`id\`; poll \`get_feedback\` to track resolution. Requires the \`feedback:submit\` scope, granted on all agent tokens by default. ## Usage-Based Pricing (Pay-As-You-Go) - Base Minimum Cost: $0.00 / month - API Requests: $0.0002 / 1,000 requests - Compute: $0.002 / 100,000 ms - Storage: $0.025 / GB-month - Email: $0.0001 / email - SMS: $0.0075 / segment