Skip to main content
Glama

Get outbound status

getOutboundStatus
Read-onlyIdempotent

What this account can send from, and to whom. Call it before sending outside Primitive or from a domain other than the managed inbox. Result: ready, summary, sendable_domains, domains, next_actions, and can_send_to, the recipients it may email.

Input Schema

NameRequiredDescriptionDefault
api_keyNoAPI key from createEmailAddress, used in place of sign-in.

Output Schema

NameRequiredDescriptionDefault
readyYesTrue when some domain can send now.
domainsYesYour domains and what each still needs.
summaryYesPlain-language status, to tell the user.
can_send_toYesWho this account may email.
next_actionsYesSteps left, most important first; empty when ready.
sendable_domainsYesDomains you can send from now.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedOutput schema / properties / can_send_to / properties / rules / items / properties / type / description
      Previous value: -"any_recipient, primitive_managed_domain, managed_zone, your_domain, address, org_member_email or opted_in_domains."New value: +"any_recipient, primitive_managed_domain, managed_zone, your_domain, address, org_member_email, org_member_emails or opted_in_domains."
    • changedOutput schema / properties / domains / items / properties / status / description
      Previous value: -"sendable, pending_outbound_dns, pending_ownership or inactive."New value: +"Whether it can send, or what it waits on."
    • addedOutput schema / properties / domains / items / properties / status / enum
      Added value: +[
      +  "sendable",
      +  "pending_outbound_dns",
      +  "pending_ownership",
      +  "inactive"
      +]
  2. Changed3 schema fields changed
    • changedOutput schema / properties / can_send_to / properties / rules / items / properties / type / description
      Previous value: -"any_recipient, primitive_managed_domain, managed_zone, your_domain, address, org_member_email, org_member_emails or opted_in_domains."New value: +"any_recipient, primitive_managed_domain, managed_zone, your_domain, address, org_member_email or opted_in_domains."
    • changedOutput schema / properties / domains / items / properties / status / description
      Previous value: -"Whether it can send, or what it waits on."New value: +"sendable, pending_outbound_dns, pending_ownership or inactive."
    • removedOutput schema / properties / domains / items / properties / status / enum
      Removed value: -[
      -  "sendable",
      -  "pending_outbound_dns",
      -  "pending_ownership",
      -  "inactive"
      -]
  3. Changed3 schema fields changed
    • changedOutput schema / properties / can_send_to / properties / rules / items / properties / type / description
      Previous value: -"any_recipient, primitive_managed_domain, managed_zone, your_domain, address, org_member_email or opted_in_domains."New value: +"any_recipient, primitive_managed_domain, managed_zone, your_domain, address, org_member_email, org_member_emails or opted_in_domains."
    • changedOutput schema / properties / domains / items / properties / status / description
      Previous value: -"sendable, pending_outbound_dns, pending_ownership or inactive."New value: +"Whether it can send, or what it waits on."
    • addedOutput schema / properties / domains / items / properties / status / enum
      Added value: +[
      +  "sendable",
      +  "pending_outbound_dns",
      +  "pending_ownership",
      +  "inactive"
      +]
  4. Changed12 schema fields changed
    • addedOutput schema / additionalProperties
      Added value: +false
    • changedOutput schema / description
      Previous value: -"Envelope; the result is in data.data."New value: +"Where you can send from, and to whom."
    • addedOutput schema / properties / can_send_to
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Who this account may email.",
      +  "properties": {
      +    "address_rules_omitted": {
      +      "description": "Address rules left out of rules; set when some were.",
      +      "type": "integer"
      +    },
      +    "address_rules_partial": {
      +      "description": "True when the address rules are a sample: an unlisted address may be allowed.",
      +      "type": "boolean"
      +    },
      +    "any_recipient": {
      +      "description": "True when any recipient is allowed. Set when known.",
      +      "type": "boolean"
      +    },
      +    "known": {
      +      "description": "False when the rules could not be read; then only summary is set.",
      +      "type": "boolean"
      +    },
      +    "rules": {
      +      "description": "Who you may email, one rule per kind of recipient. Set when known.",
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "address": {
      +            "description": "address and org_member_email rules only: the address.",
      +            "type": "string"
      +          },
      +          "description": {
      +            "description": "Who the rule allows, in words.",
      +            "type": "string"
      +          },
      +          "domain": {
      +            "description": "your_domain rules only: the domain.",
      +            "type": "string"
      +          },
      +          "last_received_at": {
      +            "description": "address rules only: last mail from it.",
      +            "type": "string"
      +          },
      +          "received_count": {
      +            "description": "address rules only: emails received from it.",
      +            "type": "integer"
      +          },
      +          "type": {
      +            "description": "any_recipient, primitive_managed_domain, managed_zone, your_domain, address, org_member_email or opted_in_domains.",
      +            "type": "string"
      +          },
      +          "zone": {
      +            "description": "managed_zone rules only: the zone.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "type",
      +          "description"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "summary": {
      +      "description": "Who this account can reach, to tell the user.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "known",
      +    "summary"
      +  ],
      +  "type": "object"
      +}
    • removedOutput schema / properties / data
      Removed value: -{
      -  "description": "API response: the result in data, or error.",
      -  "properties": {
      -    "data": {
      -      "description": "Where you can send from, and to whom.",
      -      "properties": {
      -        "can_send_to": {
      -          "description": "Who you may email.",
      -          "properties": {
      -            "any_recipient": {
      -              "description": "Any recipient is allowed.",
      -              "type": "boolean"
      -            },
      -            "rules": {
      -              "description": "Who is allowed: each has a type and a description.",
      -              "type": "array"
      -            },
      -            "summary": {
      -              "description": "What to tell the user.",
      -              "type": "string"
      -            }
      -          },
      -          "type": "object"
      -        },
      -        "domains": {
      -          "description": "Your domains and what each still needs.",
      -          "items": {
      -            "properties": {
      -              "domain": {
      -                "type": "string"
      -              },
      -              "id": {
      -                "type": "string"
      -              },
      -              "outbound_verified": {
      -                "description": "SPF, DKIM and DMARC verified.",
      -                "type": "boolean"
      -              },
      -              "ownership_verified": {
      -                "type": "boolean"
      -              },
      -              "status": {
      -                "description": "sendable, pending_outbound_dns, pending_ownership, inactive.",
      -                "type": "string"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          "type": "array"
      -        },
      -        "next_actions": {
      -          "description": "Steps left: kind, message, command.",
      -          "type": "array"
      -        },
      -        "ready": {
      -          "description": "Some domain can send.",
      -          "type": "boolean"
      -        },
      -        "sendable_domains": {
      -          "description": "Domains you can send from now.",
      -          "type": "array"
      -        },
      -        "summary": {
      -          "description": "Plain-language status.",
      -          "type": "string"
      -        }
      -      },
      -      "type": [
      -        "object",
      -        "null"
      -      ]
      -    },
      -    "error": {
      -      "description": "Why the call was refused; absent on success.",
      -      "properties": {
      -        "code": {
      -          "description": "Error code to branch on.",
      -          "type": "string"
      -        },
      -        "message": {
      -          "description": "What went wrong, in words.",
      -          "type": "string"
      -        }
      -      },
      -      "type": [
      -        "object",
      -        "null"
      -      ]
      -    },
      -    "success": {
      -      "description": "True when data holds the result.",
      -      "type": "boolean"
      -    }
      -  },
      -  "type": "object"
      -}
    • addedOutput schema / properties / domains
      Added value: +{
      +  "description": "Your domains and what each still needs.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "domain": {
      +        "description": "Domain name.",
      +        "type": "string"
      +      },
      +      "id": {
      +        "description": "Domain id.",
      +        "type": "string"
      +      },
      +      "outbound_verified": {
      +        "description": "True when SPF, DKIM and DMARC are verified.",
      +        "type": "boolean"
      +      },
      +      "ownership_verified": {
      +        "description": "True when ownership is proven.",
      +        "type": "boolean"
      +      },
      +      "status": {
      +        "description": "sendable, pending_outbound_dns, pending_ownership or inactive.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "domain",
      +      "status",
      +      "ownership_verified",
      +      "outbound_verified"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / next_actions
      Added value: +{
      +  "description": "Steps left, most important first; empty when ready.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "command": {
      +        "description": "CLI command that does it; absent when there is none.",
      +        "type": "string"
      +      },
      +      "kind": {
      +        "description": "The step, such as add_domain or verify_domain.",
      +        "type": "string"
      +      },
      +      "message": {
      +        "description": "What to do, in words.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "message"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / ready
      Added value: +{
      +  "description": "True when some domain can send now.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / sendable_domains
      Added value: +{
      +  "description": "Domains you can send from now.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedOutput schema / properties / status
      Removed value: -{
      -  "description": "HTTP status; 2xx on success.",
      -  "type": "number"
      -}
    • addedOutput schema / properties / summary
      Added value: +{
      +  "description": "Plain-language status, to tell the user.",
      +  "type": "string"
      +}
    • removedOutput schema / properties / tool
      Removed value: -{
      -  "description": "Tool that answered.",
      -  "type": "string"
      -}
    • changedOutput schema / required
      Previous value: -[
      -  "tool",
      -  "status",
      -  "data"
      -]New value: +[
      +  "ready",
      +  "summary",
      +  "sendable_domains",
      +  "domains",
      +  "next_actions",
      +  "can_send_to"
      +]
  5. Changed9 schema fields changed
    • changedInput schema / properties / api_key / description
      Previous value: -"Your API key from createEmailAddress, used in place of sign-in."New value: +"API key from createEmailAddress, used in place of sign-in."
    • changedOutput schema / properties / data / description
      Previous value: -"API response; result in data."New value: +"API response: the result in data, or error."
    • changedOutput schema / properties / data / properties / error / description
      Previous value: -"Refusal: code, message."New value: +"Why the call was refused; absent on success."
    • addedOutput schema / properties / data / properties / error / properties
      Added value: +{
      +  "code": {
      +    "description": "Error code to branch on.",
      +    "type": "string"
      +  },
      +  "message": {
      +    "description": "What went wrong, in words.",
      +    "type": "string"
      +  }
      +}
    • addedOutput schema / properties / data / properties / error / type
      Added value: +[
      +  "object",
      +  "null"
      +]
    • changedOutput schema / properties / data / properties / success / description
      Previous value: -"Accepted."New value: +"True when data holds the result."
    • changedOutput schema / properties / data / type
      Previous value: -[
      -  "object",
      -  "string",
      -  "null"
      -]New value: +"object"
    • changedOutput schema / properties / status / description
      Previous value: -"HTTP status."New value: +"HTTP status; 2xx on success."
    • addedOutput schema / properties / tool / description
      Added value: +"Tool that answered."
  6. Changed4 schema fields changed
    • changedOutput schema / description
      Previous value: -"Where you can send from, and to whom."New value: +"Envelope; the result is in data.data."
    • changedOutput schema / properties / data / description
      Previous value: -"API body."New value: +"API response; result in data."
    • addedOutput schema / properties / data / properties / data / description
      Added value: +"Where you can send from, and to whom."
    • changedOutput schema / properties / data / properties / error / description
      Previous value: -"Why refused."New value: +"Refusal: code, message."
  7. Changed4 schema fields changed
    • addedOutput schema / properties / data / properties / data / properties / can_send_to / properties / any_recipient / description
      Added value: +"Any recipient is allowed."
    • addedOutput schema / properties / data / properties / data / properties / can_send_to / properties / rules / description
      Added value: +"Who is allowed: each has a type and a description."
    • changedOutput schema / properties / data / properties / data / properties / domains / description
      Previous value: -"Your domains: id, domain, status."New value: +"Your domains and what each still needs."
    • addedOutput schema / properties / data / properties / data / properties / domains / items
      Added value: +{
      +  "properties": {
      +    "domain": {
      +      "type": "string"
      +    },
      +    "id": {
      +      "type": "string"
      +    },
      +    "outbound_verified": {
      +      "description": "SPF, DKIM and DMARC verified.",
      +      "type": "boolean"
      +    },
      +    "ownership_verified": {
      +      "type": "boolean"
      +    },
      +    "status": {
      +      "description": "sendable, pending_outbound_dns, pending_ownership, inactive.",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  8. Changed3 schema fields changed
    • changedInput schema / properties / api_key / description
      Previous value: -"Key createEmailAddress returned. Send it when no account is signed in."New value: +"Your API key from createEmailAddress, used in place of sign-in."
    • changedOutput schema / properties / data / properties / data / properties / can_send_to / description
      Previous value: -"Who you may email: summary, any_recipient, rules."New value: +"Who you may email."
    • addedOutput schema / properties / data / properties / data / properties / can_send_to / properties
      Added value: +{
      +  "any_recipient": {
      +    "type": "boolean"
      +  },
      +  "rules": {
      +    "type": "array"
      +  },
      +  "summary": {
      +    "description": "What to tell the user.",
      +    "type": "string"
      +  }
      +}
  9. Changed5 schema fields changed
    • changedInput schema / properties / api_key / description
      Previous value: -"The api_key from createEmailAddress, for a connection with no signed-in account. Leave it out when signed in."New value: +"Key createEmailAddress returned. Send it when no account is signed in."
    • changedOutput schema / properties / data / properties / data / properties / can_send_to / description
      Previous value: -"Allowed recipients."New value: +"Who you may email: summary, any_recipient, rules."
    • changedOutput schema / properties / data / properties / data / properties / domains / description
      Previous value: -"Domains and their state."New value: +"Your domains: id, domain, status."
    • changedOutput schema / properties / data / properties / data / properties / next_actions / description
      Previous value: -"Steps left."New value: +"Steps left: kind, message, command."
    • changedOutput schema / properties / data / properties / data / properties / sendable_domains / description
      Previous value: -"Domains you can send from."New value: +"Domains you can send from now."
  10. Changed11 schema fields changed
    • changedInput schema / properties / api_key / description
      Previous value: -"Only when no account is signed in: the api_key createEmailAddress returned, passed as is on every later call. Omit it when the user is signed in."New value: +"The api_key from createEmailAddress, for a connection with no signed-in account. Leave it out when signed in."
    • addedOutput schema / description
      Added value: +"Where you can send from, and to whom."
    • addedOutput schema / properties / data / description
      Added value: +"API body."
    • addedOutput schema / properties / data / properties / data / properties / domains / description
      Added value: +"Domains and their state."
    • addedOutput schema / properties / data / properties / data / properties / next_actions / description
      Added value: +"Steps left."
    • addedOutput schema / properties / data / properties / data / properties / ready / description
      Added value: +"Some domain can send."
    • changedOutput schema / properties / data / properties / data / properties / sendable_domains / description
      Previous value: -"Domains you can send from now."New value: +"Domains you can send from."
    • addedOutput schema / properties / data / properties / data / properties / summary / description
      Added value: +"Plain-language status."
    • addedOutput schema / properties / data / properties / error / description
      Added value: +"Why refused."
    • addedOutput schema / properties / data / properties / success / description
      Added value: +"Accepted."
    • addedOutput schema / properties / status / description
      Added value: +"HTTP status."
  11. Changed3 schema fields changed
    • changedInput schema / properties / api_key / description
      Previous value: -"Primitive API key (prim_...). Only needed when this connection has no signed-in account: pass the api_key returned by createEmailAddress, unchanged, on every call for the rest of the conversation. Omit it when the user is signed in."New value: +"Only when no account is signed in: the api_key createEmailAddress returned, passed as is on every later call. Omit it when the user is signed in."
    • addedOutput schema / properties / data / properties / data / properties / can_send_to / description
      Added value: +"Allowed recipients."
    • addedOutput schema / properties / data / properties / data / properties / sendable_domains / description
      Added value: +"Domains you can send from now."
  12. Changed4 schema fields changed
    • removedOutput schema / additionalProperties
      Removed value: -false
    • addedOutput schema / properties / data / properties
      Added value: +{
      +  "data": {
      +    "properties": {
      +      "can_send_to": {
      +        "type": "object"
      +      },
      +      "domains": {
      +        "type": "array"
      +      },
      +      "next_actions": {
      +        "type": "array"
      +      },
      +      "ready": {
      +        "type": "boolean"
      +      },
      +      "sendable_domains": {
      +        "type": "array"
      +      },
      +      "summary": {
      +        "type": "string"
      +      }
      +    },
      +    "type": [
      +      "object",
      +      "null"
      +    ]
      +  },
      +  "error": {},
      +  "success": {
      +    "type": "boolean"
      +  }
      +}
    • addedOutput schema / properties / data / type
      Added value: +[
      +  "object",
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / statusText
      Removed value: -{
      -  "type": "string"
      -}
  13. Changed1 schema field changed
    • addedInput schema / properties / api_key
      Added value: +{
      +  "description": "Primitive API key (prim_...). Only needed when this connection has no signed-in account: pass the api_key returned by createEmailAddress, unchanged, on every call for the rest of the conversation. Omit it when the user is signed in.",
      +  "maxLength": 200,
      +  "minLength": 8,
      +  "type": "string"
      +}
  14. Added

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds useful pre-send positioning and names the result fields, but those fields are also in the output schema, and it never explains what a 'ready' value of false implies or how next_actions should be acted on.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, no filler, and the pre-send guidance is placed early. The opening is a fragment and the trailing field enumeration partially duplicates the output schema, keeping it from a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a low-complexity read tool with a full output schema, and the description covers when to call it and roughly what comes back. The only real gap is the semantic of the readiness outcome and next_actions, which an agent would care about before sending.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single optional parameter, api_key, with 100% schema description coverage pointing to createEmailAddress. The description says nothing about the parameter or the fallback-to-sign-in behavior, so it adds no meaning beyond the schema — baseline 3 for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence states the resource precisely — outbound sending identities and recipient eligibility for the account — which is a distinct purpose from siblings like getInboxStatus or sendEmail. It never names a sibling explicitly and the verb is only implied by the title, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a concrete trigger condition: call it before sending outside Primitive or from a domain other than the managed inbox. That is genuinely actionable guidance rather than an implied use case. It does not state when the call is unnecessary or name an alternative tool, so it is not a full when/when-not statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources