Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Secure email access via read-no-evil-mcp. Protects against prompt injection attacks in emails. Use for reading, sending, deleting, and moving emails.
Secure email access via read-no-evil-mcp. Protects against prompt injection attacks in emails. Use for reading, sending, deleting, and moving emails.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
Secure email gateway that scans emails for prompt injection attacks before you see them. This skill is a zero-dependency HTTP client that talks to a read-no-evil-mcp server. Credentials and email servers are managed entirely by the MCP server โ this skill never has direct access to them.
A running read-no-evil-mcp server with HTTP transport enabled. Three connection modes: Remote server โ An existing server on another machine. You need the URL (e.g. http://server:8000). Local server โ An existing server on localhost. Uses default http://localhost:8000. New Docker setup โ Use scripts/setup-server.sh to pull the official Docker image and start a container. No pip install is required. The script uses only Python stdlib.
Before first use, always ask the user how they want to connect: How would you like to connect to the read-no-evil-mcp server? Connect to an existing remote server (you'll provide the URL) Connect to an existing local server (localhost:8000) Set up a new local server via Docker For option 1: Ask for the server URL, then use --server URL with all commands. For option 2: No extra configuration needed, commands use the default URL. For option 3: Follow the Docker setup steps below. Never auto-setup Docker without explicit user confirmation.
Check if a config exists: setup-config.py list If no config, create one and add an account: setup-config.py create setup-config.py add --email user@example.com --host imap.example.com --create-env Ask the user to fill in the password in the .env file. Start the server: scripts/setup-server.sh --config ~/.config/read-no-evil-mcp/config.yaml \ --env-file ~/.config/read-no-evil-mcp/.env
Use scripts/setup-config.py to manage the server config file. All commands are flag-driven with no interactive prompts. ScenarioCommandCreate config skeletonsetup-config.py create [--threshold 0.5] [--force]Add a read-only accountsetup-config.py add --email user@example.com --host imap.example.com [--id myaccount] [--create-env]Add a send-enabled accountsetup-config.py add --email user@example.com --host imap.example.com --smtp-host smtp.example.com --send [--delete] [--move] [--create-env]Check what accounts are configuredsetup-config.py listRemove an accountsetup-config.py remove <id> Do NOT run setup-config.py show โ it displays config details the user may not intend to share with the agent. If debugging is needed, tell the user to run it themselves. Do NOT run setup-config.py create --force if config already exists without asking the user first.
Manage the server config file (~/.config/read-no-evil-mcp/config.yaml). No pip install required โ stdlib only. # Create a new config skeleton setup-config.py create setup-config.py create --threshold 0.3 --force # Add a read-only account (no SMTP needed) setup-config.py add --email user@example.com --host imap.example.com --create-env # Add an account with send permission (--smtp-host required for --send) setup-config.py add --email user@example.com --id myaccount \ --host imap.example.com --smtp-host smtp.example.com --send --delete --move # Remove an account setup-config.py remove <account-id> # List configured accounts setup-config.py list # Show full config file setup-config.py show # Use a custom config path setup-config.py --config /path/to/config.yaml create
# Start a Docker container (all flags required, no prompts) scripts/setup-server.sh --config ~/.config/read-no-evil-mcp/config.yaml \ --env-file ~/.config/read-no-evil-mcp/.env # Custom port and container name scripts/setup-server.sh --config /path/to/config.yaml \ --env-file /path/to/.env --port 9000 --name my-rnoe
Global options (--server, --account, --folder) can appear before or after the command. Server URL can also be set via RNOE_SERVER_URL env var. # List configured accounts rnoe-mail.py accounts # List recent emails (last 30 days) # Output: [UID] โ DATE | SENDER | SUBJECT (โ = unread) rnoe-mail.py list rnoe-mail.py list --account myaccount --limit 10 --days 7 # Read email (scanned for prompt injection!) rnoe-mail.py read <uid> rnoe-mail.py --account myaccount read <uid> # Send email rnoe-mail.py send --to "user@example.com" --subject "Hello" --body "Message" rnoe-mail.py send --to "user1@example.com, user2@example.com" --cc "cc@example.com" --subject "Hello" --body "Message" # List folders rnoe-mail.py folders --account myaccount # Move email to folder rnoe-mail.py move <uid> --to "Archive" # Delete email rnoe-mail.py delete <uid> # Global options can go before or after the command rnoe-mail.py --server http://myserver:8000 list rnoe-mail.py list --server http://myserver:8000
OptionDescriptionDefault--server URLMCP server URLhttp://localhost:8000--account ID / -aAccount IDdefault--folder NAME / -fEmail folderINBOX
All emails are automatically scanned by the MCP server: Safe: Content displayed normally Injection detected: Exit code 2, warning on stderr
0 โ success 1 โ general error (connection failed, invalid account, etc.) 2 โ prompt injection detected
Credentials are managed by the MCP server, never by this skill or the AI agent The skill communicates with the server over HTTP โ use HTTPS for non-localhost connections Prompt injection scanning happens server-side using ML models
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.