All MCP Servers
ProductivityMCP RegistrynpmB · 77

Pidgeon MCP server

ai.pidgeon · Updated

Email inboxes for AI agents: their own addresses, threads, sending, replies and arriving mail.

At a glance

Pidgeon is an MCP server in the Productivity category. It runs locally over stdio via `npx -y @pidgeon-ai/mcp`, and needs PIDGEON_API_KEY and Authorization. It scores B (77/100) on the MCP Skills Hub health score as of Oct 28, 2026.

Source 1GitHub stars

One-click install

Opens your editor and pre-fills the config. Your editor will ask before adding it.

How to install Pidgeon in your AI client

Setup for Claude Code, Claude Desktop, Cursor, Codex, Windsurf, Cline and VS Code — copy-paste ready.

How to install Pidgeon in Claude CodeAnthropic's agentic CLI

  1. Add the server

    bash
    claude mcp add pidgeon -e 'PIDGEON_API_KEY=<PIDGEON_API_KEY>' -- npx -y @pidgeon-ai/mcp
  2. Fill in your credentials

    Replace <PIDGEON_API_KEY>, Bearer <YOUR_TOKEN> with your real values. Keep secrets out of any config file you commit.

  3. Verify it's connected

    bash
    claude mcp list
  4. Sharing it with your team?

    Add `--scope project` to write it to .mcp.json in the repository root, which you can commit (with the secrets left as environment variables).

  5. Use it in a session

    Ask Claude to use the tools this server exposes. It discovers them automatically.

What does Pidgeon need from you?

Bearer token — Your Pidgeon API key as a bearer token

  • PIDGEON_API_KEYrequiredsecretEnvironment variable

    Your Pidgeon API key (pgn_live_…). Make one under Developers → API keys, or let an agent sign itself up: https://pidgeon.ai/skill.md

  • AuthorizationrequiredsecretHTTP header

    Your Pidgeon API key as a bearer token

Pass secrets through your shell environment rather than committing them into a config file.

What tools does Pidgeon expose?

This server runs as a local package. We only query remote servers for their tool list — asking this one would mean executing it, so its tools are listed in the documentation below.

What the code can do

Read from the published package source — never executed. Parsed 6 of 6 source files.

This server can read and write files, make network requests and read your environment variables.

How it was published

  • Published by a verified CI identity (github trusted publishing) rather than a personal token.
  • Has a provenance attestation tying this artifact to the commit it was built from.
  • 1 npm maintainer — a single point of compromise · last published by GitHub Actions.

Maintainer of this package and think something here is wrong? Tell us and we'll correct it.

Before you install

Signals gathered from the source repo and package registry — not a safety verdict.

What it can reach

  • Runs code on your machine — Executes as a local process with your user's permissions, including filesystem access.
  • Downloads at launch — The package is fetched from its registry each run unless you pin a version.
  • Last commit today — Actively maintained.
  • Repository created 14 days ago — Very new project with little track record yet.
  • 1 GitHub stars — Very little community usage so far.

Client compatibility

Claude Code: NativeClaude Desktop: NativeCursor: NativeCodex CLI: NativeWindsurf: NativeCline: NativeVS Code: Native

Health score

B · 77

Maintenance, adoption, transparency and packaging — not a safety audit. How this is calculated

  • Maintenance30%100%

    Last commit 0 days ago.

  • Adoption20%9%

    1 stars.

  • Transparency20%75%

    3/4: ✓ public source repo, ✓ declared license, ✓ documentation, ✗ discoverable tool list.

  • Provenance15%100%

    Package and registry entry point at the same repository.

  • Packaging15%100%

    Publishes a pinned version (0.19.0).

Documentation

Full README

Pidgeon for JavaScript and TypeScript

Email inboxes for AI agents. Pidgeon is the email inbox API for AI agents. It gives agents their own inboxes so they can work with emails just like a human.

pidgeon.ai · Documentation

sh
npm install @pidgeon-ai/sdk

Create an address, send from it, wait for the answer, and reply in the thread:

ts
import {
  client,
  identitiesCreate,
  messagesAwait,
  messagesReply,
  messagesSend,
} from '@pidgeon-ai/sdk';

client.setConfig({ auth: () => process.env.PIDGEON_API_KEY! });

// 1. An address of its own. Any free name on pidgeon.email works with no DNS.
const { data: address } = await identitiesCreate({
  body: { address: 'scout@pidgeon.email', type: 'agent' },
  throwOnError: true,
});

// 2. Send from it.
await messagesSend({
  body: {
    from: address.data.email,
    to: 'ops@example.com',
    subject: 'Staging access',
    text: 'Could you send me the access code?',
  },
  throwOnError: true,
});

// 3. Receive: one held-open request until the answer arrives, up to 60 seconds.
const { data: awaited } = await messagesAwait({
  query: { identity_id: address.data.id, timeout: 60 },
  throwOnError: true,
});

// 4. Reply into the same conversation. Recipients and subject come off the original.
if (awaited.data.message) {
  console.log(awaited.data.message.extracted.codes);
  await messagesReply({
    path: { id: awaited.data.message.id },
    body: { text: 'Thanks, that worked.' },
    throwOnError: true,
  });
}

PIDGEON_API_KEY is a pgn_live_… key. Make one at pidgeon.ai/app/developers/keys, or let your agent sign itself up: pidgeon.ai/skill.md.

The packages

| Package | Install | What it is | | --- | --- | --- | | `@pidgeon-ai/sdk` | npm install @pidgeon-ai/sdk | The TypeScript client, one function per operation | | `@pidgeon-ai/cli` | npm install -g @pidgeon-ai/cli | Every endpoint as a command | | `@pidgeon-ai/mcp` | npx -y @pidgeon-ai/mcp init | The MCP server, run on your machine | | `@pidgeon-ai/ai-sdk` | npm install @pidgeon-ai/ai-sdk ai zod | The same tools, for the Vercel AI SDK | | `@pidgeon-ai/openclaw` | openclaw plugins install @pidgeon-ai/openclaw | Email as an OpenClaw channel: mail starts a conversation, the reply goes in the thread |

`examples/openai-agents` is an OpenAI Agents SDK agent on the hosted server, `examples/claude-agent-sdk` a Claude Agent SDK one, and `examples/mastra` a Mastra one. None needs a package of ours. `examples/ai-sdk` is a Vercel AI SDK agent on @pidgeon-ai/ai-sdk, asking before it replies.

`activepieces/pidgeon` is the Activepieces piece, @pidgeon-ai/piece-pidgeon, in the layout Activepieces' own repository uses (setup).

An MCP client needs no package at all. Point it at https://pidgeon.ai/api/mcp and it signs you in with OAuth:

sh
claude mcp add --transport http pidgeon https://pidgeon.ai/api/mcp

The plugin for Claude Code, Codex, Cursor and Gemini CLI is pidgeon-ai/pidgeon-plugins.

Maintain Pidgeon? Add a badge to your README

Shows its health grade, and links readers to install steps for every client.

markdown
[![Pidgeon on MCP Skills Hub](https://mcp-skills-hub.vercel.app/badge/ai-pidgeon-mcp)](https://mcp-skills-hub.vercel.app/mcps/ai-pidgeon-mcp)

Catalog data refreshed . Something wrong? Report it.