Skip to content

Add e2a integration#1766

Merged
koverholt merged 2 commits into
google:mainfrom
jiashuoz:add-e2a-integration
May 18, 2026
Merged

Add e2a integration#1766
koverholt merged 2 commits into
google:mainfrom
jiashuoz:add-e2a-integration

Conversation

@jiashuoz
Copy link
Copy Markdown
Contributor

Summary

Adds e2a as an MCP-based integration under docs/integrations/e2a.md.

e2a is an authenticated email gateway built for AI agents. Inbound mail is SPF/DKIM-verified before reaching your agent. Outbound mail can be held in a pending queue for human approval — optionally with reviewer edits to subject, body, or recipients — before it actually ships.

The integration is distributed as a stdio MCP server (@e2a/mcp-server on npm, published with provenance) and exposes 11 tools across three groups:

  • Identity: whoami, list_agents, create_agent
  • Messages: send_email, reply_to_message, list_messages, get_message
  • Human-in-the-loop: list_pending_messages, get_pending_message, approve_pending_message, reject_pending_message

Files

  • docs/integrations/e2a.md — integration page following the CONTRIBUTING.md template (frontmatter, use cases, prerequisites, Python + TypeScript snippets, tool table, configuration table, resources)
  • docs/integrations/assets/e2a.png — 256×256 PNG logo

Verification

The example wired in the documentation has been run end-to-end against the published @e2a/mcp-server@0.1.1:

  • ADK Agent with gemini-flash-latest + the exact McpToolset config in the snippet chained two tool calls (whoamilist_agents) against real api.e2a.dev and synthesized a correct natural-language answer.
  • All 11 tools load with parseable schemas via MultiServerMCPClient.get_tools() and ADK's tool discovery.
  • A runnable copy of the ADK example lives at https://github.com/Mnexa-AI/e2a/tree/main/mcp/examples/adk.

CLA

Mnexa AI has signed the Google Corporate CLA. Authorized contributor: @jiashuoz.

@netlify
Copy link
Copy Markdown

netlify Bot commented May 18, 2026

Deploy Preview for adk-docs-preview ready!

Name Link
🔨 Latest commit 10f3ae7
🔍 Latest deploy log https://app.netlify.com/projects/adk-docs-preview/deploys/6a0b9b40c55bee0008da0af0
😎 Deploy Preview https://deploy-preview-1766--adk-docs-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@google-cla
Copy link
Copy Markdown

google-cla Bot commented May 18, 2026

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@jiashuoz jiashuoz force-pushed the add-e2a-integration branch from 7265a15 to 505eb07 Compare May 18, 2026 22:37
@jiashuoz
Copy link
Copy Markdown
Contributor Author

@googlebot I signed the CLA!

@jiashuoz
Copy link
Copy Markdown
Contributor Author

@googlebot I signed the CLA!

@jiashuoz jiashuoz force-pushed the add-e2a-integration branch from 505eb07 to a431a71 Compare May 18, 2026 22:49
e2a is an authenticated email gateway for AI agents — SPF/DKIM-verified
inbound, optional human-in-the-loop approval before outbound mail
ships. Distributed as an MCP stdio server via npx -y @e2a/mcp-server,
exposing 11 tools for inbox management, threaded replies, and HITL
approval flows.

Source: https://github.com/Mnexa-AI/e2a/tree/main/mcp
npm:    https://www.npmjs.com/package/@e2a/mcp-server
@jiashuoz jiashuoz force-pushed the add-e2a-integration branch from a431a71 to 869aa3e Compare May 18, 2026 22:50
jiashuoz added a commit to Mnexa-AI/e2a that referenced this pull request May 18, 2026
…sets (#89)

* docs(mcp): add runnable end-to-end examples for ADK, LangChain, OpenAI Agents

Three self-contained agent demos under mcp/examples/ that drive the
published @e2a/mcp-server over stdio. Each has README + requirements.txt
+ a minimal agent.py — runnable with one pip install and an LLM key.

Doubles as living docs for the README snippets and as the canonical
"does the published package work?" verification harness.

Verified end-to-end: spawned npx -y @e2a/mcp-server@0.1.1 from the
LangChain example, confirmed all 11 tools load with correct schemas.
ADK and OpenAI Agents use the same stdio wire-up so high confidence,
not directly invoked.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(mcp): add system prompt to LangChain example

Parity with the ADK and OpenAI Agents examples — tells the model to
use whoami first and prefer reply_to_message over send_email for
threaded replies. Without it, the LangChain agent had no guidance on
tool selection.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(mcp): warn about webhook signing secret in cloud mode + stage brand assets

The `create_agent` MCP tool exposes `agent_mode: 'cloud'` to the LLM,
but the description (and the README's tool table) didn't mention that
cloud-mode users must HMAC-verify webhook deliveries against
E2A_WEBHOOK_SECRET. Without this, an LLM walking a user into cloud
mode leaves them with an unverified webhook handler. Add the warning
to:

- mcp/src/tools/agents.ts — the source-of-truth tool description that
  every MCP host surfaces
- mcp/README.md — npm registry page

The adk-docs PR (google/adk-docs#1766) was updated separately with the
same warning, plus a link to the existing runnable example at
examples/adk-cloud-webhook.

Also stage brand assets at assets/ (square logo, 256px variant, wordmark)
for npm/Smithery/dashboard/etc. usage. Audit of the rest of the docs
confirms webhook signing is already well-covered in the root README and
both SDK READMEs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown
Collaborator

@koverholt koverholt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR and contribution! All content LGTM since you followed the template, thanks for that. I left one comment about shortening the catalog description. Once that is done, this is good to merge and publish to our integration catalog.

Comment thread docs/integrations/e2a.md Outdated
@koverholt
Copy link
Copy Markdown
Collaborator

Also you can ignore the failing CI check for external links, all of your links are passing and the failure is unrelated to this PR. We will address that separately.

Copy link
Copy Markdown
Collaborator

@koverholt koverholt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the edit and for the contribution! Merging.

@koverholt koverholt merged commit 52eb140 into google:main May 18, 2026
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants