About this page · Updated 2026-11-05 16:07 UTC
What this page is: Creating and managing production Motor Blocks: every tool on the `motorBlocks` MCP server with its scope, inputs and an example call. A slice of the full MCP tool reference.
How far to trust this page: the build checked 0 names, paths, tools, scopes and error codes against the real product (0 do not match). Not yet reviewed claim by claim.
Updated 2026-11-05 16:07 UTCRecently updated pages
MCP tools: Motor Blocks
Creating and managing production Motor Blocks. This page is the slice of the full MCP tool reference for the motorBlocks server (the other servers are listed on the hosted servers page). The main server carries every tool, so these entries apply there too. Failures use the shape described in MCP errors.
motorical_motor_block_list
List production Motor Blocks. List ordinary production Motor Blocks (isolated sending streams) this account can manage. Includes inactive blocks so they can be reactivated; excludes sandboxes, marketing, and portal-managed companion blocks, so its count can be lower than motorical_list_motor_blocks (which lists every block this connection covers, id and name only). Prefer this one when you need type, domain or status. Requires OAuth scope: manage:motor-blocks (see motorical_whoami for what it allows).
| Property | Value |
|---|---|
| Needs scope | manage:motor-blocks |
| Available on | Hosted servers: main, motorBlocks; the local server too |
| Acts on | The whole account (no Motor Block needed) |
| Not listed | When the connection does not hold the scope (the narrow servers hide it; the main server lists it marked "Needs permission") |
| REST route | GET /api/public/v1/account/motor-blocks |
| Behaviour | Read-only; safe to repeat |
No inputs.
Returns a structured result with the fields success, data.
Example arguments (placeholders in angle brackets, required inputs only):
{}
motorical_motor_block_create
Create production Motor Block. Create a production Motor Block on a verified customer domain. Use transactional for triggered, user-specific mail; use general_purpose for mixed operational sending. Hosted OAuth never returns passwords or API-key secrets. A UUID-v4 idempotencyKey makes retries return the original result. The domainId must be a verified, non-sandbox domain the account owns; a narrow Motor Blocks server cannot list or add domains, so get it from motorical_domain_list (on the main server, or the Domains server); add and verify one first with motorical_domain_add / motorical_domain_verify if the account has none. Requires OAuth scope: manage:motor-blocks (see motorical_whoami for what it allows).
| Property | Value |
|---|---|
| Needs scope | manage:motor-blocks |
| Available on | Hosted servers: main, motorBlocks; the local server too |
| Acts on | The whole account (no Motor Block needed) |
| Not listed | When the connection does not hold the scope (the narrow servers hide it; the main server lists it marked "Needs permission") |
| REST route | POST /api/public/v1/account/motor-blocks |
| Behaviour | Changes data |
| Input | Type | Required | Meaning |
|---|---|---|---|
name | string | Yes | - |
domainId | string (uuid) | Yes | Id of a verified, non-sandbox domain from motorical_domain_list (Domains server). |
type | one of transactional, general_purpose | No | - |
description | string | No | - |
idempotencyKey | string | Yes | Required UUID v4 for hosted creation; reused unchanged on retry. |
Returns a structured result with the fields success, data, message.
Example arguments (placeholders in angle brackets, required inputs only):
{"name":"<name>","domainId":"<domainId>","idempotencyKey":"<idempotencyKey>"}
motorical_motor_block_rename
Rename Motor Block. Rename a production Motor Block for display and organization. This never changes its SMTP username, password, API keys, or auth method. Requires OAuth scope: manage:motor-blocks (see motorical_whoami for what it allows).
| Property | Value |
|---|---|
| Needs scope | manage:motor-blocks |
| Available on | Hosted servers: main, motorBlocks; the local server too |
| Acts on | One Motor Block (the motorBlockId input) |
| Not listed | When the connection does not hold the scope (the narrow servers hide it; the main server lists it marked "Needs permission") |
| REST route | PATCH /api/public/v1/account/motor-blocks/{id}/name |
| Behaviour | Changes data; safe to repeat |
| Input | Type | Required | Meaning |
|---|---|---|---|
motorBlockId | string (uuid) | No | Motor Block id from motorical_motor_block_list or create; optional only when the authorization has exactly one block. |
name | string | Yes | - |
Returns a structured result with the fields success, data, message.
Example arguments (placeholders in angle brackets, required inputs only):
{"name":"<name>"}
motorical_motor_block_change_type
Change Motor Block type. Change a production Motor Block between transactional and general_purpose. This changes the intended traffic classification, not credentials. Requires OAuth scope: manage:motor-blocks (see motorical_whoami for what it allows).
| Property | Value |
|---|---|
| Needs scope | manage:motor-blocks |
| Available on | Hosted servers: main, motorBlocks; the local server too |
| Acts on | One Motor Block (the motorBlockId input) |
| Not listed | When the connection does not hold the scope (the narrow servers hide it; the main server lists it marked "Needs permission") |
| REST route | PATCH /api/public/v1/account/motor-blocks/{id}/type |
| Behaviour | Destructive: asks the person to confirm; safe to repeat |
| Input | Type | Required | Meaning |
|---|---|---|---|
motorBlockId | string (uuid) | No | Motor Block id from motorical_motor_block_list or create; optional only when the authorization has exactly one block. |
type | one of transactional, general_purpose | Yes | - |
confirm | boolean | No | Supplied as true only after the human confirms the exact displayed action. |
Returns a structured result with the fields success, data, message.
Example arguments (placeholders in angle brackets, required inputs only):
{"type":"transactional"}
motorical_motor_block_assign_domain
Assign Motor Block domain. Assign a different verified production domain to a Motor Block. The block is reactivated on the new domain; verify sendReady before sending. Requires OAuth scope: manage:motor-blocks (see motorical_whoami for what it allows).
| Property | Value |
|---|---|
| Needs scope | manage:motor-blocks |
| Available on | Hosted servers: main, motorBlocks; the local server too |
| Acts on | One Motor Block (the motorBlockId input) |
| Not listed | When the connection does not hold the scope (the narrow servers hide it; the main server lists it marked "Needs permission") |
| REST route | POST /api/public/v1/account/motor-blocks/{id}/assign-domain |
| Behaviour | Destructive: asks the person to confirm; safe to repeat |
| Input | Type | Required | Meaning |
|---|---|---|---|
motorBlockId | string (uuid) | No | Motor Block id from motorical_motor_block_list or create; optional only when the authorization has exactly one block. |
domainId | string (uuid) | Yes | - |
confirm | boolean | No | Supplied as true only after the human confirms the exact displayed action. |
Returns a structured result with the fields success, data, message.
Example arguments (placeholders in angle brackets, required inputs only):
{"domainId":"<domainId>"}
motorical_motor_block_deactivate
Deactivate Motor Block. Deactivate (pause) a production Motor Block. This is reversible and does not delete history or credentials; sending stops until reactivated. Requires OAuth scope: manage:motor-blocks (see motorical_whoami for what it allows).
| Property | Value |
|---|---|
| Needs scope | manage:motor-blocks |
| Available on | Hosted servers: main, motorBlocks; the local server too |
| Acts on | One Motor Block (the motorBlockId input) |
| Not listed | When the connection does not hold the scope (the narrow servers hide it; the main server lists it marked "Needs permission") |
| REST route | POST /api/public/v1/account/motor-blocks/{id}/deactivate |
| Behaviour | Destructive: asks the person to confirm; safe to repeat |
| Input | Type | Required | Meaning |
|---|---|---|---|
motorBlockId | string (uuid) | No | Motor Block id from motorical_motor_block_list or create; optional only when the authorization has exactly one block. |
confirm | boolean | No | Supplied as true only after the human confirms the exact displayed action. |
Returns a structured result with the fields success, data, message.
Example arguments (placeholders in angle brackets, required inputs only):
{}
motorical_motor_block_reactivate
Reactivate Motor Block. Reactivate a previously deactivated production Motor Block. A verified production domain is required. Requires OAuth scope: manage:motor-blocks (see motorical_whoami for what it allows).
| Property | Value |
|---|---|
| Needs scope | manage:motor-blocks |
| Available on | Hosted servers: main, motorBlocks; the local server too |
| Acts on | One Motor Block (the motorBlockId input) |
| Not listed | When the connection does not hold the scope (the narrow servers hide it; the main server lists it marked "Needs permission") |
| REST route | POST /api/public/v1/account/motor-blocks/{id}/reactivate |
| Behaviour | Changes data; safe to repeat |
| Input | Type | Required | Meaning |
|---|---|---|---|
motorBlockId | string (uuid) | No | Motor Block id from motorical_motor_block_list or create; optional only when the authorization has exactly one block. |
Returns a structured result with the fields success, data, message.
Example arguments (placeholders in angle brackets, required inputs only):
{}
motorical_motor_block_delete
Permanently delete Motor Block. Permanently delete an inactive Motor Block asynchronously. This is irrecoverable. Set deleteHistory explicitly; then poll the returned job with motorical_motor_block_delete_status. Requires OAuth scope: manage:motor-blocks (see motorical_whoami for what it allows).
| Property | Value |
|---|---|
| Needs scope | manage:motor-blocks |
| Available on | Hosted servers: main, motorBlocks; the local server too |
| Acts on | One Motor Block (the motorBlockId input) |
| Not listed | When the connection does not hold the scope (the narrow servers hide it; the main server lists it marked "Needs permission") |
| REST route | DELETE /api/public/v1/account/motor-blocks/{id} |
| Behaviour | Destructive: asks the person to confirm |
| Input | Type | Required | Meaning |
|---|---|---|---|
motorBlockId | string (uuid) | No | Motor Block id from motorical_motor_block_list or create; optional only when the authorization has exactly one block. |
deleteHistory | boolean | Yes | Whether delivery logs/events may also be permanently deleted. |
confirm | boolean | No | Supplied as true only after the human confirms the exact displayed action. |
Returns a structured result with the fields success, data, message.
Example arguments (placeholders in angle brackets, required inputs only):
{"deleteHistory":true}
motorical_motor_block_delete_status
Get Motor Block deletion status. Read the current state and final report for an asynchronous permanent Motor Block deletion job. Requires OAuth scope: manage:motor-blocks (see motorical_whoami for what it allows).
| Property | Value |
|---|---|
| Needs scope | manage:motor-blocks |
| Available on | Hosted servers: main, motorBlocks; the local server too |
| Acts on | The whole account (no Motor Block needed) |
| Not listed | When the connection does not hold the scope (the narrow servers hide it; the main server lists it marked "Needs permission") |
| REST route | GET /api/public/v1/account/motor-block-deletions/{jobId} |
| Behaviour | Read-only; safe to repeat |
| Input | Type | Required | Meaning |
|---|---|---|---|
jobId | string (uuid) | Yes | - |
Returns a structured result with the fields success, data.
Example arguments (placeholders in angle brackets, required inputs only):
{"jobId":"<jobId>"}
motorical_whoami
Who am I (account, plan, grant). Who this connection is acting for: the account (id, owner email, name), its plan (name, status, hasSubscription), account.billing (price amount in minor units + currency + interval, trial end, current period end / next renewal date, cancelAtPeriodEnd and endsAt, this month's sends against the plan cap, and paymentMethod.status ok or failing; never invoices, receipts or card details; a field it cannot resolve is null with its reason under billing.unavailable) and, for an OAuth connection, the grant: the client, the scopes it holds, the Motor Blocks it covers, when it was granted, and canAdd (permissions it could still be given, with available:false where the plan does not allow it) plus addInDashboard, the page where the person adds them. Account-scoped: no Motor Block needed. grant is null when the call is not made over an OAuth grant. Over OAuth it needs no scope, so any connection can ask what it holds, and every server lists it. Use it instead of inferring scopes from the tool list.
| Property | Value |
|---|---|
| Needs scope | No scope: any OAuth connection can call it |
| Available on | Hosted servers: main, transactional, analytics, domains, sandbox, webhooks, motorBlocks, communications; the local server too |
| Acts on | The whole account (no Motor Block needed) |
| Not listed | Never |
| REST route | GET /api/public/v1/account/whoami |
| Behaviour | Read-only; safe to repeat |
| Input | Type | Required | Meaning |
|---|---|---|---|
motorBlockId | string (uuid) | No | Optional. This operation acts on the whole account, so a Motor Block is never needed; pass one only to record which block the call was made on behalf of. |
Returns the JSON of the REST route above.
Example arguments (placeholders in angle brackets, required inputs only):
{}