This MCP (model context protocol) server is a Python project that provides access to mxHERO's Mail2Cloud Advanced multi-account email search service.
The Model Context Protocol (MCP) is a framework designed to standardize the way models interact with various data sources and services. In this project, MCP is used to facilitate seamless integration to mxHERO Mail2Cloud Advanced. Mail2Cloud Advanced is a high performance data service for a company's email data. Mail2Cloud Advanced connects to company email services and optimizes the content for fast, scalable and secure access by AI solutions.
Mail2Cloud is designed to selectively capture emails from one or more accounts. The selection of emails can be finely controlled by powerful filters examining any aspect of messages and their attachments. Captured emails are then optimized and stored into an isolated tenant in a vector database designed for email related searches. This MCP accesses the stored emails in the tenant through authenticated access credentials.
Solutions built with Mail2Cloud Advanced MCP outperforms other AI solutions with regards to email data search & knowledge recovery (study)
- Provides secure links to original emails (safe from accidental user deletion, etc.)
- Allows LLMs to search massive email repositories, far beyond their context window restraints.
To facilitate exploration of this MCP, mxHERO provides demo accounts that are pre-loaded with thousands of emails. More about the demo emails can be found here.
See 'Access Tokens' below to get a token.
For more information see: mxHERO Mail2Cloud Advanced multi-email account service, including architecture, and optimizations.
A Go version (plus prebuilt binaries) can be found here.
This MCP repo is the 'stdio' variant. HTTP options exist at the following addresses:
- https://lab4-api.mxhero.com/mcp/connect (streamable HTTP)
- https://lab4-api.mxhero.com/mcp/sse (Legacy SSE)
Search stored emails
Parameters
query
(str): Email search query
Returns JSON of search results
- Python 3.13 or higher
- mxHERO Vector Search token
- A demo token can be obtained at https://lab4-api.mxhero.com/demo_signup
- For production tokens, uncheck "Demo" and Request an account (or contact mxHERO at contact@mxhero.com).
- Clone the repository
git clone https://github.com/mxaiorg/mxmcp-py
-
Install
uv
if not installed yet:2.1 MacOS+Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
2.2 Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
-
Create and set up our project:
3.1 MacOS+Linux
# Create virtual environment and activate it uv venv source .venv/bin/activate # Lock the dependencies uv lock
3.2 Windows
# Create virtual environment and activate it uv venv .venv\Scripts\activate # Lock the dependencies uv lock
To start the MCP server, run the following command:
uv --directory /fullpath/PycharmProjects/mxmcp-py run src/mxmcp.py --token "my_token"
Typically you don't need to start the server, your client will do it, but it is useful to make sure things are working.
-
Edit your
claude_desktop_config.json
:code ~/Library/Application\ Support/Claude/claude_desktop_config.json
...or use your favorite json editor.
- You may need to create the file if it does not already exist.
-
Add the configuration:
-
Replace the --directory argument value ('/Users/...') with the absolute (full) path to the python script.
{ "mcpServers": { "mxhero-mcp-server": { "command": "uv", "args": [ "--directory", "/Users/your_user/Desktop/mxmcp-py", "run", "src/mxmcp.py", "--token", "<copy_your_token_here>" ] } } }
https://gofastmcp.com/servers/tools
Using this client against the hosted service requires an account/API key and is governed by our ToS.