npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@mailkite/expo

v0.10.0

Published

Expo / React Native adapter for MailKite — wires expo-secure-store + expo-auth-session into @mailkite/client so RN apps get the OAuth (the token is the user) flow with zero re-implemented PKCE.

Downloads

545

Readme

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

npx expo install expo-secure-store expo-web-browser expo-auth-session
npm install @mailkite/expo @mailkite/client

Quickstart

import { createMailKiteClient } from "@mailkite/expo";

const mk = createMailKiteClient({ redirectUri: "mailkite-app://redirect" });

await mk.login();                         // system browser + secure token storage
await mk.send({ from: "[email protected]", to: "[email protected]", subject: "Hi", text: "Hello" });

Examples

Runnable examples live in examples/ — send mail, verify webhooks, build an AI email agent, and log users in:

| Example | What it shows | | --- | --- | | examples/01-login-and-send.tsx | Sign the end user into THEIR OWN MailKite account (system browser + secure token… |

API methods

Every method is documented on its own page under docs/. The full surface:

| Method | What it does | | --- | --- | | send | Send a message over a verified domain. Pass templateId (+ optional templateData) to… | | uploadAttachment | Upload a file to MailKite storage and get back a secure, time-limited URL. Reference the… | | listTemplates | List your saved email templates (light metadata only — no body). Use getTemplate for the… | | listBaseTemplates | List the premade base templates (light metadata). Clone one with createTemplate({ baseId… | | getTemplate | Get one template (full: subject, html, text, theme). Works for your templates (tpl_…) and… | | createTemplate | Create a template. Pass baseId to clone a base template into your own, or provide… | | listDomains | List your domains, each with its webhook URL. | | createDomain | Add a domain. Returns the domain + DNS records. | | getDomain | Get one domain with DNS records + webhook. | | deleteDomain | Remove a domain. | | verifyDomain | Check DNS and update status. | | setWebhook | Set or replace the domain's catch-all webhook. | | deleteWebhook | Remove the domain's webhook. | | testWebhook | Send a signed test event to the domain's webhook. | | checkDomainAvailability | Check whether a domain is available to register, and at what price. Read-only — no charge. | | registerDomain | Register (buy) a domain on the customer's behalf; provisions mail DNS and adds it to the… | | listRoutes | List inbound routing rules. | | createRoute | Create a route (match, action, destination). | | deleteRoute | Delete an inbound routing rule by id. Pair with createRoute to register and tear down a… | | agent | Send a message to one of your inbox agents and get its reply. Defaults to the account's… | | route | Route a message to one of your registered routes (by routeId or address), running… | | listMessages | List stored messages, newest first. Optionally filter with search (matches sender… | | getMessage | Get a message with deliveries + attachments. | | retryDelivery | Re-deliver a stored message to its webhook. | | listLists | List your contact lists (static, curated broadcast audiences), each with its member count. | | createList | Create a contact list. Returns the list with its id (lst_…); add contacts with… | | getList | Get one contact list with its member count. | | updateList | Rename a contact list. | | deleteList | Delete a contact list. The list is removed; the contacts themselves are kept. | | listListContacts | List the contacts that are members of a list, newest first. Optionally page with before… | | addListContacts | Add contacts (by id, ctr_…) to a list. Returns how many were newly added; contacts… | | removeListContact | Remove one contact from a list (the contact itself is kept). | | listBroadcasts | List your broadcasts (one-to-many sends) with status and send stats. | | createBroadcast | Create a broadcast draft. from is required; set audience to { type: "all" } or {… | | getBroadcast | Get one broadcast with its status and recipient summary. | | updateBroadcast | Edit a draft broadcast (any of from/subject/audience/html/… ). Drafts only. | | deleteBroadcast | Delete a broadcast draft. | | sendBroadcast | Send a broadcast now, or pass an ISO 8601 scheduledAt to schedule it. A one-click… | | semanticSearch | Semantic search over the MailKite documentation — returns the most relevant doc sections… |

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):

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

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.

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 | mailkite-mcp | npm | | @mailkite/client | mailkite-js | npm | | @mailkite/expo (this repo) | mailkite-expo | npm | | MailKiteClient | mailkite-swift | Swift Package Manager | | dev.mailkite:mailkite-client | mailkite-kotlin | Maven Central | | mailkite_client | mailkite-flutter | pub.dev |

Docs & links

  • 📚 Documentation: https://mailkite.dev/docs
  • 📦 This library's guide: https://mailkite.dev/docs/libraries
  • 🤖 AI agents (MCP + inbox agents): https://mailkite.dev/docs/ai-agents
  • 🌐 Website: https://mailkite.dev
  • 🧭 All libraries: https://mailkite.dev/docs/libraries

Generated from the shared MailKite API contract. © MailKite.