Mail.ru MCP server
Mail.ru MCP Server (Go Production Edition)
A Go MCP server for Mail.ru mail, SMTP and cloud storage that requires human confirmation before sending mail or changing files
High risk
We rate an entry high when the tool writes to external systems, handles money, production databases or secrets, or runs arbitrary commands. The CLI installs it only with your consent.
Why this level
- Can send mail and delete cloud files on the user's behalf
- Uses an app password with access to mail and WebDAV
Install
Manual install
make buildBuilds a static binary from the Go source.
This is third-party code. Review the repository files before installing.
What it does
The server runs as a single Go binary and gives an agent 13 tools: reading mail over IMAP from the inbox and smart folders, fetching a message body, searching subject and body, saving a draft, plus listing, downloading, uploading and deleting files in Mail.ru cloud storage over WebDAV. Any operation that sends mail, moves a message or changes cloud files does not run immediately: the server issues a single-use token that must be confirmed with a separate execute_pending_action call, and the token expires after an hour. Every network call is capped at a 15-second timeout, and file paths are checked to stay inside allowed directories.
Who it is for. For people who want an agent to access Mail.ru mail and cloud storage, but only with mandatory confirmation before sending mail or changing files.
Good fit when
- You want an agent to read and search Mail.ru mail and prepare draft replies
- You need access to files in Mail.ru cloud storage over WebDAV with a check before changes
- You need mail sending and file deletion to never happen without confirmation
Not a fit when
- You need Mail.ru calendar or contacts: the service does not support them, the author suggests Nextcloud instead
- You want a ready npm or Docker package: the server is built from Go source
Example request
Find recent messages from accounting in my Mail.ru inbox and draft a replyLimitations
The project is very new, has a single author, no releases or packaging, and installs only by building from Go source via go build or make build. It needs a Mail.ru app password, not the main account password. Mail.ru calendar and contacts are intentionally unsupported.
How to disable. Remove the mailru-mcp-server entry from your MCP client config and stop the binary process.
MCP
- Transport
- stdio
- Authentication
- API key
| Environment variables | |
|---|---|
| MAILRU_USERNAME required | Mail.ru email address. |
| MAILRU_APP_PASS required, secret | Mail.ru app password, not the main account password. |
| MAILRU_ALLOWED_ROOTS | Comma-separated list of allowed directories for file operations. |
Security check
- Can send mail and delete cloud files on the user's behalf
- Uses an app password with access to mail and WebDAV
README in short
The README describes the Go architecture using the mcp-go and go-imap libraries, gives a table of 13 tools marking which need confirmation, and explains the two-phase confirmation model with a token and a limit on pending actions. It also covers environment variables, a sample MCP router config and the build, test and lint commands.
FAQ
Can the server send mail without me noticing?
No, sending mail, moving a message and changing cloud files first create a confirmation token that expires in an hour and must be executed with a separate call.
Is Mail.ru calendar supported?
No, Mail.ru does not offer a public CalDAV server and rejects CardDAV requests, so the author suggests managing calendar and contacts through Nextcloud instead.
Related
A self-hosted knowledge base with block-level references and a built-in MCP server for connecting AI agents to your notes
A CLI for every Google Workspace API with JSON output and agent skills: Drive, Gmail, Calendar, Sheets and more
Local search over Markdown notes, docs and meeting transcripts: keywords, semantic search and reranking, with an MCP server
A task manager for AI-driven development: breaks a PRD into dependent tasks and guides the agent through them via MCP or CLI