loading…
Search for a command to run...
loading…
Enables LLMs to read, search, and send emails through Yahoo Mail using secure OAuth2 authentication.
Enables LLMs to read, search, and send emails through Yahoo Mail using secure OAuth2 authentication.
A Model Context Protocol (MCP) server that enables LLMs to interact with Yahoo Mail. This server allows tools like Gemini CLI or Claude Desktop to read, search, and send emails directly through your Yahoo account.
Clone the repository:
git clone <repository-url>
cd yahoo-mail-mcp
Install dependencies:
npm install
Configure Environment Variables:
Create a .env file in the root directory:
[email protected]
YAHOO_APP_PASSWORD=your-16-character-app-password
LOG_LEVEL=info
Build the project:
npm run build
Build and run the server using Docker to ensure a consistent environment:
Build the image:
docker build -t yahoo-mail-mcp .
Run the container (for testing build):
docker run --env-file .env yahoo-mail-mcp
npm run dev: Start the server in development mode.npm run lint: Lint the codebase using ESLint.npm run format: Format the codebase using Prettier.npm run test: Run the test suite using Vitest.npm run build: Build the project for production.gemini mcp add yahoo-mail node $(pwd)/dist/index.js
gemini mcp add yahoo-mail-docker docker -- run -i --rm --env-file $(pwd)/.env yahoo-mail-mcp
Once registered, you can use natural language to interact with your mail.
You: "Show me my 5 most recent emails from Yahoo."
You: "Find any emails from 'Amazon' about my recent order."
You: "Send an email to
src/index.ts: Entry point for the MCP server.src/server.ts: MCP server initialization and tool registration.src/tools/: Implementation of read_emails, search_emails, and send_email.src/lib/:imap.ts: IMAP connection helper.smtp.ts: SMTP connection helper.logger.ts: Winston-based structured logging.config.ts: Zod-based environment validation.ISC
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"yahoo-mail-mcp-server": {
"command": "npx",
"args": []
}
}
}