MCP reference
The tools and resources SendMock's MCP server gives AI agents. Each entry lists the inputs, an example call, the result and the same thing from the API and the CLI (218 tools, 7 resources).
Connect an agent
sendmock mcp runs the MCP server over stdio. sendmock ai install --target <agent> writes this configuration for Claude Code, Codex, Cursor, Gemini CLI or VS Code; the AI pages show it step by step.
{
"mcpServers": {
"sendmock": {
"command": "sendmock",
"args": [
"mcp"
]
}
}
}Toolsets and hints
Tools come in toolsets so the agent sees a short list. sendmock mcp --toolsets all turns on every toolset; --read-only keeps only the tools marked Read only. Harnesses use the hints to approve reads and ask before Destructive tools.
admin9 toolscore19 tools, on by defaultemail29 tools, on by defaultextract2 tools, on by defaulthttp13 toolslogs4 toolsnumbers7 toolspayments34 toolsrules22 toolsscenario2 toolssms21 tools, on by defaulttemplates12 toolsvariables6 toolsverify7 tools, on by defaultwebhooks31 tools, on by default
Agents may set secrets but never read them back, so these operations have no tool:
Automation
sendmock_ai_agentsFor each AI agent, the install command and its MCP configuration.sendmock_events_recentThe latest events, newest first: the polling twin of the live stream.sendmock_integration_snippetCopy-ready settings for a stack, as Settings > Connection shows them.sendmock_scenario_runRun a scenario file step by step and report each step.sendmock_scenario_validateCheck a scenario file without running it.sendmock://docs/skillThe SendMock agent skill as Markdown.
Checkout
sendmock_email_checkHTML and CSS support across email clients. List-Unsubscribe and one-click unsubscribe checks. Check every link in the message. Score the message with the spam rules.sendmock_email_clickRecord a click on one of the email's links and fire email.clicked.sendmock_email_clicksEvery recorded click on the email's links, newest first.sendmock_email_deleteDelete one email.sendmock_email_delete_allDelete every email, or only those that match the filters.sendmock_email_forwardForward as the recipient; the copy arrives as inbound email.sendmock_email_getOne email with bodies, headers, attachments and extracted codes.sendmock_email_inboundCreate an incoming email from fields or raw MIME; fires email.inbound.sendmock_email_latestThe newest email to a recipient.sendmock_email_listStored emails, newest first, with search and filters.sendmock_email_mimeThe MIME tree of the message.sendmock_email_openRecord an open and fire email.opened.sendmock_email_opensEvery recorded open of the email, oldest first.sendmock_email_releaseSend the email on through the allowlisted relay.sendmock_email_replyReply as the recipient; the reply arrives as inbound email.sendmock_email_sendNative send: JSON with optional base64 attachments.sendmock_email_send_rawStore a raw message as sent by your app, as the sendmail shim does.sendmock_email_simulateSimulate a delivery outcome such as a bounce or complaint.sendmock_email_timelineDelivery events: received, delivered, opened, bounced.sendmock_email_updateMark read or unread, or change tags.sendmock://emails/{emailId}/mime/{partId}Download one MIME part, decoded, by its position in the MIME tree.sendmock://emails/{emailId}/rawThe raw message source.sendmock://emails/{emailId}/attachments/{attachmentIndex}Download one attachment.sendmock://emails/{emailId}/parts/{attachmentIndex}/thumbnailA preview image of an attachment.
Email providers
sendmock_email_provider_createAdd an email provider, blank or copied from another.sendmock_email_provider_deleteRemove a built-in (restorable) or delete a custom provider; its messages stay.sendmock_email_provider_getOne provider definition; secret credentials masked.sendmock_email_provider_listEmail providers, built in and custom, removed ones included.sendmock_email_provider_previewRun a sample request through a definition: the message it would store and the answer it would give.sendmock_email_provider_resetPut a built-in provider back as shipped.sendmock_email_provider_restoreBring a removed built-in back as it was.sendmock_email_provider_updateChange a provider; 400 with the problems for template errors, bad paths or a path clash.
Test helpers
sendmock_email_waitWait until a matching email arrives; 408 on timeout.sendmock_http_waitWait until the catcher records a matching request; 408 on timeout.sendmock_links_getThe links of the latest email to a recipient.sendmock_otp_getThe latest one-time code sent to a recipient.sendmock_payment_waitWait until a payment reaches a status; 408 on timeout.sendmock_sms_waitWait until a matching SMS arrives; 408 on timeout.sendmock_webhook_delivery_waitWait until a matching delivery finishes; 408 on timeout.
Forward rules
sendmock_forward_rule_createAdd a forward rule at the end of the list.sendmock_forward_rule_deleteDelete a forward rule.sendmock_forward_rule_listEvery forward rule, in the order they run.sendmock_forward_rule_moveMove a forward rule up or down.sendmock_forward_rule_updateChange a forward rule, or switch it on or off.
HTTP Catcher
sendmock_http_bin_createAdd a bin; 409 when the name is taken.sendmock_http_bin_deleteDelete a bin and its requests.sendmock_http_bin_listBins, each a capture URL with its own responses.sendmock_http_bin_updateChange a bin's default response.sendmock_http_clearDelete captured requests, all or one bin's.sendmock_http_forwardSend a captured request on to another URL.sendmock_http_getOne captured request and what SendMock answered.sendmock_http_listCaptured requests, newest first.sendmock_http_response_listA bin's response rules, checked from top to bottom.sendmock_http_response_previewWhich rule a captured request would match, and its answer.sendmock_http_response_setReplace a bin's response rules.sendmock_http_sendCapture a request in a bin and answer with its matching response rule or default response.sendmock://http/requests/{requestId}/files/{fileIndex}Download a file uploaded in a captured request.
Inbound routes
sendmock_inbound_route_createAdd a route.sendmock_inbound_route_deleteDelete a route.sendmock_inbound_route_listRoutes for incoming email, in priority order.sendmock_inbound_route_matchWhere an incoming email would go: the routes and webhook rules it would run.sendmock_inbound_route_testWhich routes a recipient or header would match, and what runs.sendmock_inbound_route_updateChange a route.
Logs
Numbers
sendmock_messaging_service_createAdd a Messaging Service.sendmock_messaging_service_deleteDelete a Messaging Service.sendmock_messaging_service_listMessaging Services that pool numbers.sendmock_messaging_service_updateChange a Messaging Service.sendmock_number_deleteDelete a number.sendmock_number_listFake numbers your app sends from, with their webhooks.sendmock_number_upsertAdd a number. Change a number.
Outcome rules
sendmock_outcome_rule_createAdd an email outcome rule. Add an SMS outcome rule.sendmock_outcome_rule_deleteDelete an email outcome rule. Delete an SMS outcome rule.sendmock_outcome_rule_listEmail outcome rules, checked from top to bottom. SMS outcome rules, checked from top to bottom.sendmock_outcome_rule_moveMove an email outcome rule up or down. Move an SMS outcome rule up or down.sendmock_outcome_rule_testWhich custom rule, magic address or profile decides an address's outcome. Which custom rule, magic number or profile decides a number's outcome.sendmock_outcome_rule_updateChange an email outcome rule; send only the changed keys. Change an SMS outcome rule; send only the changed keys.
Payments
sendmock_payment_createCreate a payment and pay it with a test card, as an app's server does without a checkout page.sendmock_payment_create_checkoutStart a hosted checkout on a gateway and get its payment page URL.sendmock_payment_getOne payment with line items, timeline, redirects and notifications.sendmock_payment_listTest payments, newest first, with filters.sendmock_payment_notifySend the payment's notification (IPN or webhook) again.sendmock_payment_simulateMove the payment on: capture, refund, dispute, fail.sendmock_payment_test_cardsThe test values of every enabled payment method.sendmock_subscription_advanceMove the subscription's clock to its next renewal and charge it.sendmock_subscription_cancelCancel the subscription now or at the end of its period.sendmock_subscription_createStart a subscription on a gateway, with an optional trial.sendmock_subscription_getOne subscription with its timeline and renewal payments.sendmock_subscription_listSubscriptions, newest first.
Payment flows
sendmock_payment_flow_createAdd a flow.sendmock_payment_flow_deleteDelete a custom flow; 409 while a method uses it.sendmock_payment_flow_getOne payment flow with its steps.sendmock_payment_flow_listFlows: the steps a checkout page runs for a method.sendmock_payment_flow_resetPut a built-in flow back as shipped.sendmock_payment_flow_step_addAdd a step to a flow.sendmock_payment_flow_step_removeRemove one step of a flow.sendmock_payment_flow_step_updateChange one step of a flow.sendmock_payment_flow_updateChange a flow.sendmock_payment_flow_variable_listThe variables a step label can use.sendmock_payment_step_type_listThe step types a flow can use, with their fields.
Payment gateways
sendmock_payment_gateway_createAdd a custom gateway.sendmock_payment_gateway_deleteDelete a custom gateway; 409 while payments use it.sendmock_payment_gateway_getOne gateway definition; secret credentials masked.sendmock_payment_gateway_listGateways with their checkout, redirect and notification setup.sendmock_payment_gateway_previewRender a gateway's redirect and notification for a payment.sendmock_payment_gateway_resetPut a built-in gateway back as shipped.sendmock_payment_gateway_updateChange a gateway; secret credentials stay masked.
Payment methods
sendmock_payment_method_createAdd a custom method.sendmock_payment_method_deleteDelete a custom method; 409 while a gateway offers it.sendmock_payment_method_getOne payment method with its test values.sendmock_payment_method_listMethods customers pay with, and their test values.sendmock_payment_method_resetPut a built-in method back as shipped.sendmock_payment_method_updateChange a method.
Projects
sendmock_project_createAdd a project that apps can send traffic to by its key.sendmock_project_deleteDelete a project with its emails, SMS and verifications.sendmock_project_listEvery project, default first, with the traffic each holds.sendmock_project_updateRename a project; its key stays the same.
Push
sendmock_push_deleteDelete one push notification.sendmock_push_delete_allDelete every push notification, or one project's.sendmock_push_getOne push notification with its request and answer.sendmock_push_listPush notifications, newest first, with filters.sendmock_push_waitWait until a matching push notification arrives; 408 on timeout.
System
sendmock_resetDelete all traffic and restore the seed configuration.sendmock_sample_sendCreate a sample email, SMS, verification or HTTP request through the normal path.sendmock_settings_getEvery runtime setting.sendmock_settings_updateChange settings; send only the changed keys.sendmock_statsCounts and rates shown on the Overview.sendmock_statusLiveness check; answers while the server runs. Version, listen addresses and enabled features.sendmock_update_checkWhether a newer release exists for this channel, with its notes and upgrade command.
Seed
SMS
sendmock_sms_deleteDelete one message.sendmock_sms_delete_allDelete every message.sendmock_sms_getOne message with its status history and callbacks.sendmock_sms_listSMS and WhatsApp messages, newest first, with filters.sendmock_sms_openRecord a read and fire sms.opened.sendmock_sms_opensEvery recorded read of an outbound message, oldest first.sendmock_sms_reply_webhook_resendSend an inbound message's reply webhook again.sendmock_sms_sendNative send, with optional media URLs or inline media.sendmock_sms_set_statusSet a delivery status by hand and fire its callback.sendmock_sms_simulate_inboundSimulate a message from a contact to one of your numbers.sendmock_sms_threadsConversations, one per contact and your number.sendmock://sms/{smsId}/media/{mediaIndex}Download one media item of an MMS or WhatsApp message.
SMS providers
sendmock_sms_provider_createAdd an SMS provider, blank or copied from another.sendmock_sms_provider_deleteRemove a built-in (restorable) or delete a custom provider; its messages stay.sendmock_sms_provider_getOne provider definition; secret credentials masked.sendmock_sms_provider_listSMS providers, built in and custom, removed ones included.sendmock_sms_provider_previewRun a sample request through a definition: the message it would store and the answer it would give.sendmock_sms_provider_resetPut a built-in provider back as shipped.sendmock_sms_provider_restoreBring a removed built-in back as it was.sendmock_sms_provider_updateChange a provider; 400 with the problems for template errors, bad paths or a path clash.sendmock_sms_whatsapp_verify_webhookSend Meta's callback URL check to the app and report whether it answered the challenge.
Tag rules
Verify
sendmock_verify_forceForce an outcome: approved, expired, canceled or max attempts.sendmock_verify_getOne verification with its code, attempts and timeline.sendmock_verify_listVerifications your app started, newest first.sendmock_verify_service_createAdd a Verify service.sendmock_verify_service_deleteDelete a Verify service.sendmock_verify_service_listVerify services (code length, fixed code, lifetime).sendmock_verify_service_updateChange a Verify service.
Webhook deliveries
sendmock_webhook_delivery_cancelStop the remaining retries.sendmock_webhook_delivery_getOne delivery: request, response and every attempt.sendmock_webhook_delivery_listEvery webhook request sent, newest first.sendmock_webhook_delivery_replaySend the delivery again, as it was or edited.sendmock_webhook_metricsVolume, success rate, latency and failures over a range.
Webhook endpoints
sendmock_webhook_endpoint_createAdd an endpoint; its signing secret is generated.sendmock_webhook_endpoint_deleteDelete an endpoint and its rules.sendmock_webhook_endpoint_getOne endpoint; its secret masked.sendmock_webhook_endpoint_listWhere webhooks go: URL, template, secret and retry policy.sendmock_webhook_endpoint_rotate_secretNew signing secret; the old one keeps working for the overlap.sendmock_webhook_endpoint_save_as_templateSave the endpoint's request as a custom template.sendmock_webhook_endpoint_testSend a test.ping delivery.sendmock_webhook_endpoint_updateChange an endpoint; send only the changed keys.sendmock_webhook_renderRender an unsaved endpoint's request against a message.sendmock_webhook_sendSend a webhook for a chosen message or the sample, by hand.
Webhook rules
sendmock_webhook_rule_createAdd a rule.sendmock_webhook_rule_deleteDelete a rule.sendmock_webhook_rule_getOne webhook rule with its filter.sendmock_webhook_rule_listWhich events go to which endpoint, checked from top to bottom.sendmock_webhook_rule_matchWhich webhooks an event would trigger, before an action fires it.sendmock_webhook_rule_moveMove a rule up or down; answers the reordered list.sendmock_webhook_rule_previewWhich recent messages an unsaved rule would match.sendmock_webhook_rule_updateChange a rule; send only the changed keys.
Saved deliveries
sendmock_webhook_saved_createSave a delivery's request under a name.sendmock_webhook_saved_deleteDelete a saved delivery.sendmock_webhook_saved_listBookmarked requests, kept through pruning and reset.sendmock_webhook_saved_save_as_templateTurn a saved request into a custom template.sendmock_webhook_saved_sendSend a saved request to its endpoint or another one.sendmock_webhook_saved_updateRename a saved delivery.
Webhook templates
sendmock_webhook_template_cloneCopy a template into a new custom one.sendmock_webhook_template_createAdd a custom template, starting as native JSON.sendmock_webhook_template_deleteDelete a custom template; 409 while endpoints use it.sendmock_webhook_template_exportThe template as TOML (variable names, never values).sendmock_webhook_template_getOne template with its method, headers and body template.sendmock_webhook_template_importImport a template file; 409 when the id is taken.sendmock_webhook_template_listBuilt-in and custom payload templates.sendmock_webhook_template_referenceEvery value a template can read for the chosen events.sendmock_webhook_template_renderRender against an email, an SMS or the sample, optionally a draft.sendmock_webhook_template_resetPut an edited built-in template back as shipped.sendmock_webhook_template_restoreRestore a revision as a new save.sendmock_webhook_template_revisionsSaved revisions, newest first.sendmock_webhook_template_updateEdit a template; each save keeps a revision, 422 when it does not render.
Webhook variables
sendmock_webhook_variable_listGlobal and endpoint variables; secret values are masked.sendmock_webhook_variable_previewWhat a variable definition resolves to against the sample.sendmock_webhook_variable_regenerateMake a new fixed value for a generated-once random variable.sendmock_webhook_variable_setAdd a variable.sendmock_webhook_variable_unsetDelete a variable.sendmock_webhook_variable_updateChange a variable.