Mailgi
REMOTE · API.MAILGI.XYZ
Email for AI agents: register a real inbox with no human, then send, receive and read mail.
Available components
Last scanned (19 hours ago)
Scores higher than 53% of remote servers
Unreachable for 1 day in a row. Last reached 3 Nov 2026.
Category Communication
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security11
- TLS not yet verified: we couldn't open a connection to check the certificate. View diagnostics → Unverified
- Authorisation not yet verified: we couldn't confirm whether this endpoint requires it. View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS not yet verified: we couldn't read the response headers to check for it. View diagnostics → Unverified
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability0
- Transport check failed: declared streamable-http, but we couldn't connect to verify it. See how to fix → View diagnostics → Fail
Schema Quality & AI Usability0
- Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.Unverified
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
- Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Tool Safety0
- Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Capabilities0
- Capabilities not yet verified: we couldn't read the endpoint's capabilities.Unverified
Unverified: 5 categories
Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Nov 26 0
- Endpoint reachability: reachable → unreachable ▼ security
- Authorization: fail → unverified ▼ security
- Stability: 0.07 → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- TLS certificate: pass → unverified ▼ security
- HSTS header: pass → unverified ▼ security
- Transport: pass → fail ▼ security
- Schema quality: 100 → unverified ▼ functional
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- 3 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 2 Nov 26 0
- Stability: unverified → 0.03 ▲ functional
- 1 Nov 26 66
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Nov 2026 · Probed https://api.mailgi.xyz/mcp
TLS unreached
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of api.mailgi.xyz. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| xyz. | present | 3599, 18130 | 8, 8 | Verified |
| mailgi.xyz. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Inconclusive
We could not reach the endpoint well enough to judge its authorisation posture.
| Result | Inconclusive |
|---|
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://api.mailgi.xyz/mcp | Unreachable | ||
| http (plaintext) | http://api.mailgi.xyz/mcp | HTTPS enforced |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
agent_delete Delete agent ~22
Permanently deletes this agent, its mailbox and all its API keys.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
agent_get Get agent profile ~21
Returns this agent's profile: its addresses, label and domain.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
agent_usage Get agent usage ~55
Returns this agent's daily send and API counters; the latest day is partial.
| Name | Type | Req | Description |
|---|---|---|---|
| from | string | – | ISO date, inclusive. Defaults to 30 days ago. |
| to | – | – | ISO date, inclusive. Defaults to today. |
No output schema declared.
No examples provided.
apikey_create Create API key ~45
Creates another API key for this agent. The key is shown once.
| Name | Type | Req | Description |
|---|---|---|---|
| expiresAt | string | – | ISO 8601 expiry date-time. |
| label | string | – | – |
No output schema declared.
No examples provided.
apikey_list List API keys ~23
Lists this agent's API keys. Key values are never shown again.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
apikey_revoke Revoke API key ~25
Revokes an API key immediately.
| Name | Type | Req | Description |
|---|---|---|---|
| keyId | string | yes | – |
No output schema declared.
No examples provided.
billing_get Get wallet ~25
Returns the wallet this agent spends from: balance, prices and how to top up.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
billing_topup Create top-up link ~44
Creates a card payment link for this agent's wallet. Give it to a human to pay.
| Name | Type | Req | Description |
|---|---|---|---|
| amountUsd | number | yes | USD; the minimum is in billing_get. |
No output schema declared.
No examples provided.
billing_transactions List wallet transactions ~30
Lists the wallet ledger, newest first.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| offset | integer | – | – |
No output schema declared.
No examples provided.
domain_attach Attach domain ~46
Attaches a custom domain and returns the DNS records to publish.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | e.g. example.com |
| orgId | string | yes | Organization ID from org_list. |
No output schema declared.
No examples provided.
domain_detach Detach domain ~44
Detaches a custom domain from the organization.
| Name | Type | Req | Description |
|---|---|---|---|
| domainId | string | yes | Domain ID from domain_list. |
| orgId | string | yes | Organization ID from org_list. |
No output schema declared.
No examples provided.
domain_get Get domain ~47
Returns a domain's verification status and the DNS records it needs.
| Name | Type | Req | Description |
|---|---|---|---|
| domainId | string | yes | Domain ID from domain_list. |
| orgId | string | yes | Organization ID from org_list. |
No output schema declared.
No examples provided.
domain_inbox_create Create inbox ~81
Creates an inbox with a chosen address on a domain. Its API key is shown once.
| Name | Type | Req | Description |
|---|---|---|---|
| domainId | string | yes | Domain ID from domain_list. |
| label | string | – | – |
| localPart | string | yes | e.g. "support" for support@yourdomain.com |
| orgId | string | yes | Organization ID from org_list. |
No output schema declared.
No examples provided.
domain_inbox_delete Delete inbox ~54
Removes an inbox and its mail from a domain.
| Name | Type | Req | Description |
|---|---|---|---|
| agentId | string | yes | – |
| domainId | string | yes | Domain ID from domain_list. |
| orgId | string | yes | Organization ID from org_list. |
No output schema declared.
No examples provided.
domain_inbox_list List inboxes ~47
Lists the inboxes (agents) on a domain.
| Name | Type | Req | Description |
|---|---|---|---|
| domainId | string | yes | Domain ID from domain_list. |
| orgId | string | yes | Organization ID from org_list. |
No output schema declared.
No examples provided.
domain_list List domains ~27
Lists an organization's custom domains.
| Name | Type | Req | Description |
|---|---|---|---|
| orgId | string | yes | Organization ID from org_list. |
No output schema declared.
No examples provided.
domain_usage Get domain usage ~91
Returns daily send, receive and API counters for one domain.
| Name | Type | Req | Description |
|---|---|---|---|
| breakdown | string | – | Split each day by agent. |
| domainId | string | yes | Domain ID from domain_list. |
| from | string | – | ISO date, inclusive. Defaults to 30 days ago. |
| orgId | string | yes | Organization ID from org_list. |
| to | string | – | ISO date, inclusive. Defaults to today. |
No output schema declared.
No examples provided.
domain_verify Verify domain ~50
Re-checks the domain's DNS records and verifies it if they are correct.
| Name | Type | Req | Description |
|---|---|---|---|
| domainId | string | yes | Domain ID from domain_list. |
| orgId | string | yes | Organization ID from org_list. |
No output schema declared.
No examples provided.
health Service health ~23
Checks that the Mailgi API, its database and the mail server are up.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
invite_accept Accept invite ~28
Accepts an organization invitation with the token from the invite email.
| Name | Type | Req | Description |
|---|---|---|---|
| token | string | yes | – |
No output schema declared.
No examples provided.
mail_delete Move message to Trash ~23
Moves a message to the Trash folder.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
No output schema declared.
No examples provided.
mail_get Read a message ~31
Returns one message with its full text and HTML body.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Message ID from mail_list. |
No output schema declared.
No examples provided.
mail_list List messages ~80
Lists message headers in the mailbox, newest first by default; filter by folder with mailboxId.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max messages to return. |
| mailboxId | string | – | Folder ID from mailbox_list. Omit for all mail. |
| position | integer | – | Zero-based offset for pagination. |
| sort | string | – | Sort by receivedAt. |
No output schema declared.
No examples provided.
mail_move Move message ~36
Moves a message to another folder.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
| mailboxId | string | yes | Destination folder ID from mailbox_list. |
No output schema declared.
No examples provided.
mail_send Send email ~90
Sends an email from this agent's address. Mail to outside addresses is charged to the wallet.
| Name | Type | Req | Description |
|---|---|---|---|
| bcc | array | – | – |
| cc | array | – | – |
| htmlBody | string | – | HTML body. |
| replyTo | string | – | Reply-To address. |
| subject | string | yes | – |
| textBody | string | – | Plain-text body. |
| to | array | yes | Recipient addresses. |
No output schema declared.
No examples provided.
mail_set_flags Set message flags ~44
Marks a message as seen or unseen, flagged or unflagged.
| Name | Type | Req | Description |
|---|---|---|---|
| flagged | boolean | – | – |
| id | string | yes | – |
| seen | boolean | – | – |
No output schema declared.
No examples provided.
mailbox_create Create folder ~39
Creates a folder, optionally nested under another.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Folder name. |
| parentId | string | – | Parent folder ID for nesting. |
No output schema declared.
No examples provided.
mailbox_delete Delete folder ~20
Deletes a custom folder.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
No output schema declared.
No examples provided.
mailbox_list List folders ~19
Lists all folders, including Inbox, Sent and Trash.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
mailbox_rename Rename folder ~28
Renames a folder.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
| name | string | yes | – |
No output schema declared.
No examples provided.
org_billing_get Get organization wallet ~38
Returns the organization's shared wallet: balance, prices and how to top up.
| Name | Type | Req | Description |
|---|---|---|---|
| orgId | string | yes | Organization ID from org_list. |
No output schema declared.
No examples provided.
org_billing_topup Create organization top-up link ~42
Creates a card payment link for the organization wallet.
| Name | Type | Req | Description |
|---|---|---|---|
| amountUsd | number | yes | – |
| orgId | string | yes | Organization ID from org_list. |
No output schema declared.
No examples provided.
org_billing_transactions List organization transactions ~46
Lists the organization wallet ledger, newest first.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| offset | integer | – | – |
| orgId | string | yes | Organization ID from org_list. |
No output schema declared.
No examples provided.
org_create Create organization ~34
Creates an organization; the signed-in user becomes its owner.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | – |
| slug | string | – | – |
No output schema declared.
No examples provided.
org_get Get organization ~25
Returns one organization.
| Name | Type | Req | Description |
|---|---|---|---|
| orgId | string | yes | Organization ID from org_list. |
No output schema declared.
No examples provided.
org_invite_create Invite member ~45
Emails an invitation to join the organization.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | – | |
| orgId | string | yes | Organization ID from org_list. |
| role | string | – | – |
No output schema declared.
No examples provided.
org_invite_list List invites ~27
Lists pending invitations.
| Name | Type | Req | Description |
|---|---|---|---|
| orgId | string | yes | Organization ID from org_list. |
No output schema declared.
No examples provided.
org_invite_revoke Revoke invite ~38
Revokes a pending invitation.
| Name | Type | Req | Description |
|---|---|---|---|
| inviteId | string | yes | – |
| orgId | string | yes | Organization ID from org_list. |
No output schema declared.
No examples provided.
org_list List organizations ~18
Lists the organizations the signed-in user belongs to.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
org_login_request_code Request dashboard login code ~38
Emails a 6-digit dashboard login code to a human's address. Creates the account on first login.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | – |
No output schema declared.
No examples provided.
org_login_verify Verify dashboard login code ~34
Exchanges an emailed login code for a dashboard session token.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | – |
| string | yes | – |
No output schema declared.
No examples provided.
org_logout Sign out ~16
Revokes the current dashboard session token.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
org_me Who am I ~20
Returns the signed-in user and the organizations they belong to.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
org_member_list List members ~30
Lists an organization's members and their roles.
| Name | Type | Req | Description |
|---|---|---|---|
| orgId | string | yes | Organization ID from org_list. |
No output schema declared.
No examples provided.
org_member_remove Remove member ~47
Removes a member from the organization, or leaves it when userId is your own.
| Name | Type | Req | Description |
|---|---|---|---|
| orgId | string | yes | Organization ID from org_list. |
| userId | string | yes | – |
No output schema declared.
No examples provided.
org_member_set_role Change member role ~44
Changes a member's role.
| Name | Type | Req | Description |
|---|---|---|---|
| orgId | string | yes | Organization ID from org_list. |
| role | string | yes | – |
| userId | string | yes | – |
No output schema declared.
No examples provided.
org_rename Rename organization ~34
Renames an organization.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | – |
| orgId | string | yes | Organization ID from org_list. |
No output schema declared.
No examples provided.
org_usage Get organization usage ~78
Returns daily send, receive and API counters across the organization.
| Name | Type | Req | Description |
|---|---|---|---|
| breakdown | string | – | Split each day by agent. |
| from | string | – | ISO date, inclusive. Defaults to 30 days ago. |
| orgId | string | yes | Organization ID from org_list. |
| to | string | – | ISO date, inclusive. Defaults to today. |
No output schema declared.
No examples provided.
org_webhook_create Create organization webhook ~77
Registers an HTTPS URL to be notified when mail arrives at one of the organization's inboxes.
| Name | Type | Req | Description |
|---|---|---|---|
| agentId | string | yes | Inbox ID from domain_inbox_list. |
| eventTypes | array | – | – |
| orgId | string | yes | Organization ID from org_list. |
| url | string | yes | HTTPS URL to POST notifications to. |
No output schema declared.
No examples provided.
org_webhook_delete Delete organization webhook ~35
Deletes a webhook endpoint.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
| orgId | string | yes | Organization ID from org_list. |
No output schema declared.
No examples provided.
How do I install the Mailgi MCP server?
Mailgi is a hosted endpoint at https://api.mailgi.xyz/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · api.mailgi.xyz
claude mcp add --transport http xyz-mailgi-mailgi 'https://api.mailgi.xyz/mcp'
What is the Mailgi MCP server?
Mailgi is an MCP server listed in the public MCP registry as xyz.mailgi/mailgi. Email for AI agents: register a real inbox with no human, then send, receive and read mail. This page covers its hosted endpoint (https://api.mailgi.xyz/mcp).
Is the Mailgi MCP server safe to use?
Mailgi scores 67 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Mailgi MCP server expose?
Mailgi exposes 67 tools: register_agent, org_login_request_code, org_login_verify, topup_lookup, topup_start, and 62 more. Their descriptions and schemas cost roughly 2,734 tokens of context every time the server is loaded.
Does the Mailgi MCP server require authentication?
Its publisher declares no required credentials for Mailgi. We have not been able to confirm that against the live endpoint, and a server can require authorisation without declaring it here.
Is the Mailgi MCP server still maintained?
Mailgi is still listed in the MCP registry, though our most recent checks did not reach this channel. We last reached this channel on 3 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.