# Mailgi

> Email for AI agents: register a real inbox with no human, then send, receive and read mail.

- name: xyz.mailgi/mailgi
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 100/100
- quality: 81/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/xyz.mailgi%2Fmailgi
- tools: https://api.protogrid.dev/v1/servers/xyz.mailgi%2Fmailgi/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "mailgi": {
      "type": "http",
      "url": "https://api.mailgi.xyz/mcp",
      "headers": {
        "Authorization": "Bearer ${MAILGI_TOKEN}"
      }
    }
  }
}
```

Placeholders to fill: `${MAILGI_TOKEN}`.

## Trust

- hygiene: 100
- liveness: 100
- freshness: 100
- provenance: 100
- drivers: +repository +namespace-matches-repo +dns-namespace +website +reachable +uptime-100% +updated-6d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 81/100 (new)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- warn `tools.descriptions`: 1 of 67 tools have a description under 20 characters
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 67 of 67 tools declare readOnlyHint or destructiveHint
- warn `tools.directory_hints`: 7 of 67 tools declare all four hints; missing: mailbox_create (openWorldHint); webhook_delete (idempotentHint, openWorldHint); domain_list (destructiveHint, idempotentHint); …
- pass `tools.token_cost`: about 6,707 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 6 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 67, about 6,707 tokens to load them all
- tool set hash: a5415f4652b1744e350f80be0790a749
- tools last changed: 2026-11-04T10:14:09.460Z
- badge: [![protogrid quality](https://protogrid.dev/badge/xyz.mailgi/mailgi.svg)](https://protogrid.dev/servers/xyz.mailgi/mailgi)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-11-04 `mail_send` changed (description)
  - before: Sends an email from this agent's address. Mail to outside addresses is charged to the wallet. Until the wallet is first topped up it is free, up to 50 new recipients a day, and sent mail ends with a one-line "Sent by mailgi.xyz" footer.
  - after: Sends an email from this agent's address. Mail to outside addresses is charged to the wallet. Until the wallet is first topped up it is free, up to 50 new recipients a day, and sent mail ends with a one-line "Sent with Mailgi" footer.
- 2026-11-04 `billing_get` changed (description)
  - before: Returns the wallet this agent spends from: balance, prices and how to top up.
  - after: Returns the wallet this agent spends from: balance, prices, the free tier and how to top up.
- 2026-11-04 `mail_send` changed (description) **meaning changed**
  - before: Sends an email from this agent's address. Mail to outside addresses is charged to the wallet.
  - after: Sends an email from this agent's address. Mail to outside addresses is charged to the wallet. Until the wallet is first topped up it is free, up to 50 new recipients a day, and sent mail ends with a one-line "Sent by mailgi.xyz" footer.

Full history: https://api.protogrid.dev/v1/servers/xyz.mailgi%2Fmailgi/changes

## Remotes

- https://api.mailgi.xyz/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (67)

- `agent_delete`: Permanently deletes this agent, its mailbox and all its API keys.
- `agent_get`: Returns this agent's profile: its addresses, label and domain.
- `agent_usage`: Returns this agent's daily send and API counters; the latest day is partial.
- `apikey_create`: Creates another API key for this agent. The key is shown once.
- `apikey_list`: Lists this agent's API keys. Key values are never shown again.
- `apikey_revoke`: Revokes an API key immediately.
- `billing_get`: Returns the wallet this agent spends from: balance, prices, the free tier and how to top up.
- `billing_topup`: Creates a card payment link for this agent's wallet. Give it to a human to pay.
- `billing_transactions`: Lists the wallet ledger, newest first.
- `domain_attach`: Attaches a custom domain and returns the DNS records to publish.
- `domain_detach`: Detaches a custom domain from the organization.
- `domain_get`: Returns a domain's verification status and the DNS records it needs.
- `domain_inbox_create`: Creates an inbox with a chosen address on a domain. Its API key is shown once.
- `domain_inbox_delete`: Removes an inbox and its mail from a domain.
- `domain_inbox_list`: Lists the inboxes (agents) on a domain.
- `domain_list`: Lists an organization's custom domains.
- `domain_usage`: Returns daily send, receive and API counters for one domain.
- `domain_verify`: Re-checks the domain's DNS records and verifies it if they are correct.
- `health`: Checks that the Mailgi API, its database and the mail server are up.
- `invite_accept`: Accepts an organization invitation with the token from the invite email.
- `mailbox_create`: Creates a folder, optionally nested under another.
- `mailbox_delete`: Deletes a custom folder.
- `mailbox_list`: Lists all folders, including Inbox, Sent and Trash.
- `mailbox_rename`: Renames a folder.
- `mail_delete`: Moves a message to the Trash folder.
- `mail_get`: Returns one message with its full text and HTML body.
- `mail_list`: Lists message headers in the mailbox, newest first by default; filter by folder with mailboxId.
- `mail_move`: Moves a message to another folder.
- `mail_send`: Sends an email from this agent's address. Mail to outside addresses is charged to the wallet. Until the wallet is first topped up it is free, up to 50 new recipients a day, and sent mail ends with a one-line "Sent with Mailgi" footer.
- `mail_set_flags`: Marks a message as seen or unseen, flagged or unflagged.
- `org_billing_get`: Returns the organization's shared wallet: balance, prices and how to top up.
- `org_billing_topup`: Creates a card payment link for the organization wallet.
- `org_billing_transactions`: Lists the organization wallet ledger, newest first.
- `org_create`: Creates an organization; the signed-in user becomes its owner.
- `org_get`: Returns one organization.
- `org_invite_create`: Emails an invitation to join the organization.
- `org_invite_list`: Lists pending invitations.
- `org_invite_revoke`: Revokes a pending invitation.
- `org_list`: Lists the organizations the signed-in user belongs to.
- `org_login_request_code`: Emails a 6-digit dashboard login code to a human's address. Creates the account on first login.
- `org_login_verify`: Exchanges an emailed login code for a dashboard session token.
- `org_logout`: Revokes the current dashboard session token.
- `org_me`: Returns the signed-in user and the organizations they belong to.
- `org_member_list`: Lists an organization's members and their roles.
- `org_member_remove`: Removes a member from the organization, or leaves it when userId is your own.
- `org_member_set_role`: Changes a member's role.
- `org_rename`: Renames an organization.
- `org_usage`: Returns daily send, receive and API counters across the organization.
- `org_webhook_create`: Registers an HTTPS URL to be notified when mail arrives at one of the organization's inboxes.
- `org_webhook_delete`: Deletes a webhook endpoint.
- `org_webhook_deliveries`: Lists recent delivery attempts for a webhook endpoint.
- `org_webhook_enable`: Re-enables a webhook endpoint that was switched off after repeated failures.
- `org_webhook_list`: Lists webhook endpoints across the organization's inboxes.
- `org_webhook_resend`: Queues a delivery attempt to be sent again.
- `register_agent`: Creates a new agent with its own email address and returns its API key, shown once.
- `regtoken_create`: Creates a token that lets an agent register its own address on this domain. Shown once.
- `regtoken_list`: Lists a domain's registration tokens.
- `regtoken_revoke`: Revokes a registration token.
- `topup_lookup`: Shows which wallet a top-up for a Mailgi address would credit, and the allowed amounts.
- `topup_start`: Creates a card payment link for the wallet behind any Mailgi address. Give it to a human to pay.
- `topup_status`: Returns whether a top-up payment has been paid and credited.
- `webhook_create`: Registers an HTTPS URL to be notified when mail arrives. The signing secret is shown once.
- `webhook_delete`: Deletes a webhook endpoint.
- `webhook_deliveries`: Lists recent delivery attempts for a webhook endpoint.
- `webhook_enable`: Re-enables a webhook endpoint that was switched off after repeated failures.
- `webhook_list`: Lists this agent's webhook endpoints.
- `webhook_resend`: Queues a delivery attempt to be sent again.
