Skip to main content
Glama
mailkite

MailKite

Official

Read-only mirror. This repo is a generated, release-time mirror of the MailKite monorepo (the private source of truth) — development doesn't happen here. Install from npm and open issues against the MailKite docs.

Install

{
  "mcpServers": {
    "mailkite": {
      "command": "npx",
      "args": ["-y", "@mailkite/mcp"],
      "env": { "MAILKITE_API_KEY": "mk_live_…" }
    }
  }
}

Related MCP server: ClawAIMail

Use it from an AI agent — MCP + Agent connectors

MailKite speaks the Model Context Protocol: every API method is a tool your AI assistant (Claude, Cursor, …) can call — send mail, manage domains, search the docs, and give an agent its own inbox. Full guide: https://mailkite.dev/docs/ai-agents.

Hosted (recommended) — one-click OAuth, no key to copy:

claude mcp add --transport http mailkite https://mcp.mailkite.dev/mcp

In Claude Code you can also install the plugin:

/plugin marketplace add mailkite/claude-code
/plugin install mailkite@mailkite

Any chat/UI agent: "Add the MCP server at https://mcp.mailkite.dev/mcp and authenticate in the browser when prompted."

Local (static key, offline / CI): use the npx config from Install above.

Give an agent its own inbox. Route inbound mail to a built-in inbox agent (the agent route action) and it answers, files, or escalates on its own — see https://mailkite.dev/docs/ai-agents.

Tools

One tool per MailKite API method, generated from the shared contract — send mail, manage domains/routes/webhooks/templates, run contact lists & broadcasts, give an agent its own inbox, and search the docs. Full signatures below; deeper reference: https://mailkite.dev/docs/libraries#mcp.

39 tools, generated from the shared API contract — the same spec the server registers at startup. * marks a required argument. Access: API key (mk_live_…), session (management token), or local (runs in-process, no network).

Tool

Signature

Access

What it does

mailkite_send

from*: string, to*: any, subject: string, html: string, text: string, templateId: string, templateData: object, cc: any, bcc: any, replyTo: string, inReplyTo: string, attachments: array

API key · write

Send a message over a verified domain.

mailkite_upload_attachment

filename: string, path: string, url: string, content: string, contentType: string, retentionDays: integer

API key · write

Upload a file to MailKite storage and get back a secure, time-limited URL.

mailkite_list_templates

session · read

List your saved email templates (light metadata only — no body).

mailkite_list_base_templates

session · read

List the premade base templates (light metadata).

mailkite_get_template

id*

session · read

Get one template (full: subject, html, text, theme).

mailkite_create_template

baseId: string, name: string, subject: string, html: string, text: string, json: string, theme: string

session · write

Create a template.

mailkite_list_domains

session · read

List your domains, each with its webhook URL.

mailkite_create_domain

domain*: string

session · write

Add a domain.

mailkite_get_domain

id*

session · read

Get one domain with DNS records + webhook.

mailkite_delete_domain

id*

session · delete/replace

Remove a domain.

mailkite_verify_domain

id*

session · write

Check DNS and update status.

mailkite_set_webhook

id*, url*: string

session · delete/replace

Set or replace the domain's catch-all webhook.

mailkite_delete_webhook

id*

session · delete/replace

Remove the domain's webhook.

mailkite_test_webhook

id*

session · write

Send a signed test event to the domain's webhook.

mailkite_check_domain_availability

domain*

session · read

Check whether a domain is available to register, and at what price.

mailkite_register_domain

domain*: string, contact*: object, years: integer, dryRun: boolean

session · write

Register (buy) a domain on the customer's behalf; provisions mail DNS and adds it to the account in one call.

mailkite_list_routes

session · read

List inbound routing rules.

mailkite_create_route

match*: string, action: string, destination: string, agentPrompt: string

session · write

Create a route (match, action, destination).

mailkite_agent

text*: string, subject: string, from: string, html: string, routeId: string, address: string, model: string

API key · write

Send a message to one of your inbox agents and get its reply.

mailkite_route

routeId: string, address: string, from*: string, subject: string, text: string, html: string

API key · write

Route a message to one of your registered routes (by routeId or address), running that route's action — agent, webhook, or forward.

mailkite_list_messages

session · read

List stored messages, newest first.

mailkite_get_message

id*

session · read

Get a message with deliveries + attachments.

mailkite_retry_delivery

id*

session · write

Re-deliver a stored message to its webhook.

mailkite_list_lists

session · read

List your contact lists (static, curated broadcast audiences), each with its member count.

mailkite_create_list

name*: string

session · write

Create a contact list.

mailkite_get_list

id*

session · read

Get one contact list with its member count.

mailkite_update_list

id*, name*: string

session · write

Rename a contact list.

mailkite_delete_list

id*

session · delete/replace

Delete a contact list.

mailkite_list_list_contacts

id*

session · read

List the contacts that are members of a list, newest first.

mailkite_add_list_contacts

id*, contactIds*: array

session · write

Add contacts (by id, ctr_…) to a list.

mailkite_remove_list_contact

id*, contactId*

session · delete/replace

Remove one contact from a list (the contact itself is kept).

mailkite_list_broadcasts

session · read

List your broadcasts (one-to-many sends) with status and send stats.

mailkite_create_broadcast

name: string, from*: string, replyTo: string, subject: string, preview: string, audience: object, templateId: string, html: string, text: string, footerAddress: string

session · write

Create a broadcast draft.

mailkite_get_broadcast

id*

session · read

Get one broadcast with its status and recipient summary.

mailkite_update_broadcast

id*, name: string, from: string, replyTo: string, subject: string, preview: string, audience: object, templateId: string, html: string, text: string, footerAddress: string

session · write

Edit a draft broadcast (any of from/subject/audience/html/… ).

mailkite_delete_broadcast

id*

session · delete/replace

Delete a broadcast draft.

mailkite_send_broadcast

id*, scheduledAt: string

session · write

Send a broadcast now, or pass an ISO 8601 scheduledAt to schedule it.

mailkite_verify_webhook

payload*: string, signature*: string, secret*: string, toleranceMs: integer

local · read

Verify the x-mailkite-signature header on an inbound webhook delivery.

mailkite_semantic_search

query*

API key · read

Semantic search over the MailKite documentation — returns the most relevant doc sections for a natural-language query (hybrid vector + keyword search over https://mailkite.dev/docs).

Signatures are advisory here — the server validates every call against the same JSON Schema the SDKs use, so the exact field names, types, and required flags always match the live contract.

All MailKite libraries

Same contract, every language — pick the one for your stack (full list: https://mailkite.dev/docs/libraries):

Library

Repo

Distribution

MailKite for Node.js

mailkite-node

npm

MailKite for Python

mailkite-python

PyPI

MailKite for Ruby

mailkite-ruby

RubyGems

MailKite for Java

mailkite-java

Maven Central

MailKite for PHP

mailkite-php

Packagist

MailKite for Go

mailkite-go

Go modules

@mailkite/cli

mailkite-cli

npm

@mailkite/mcp (this repo)

mailkite-mcp

npm

@mailkite/client

mailkite-js

npm

@mailkite/expo

mailkite-expo

npm

MailKiteClient

mailkite-swift

Swift Package Manager

dev.mailkite:mailkite-client

mailkite-kotlin

Maven Central

mailkite_client

mailkite-flutter

pub.dev

Generated from the shared MailKite API contract. © MailKite.

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mailkite/mailkite-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server