maildoc
Provides tools for searching emails, fetching messages, managing folders, and downloading attachments from Gmail, including direct extraction of text from PDF attachments.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@maildocsearch my inbox for the bank statement PDF from last month and extract the text"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
maildoc
Lightweight email search, attachment retrieval, and PDF extraction tools for AI agents and automation.
Setup
pip install -r requirements.txtSet credentials in .env (see .env.example):
GMAIL_USERNAME=user@example.com
GMAIL_APP_PASSWORD=your_app_passwordRelated MCP server: Gmail MCP Server
Quickstart
from maildoc import search_emails, download_attachment, extract_pdf_text
# Search emails with attachments
emails = search_emails(
sender="billing@example.com",
with_attachments=True,
limit=5,
)
# Download and extract text from PDF attachments (with optional password for protected files)
for email in emails:
for att in email["attachments"]:
if att["filename"].endswith(".pdf"):
pdf_bytes = download_attachment(email["uid"], att["filename"])
if pdf_bytes:
# Pass password if the PDF is password-protected (e.g., bank statements)
text = extract_pdf_text(pdf_bytes, password="optional_password")
print(text)MCP Server (Claude Desktop / Cursor / Antigravity)
Run as a Model Context Protocol (MCP) server:
python server.pyExample claude_desktop_config.json:
{
"mcpServers": {
"maildoc": {
"command": "python",
"args": ["/absolute/path/to/maildoc/server.py"],
"env": {
"GMAIL_USERNAME": "user@example.com",
"GMAIL_APP_PASSWORD": "your_app_password"
}
}
}
}Tools Reference
Email & Search
search_emails(sender, subject, body, seen, date_gte, date_lt, with_attachments, folder, limit): Search mailbox and return structured dicts.fetch_email_by_uid(uid, folder): Fetch a single email by UID.list_folders(): List mailbox folders.mark_email_as_read(uid, folder): Mark email as read.move_email(uid, destination_folder, source_folder): Move email between folders.delete_email(uid, folder): Delete email.create_folder(folder_name): Create mailbox folder.delete_folder(folder_name): Delete mailbox folder.connect_to_email(),disconnect_from_email(): Connection lifecycle helpers.
PDF Extraction
read_pdf_attachment(uid, attachment_filename, password=None, folder="INBOX"): Download attachment and extract its text directly in one step (ideal for MCP / AI agents).extract_pdf_text(pdf_bytes, password=None): Extract all text from PDF bytes.extract_pdf_page_text(pdf_bytes, page_number, password=None): Extract text from a specific page (1-indexed).
This server cannot be deployed
Maintenance
Related MCP Connectors
Email infrastructure for AI agents — send, receive, search, and reply to email over MCP.
Email inboxes for AI agents: send, receive, reply, search, and manage threaded email over MCP.
Manage Gmail end-to-end: search, read, send, draft, label, and organize threads. Automate workflow…
- MermailOAuthapp.mermail
Privacy-first email inboxes for AI agents with MCP mail tools and Composio connect/execute.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables AI assistants to interact with Gmail accounts for searching, reading, sending, and managing emails through secure OAuth2 authentication. It provides comprehensive tools for message operations, conversation threads, and account statistics using the FastMCP framework.8-
- AlicenseAqualityDmaintenanceEnables AI agents to search, read, send, and organize Gmail emails via MCP protocol.2262 npm2MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with Gmail through a standardized MCP server interface, allowing for natural language email management and automation.-
- FlicenseNot gradedqualityCmaintenanceFull Gmail control for any MCP-compatible AI agent. Exposes ~40 tools for reading, composing, labeling, filtering, threading, and account management.-