Skip to content

docs(integrations): add e2a tools integration#4150

Open
Josh Zhang (jiashuoz) wants to merge 1 commit into
langchain-ai:mainfrom
jiashuoz:feat/e2a-tools-integration
Open

docs(integrations): add e2a tools integration#4150
Josh Zhang (jiashuoz) wants to merge 1 commit into
langchain-ai:mainfrom
jiashuoz:feat/e2a-tools-integration

Conversation

@jiashuoz
Copy link
Copy Markdown

What

Adds a new tools integration page for e2a, an authenticated email gateway for AI agents, to src/oss/python/integrations/tools/e2a.mdx, plus the corresponding entries in index.mdx (Productivity table + alphabetical Cards grid).

e2a is exposed to LangChain via @e2a/mcp-server using langchain-mcp-adapters. The doc shows both transports:

  • Local stdionpx -y @e2a/mcp-server as a child process (laptop dev).
  • Hosted Streamable HTTPhttps://mcp.e2a.dev/mcp with a Bearer header (serverless deployments).

Why

Developers building agent email workflows need an authenticated, per-agent inbox with SPF/DKIM verification and human-in-the-loop approval. Listing e2a in the LangChain integration index makes it discoverable alongside Gmail Toolkit and AgentPhone in the Productivity category.

Same shape and tone as the existing entries we modeled on — agentphone.mdx, composio.mdx, mcp_toolbox.mdx, discord.mdx. We followed the same pattern for google/adk-docs#1793 (merged), which is the equivalent integration page on the Google ADK docs site.

Verification

The two code blocks in the page are byte-identical (modulo the leading module docstring) to the runnable examples in our repo at Mnexa-AI/e2a/mcp/examples/langchain/:

  • agent.py → "e2a over stdio" block
  • agent_hosted.py → "e2a over hosted endpoint" block

To verify locally:

pip install -U langchain-mcp-adapters langgraph "langchain[anthropic]"
export E2A_API_KEY=e2a_...        # https://e2a.dev to obtain
export ANTHROPIC_API_KEY=sk-ant-...

# stdio (requires Node 18+)
python agent.py "what's in my inbox?"

# hosted (no Node required)
python agent_hosted.py "what's in my inbox?"

The 18-tool count in the "Available tools" table matches the assertion in our test suite at mcp/tests/http.test.ts (lines 193–217) and the tool registry at mcp/src/tools.ts in Mnexa-AI/e2a.

The streamable_http transport key was cross-checked against langchain-mcp-adapters/langchain_mcp_adapters/sessions.py (line 168: transport: Literal["streamable_http"]).

Notes for maintainer

  • CLA: this PR is authored as Josh Zhang <josh@mnexa.ai>, matching the signed CLA on file.
  • New file follows the same frontmatter shape as neighboring entries (title + description, no other fields used by current pages in this directory).
  • index.mdx changes are additive: one row in the Productivity table, one card in the alphabetical grid between Drasi and Exa Search.

@github-actions
Copy link
Copy Markdown
Contributor

Thanks for opening a docs PR, Josh Zhang (@jiashuoz)! When it's ready for review, please add the relevant reviewers:

  • @mdrxy (Python integrations)

@github-actions github-actions Bot added external User is not a member of langchain-ai langchain For docs changes to LangChain oss python For content related to the Python version of LangChain projects labels May 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

external User is not a member of langchain-ai langchain For docs changes to LangChain oss python For content related to the Python version of LangChain projects

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant