mailoo
mcpkey · package officialMailoo — email MCP server for IMAP, SMTP, and ManageSieve. Multi-account, per-folder profiles.
run it
on your own machines, one way per deploy method#!/usr/bin/env bash # mailoo (io.github.Bitfloo/mailoo), recipe baremetal (generated). # Generated by Hub for toolset "my-agent"; started by mcp-my-agent-mailoo.service. set -euo pipefail export HOST=127.0.0.1 PORT=8101 exec npx -y supergateway@4 --stdio 'npx -y @bitfloo/[email protected]' --outputTransport streamableHttp --stateful --host 127.0.0.1 --port 8101 --streamableHttpPath /mcp --healthEndpoint /healthz [Unit] Description=MCP server mailoo (toolset my-agent), generated by Hub After=network-online.target Wants=network-online.target [Service] Type=simple User=mcp Group=mcp EnvironmentFile=/etc/mcp/my-agent.env Environment=HOME=/var/lib/mcp/mailoo WorkingDirectory=/var/lib/mcp/mailoo ExecStart=/opt/mcp/my-agent/bin/mailoo.sh Restart=on-failure RestartSec=5 NoNewPrivileges=true ProtectSystem=strict ProtectHome=true PrivateTmp=true ReadWritePaths=/var/lib/mcp/mailoo [Install] WantedBy=multi-user.target
docker run --rm -p 127.0.0.1:8101:8000 -e MCP_EMAIL_ADDRESS -e MCP_EMAIL_PASSWORD -e MCP_EMAIL_IMAP_HOST -e MCP_EMAIL_SMTP_HOST -e MCP_EMAIL_ACCOUNT_NAME -e MCP_EMAIL_FULL_NAME -e MCP_EMAIL_USERNAME -e MCP_EMAIL_IMAP_PORT -e MCP_EMAIL_IMAP_TLS -e MCP_EMAIL_IMAP_STARTTLS -e MCP_EMAIL_IMAP_VERIFY_SSL -e MCP_EMAIL_IMAP_DISABLE_IMAP4REV2 -e MCP_EMAIL_SIEVE_HOST -e MCP_EMAIL_SIEVE_PORT -e MCP_EMAIL_SMTP_PORT -e MCP_EMAIL_SMTP_TLS -e MCP_EMAIL_SMTP_STARTTLS -e MCP_EMAIL_SMTP_VERIFY_SSL -e MCP_EMAIL_SMTP_POOL_ENABLED -e MCP_EMAIL_SMTP_POOL_MAX_CONNECTIONS -e MCP_EMAIL_SMTP_POOL_MAX_MESSAGES -e MCP_EMAIL_OAUTH2_PROVIDER -e MCP_EMAIL_OAUTH2_CLIENT_ID -e MCP_EMAIL_OAUTH2_CLIENT_SECRET -e MCP_EMAIL_OAUTH2_REFRESH_TOKEN -e MCP_EMAIL_RATE_LIMIT -e MCP_EMAIL_READ_ONLY -e MCP_EMAIL_SAVE_TO_SENT -e MCP_EMAIL_WATCHER_ENABLED -e MCP_EMAIL_WATCHER_FOLDERS -e MCP_EMAIL_WATCHER_IDLE_TIMEOUT -e MCP_EMAIL_HOOK_ON_NEW_EMAIL -e MCP_EMAIL_HOOK_PRESET -e MCP_EMAIL_HOOK_AUTO_LABEL -e MCP_EMAIL_HOOK_AUTO_FLAG -e MCP_EMAIL_HOOK_BATCH_DELAY -e MCP_EMAIL_HOOK_CUSTOM_INSTRUCTIONS -e MCP_EMAIL_ALERT_DESKTOP -e MCP_EMAIL_ALERT_SOUND -e MCP_EMAIL_ALERT_URGENCY_THRESHOLD -e MCP_EMAIL_ALERT_WEBHOOK_URL -e MCP_EMAIL_ALERT_WEBHOOK_ALLOW_PRIVATE -e MCP_EMAIL_HOOK_AUTO_CALENDAR -e MCP_EMAIL_HOOK_CALENDAR_NAME -e MCP_EMAIL_HOOK_CALENDAR_ALARM_MINUTES -e MCP_EMAIL_HOOK_CALENDAR_CONFIRM -e MCP_EMAIL_SYSTEM_ONE_ENABLED -e MCP_EMAIL_HTTP_HOST -e MCP_EMAIL_HTTP_TOKEN -e MCP_EMAIL_HTTP_ALLOWED_HOSTS node:22-alpine sh -c 'npx -y supergateway@4 --stdio '"'"'npx -y @bitfloo/[email protected]'"'"' --outputTransport streamableHttp --stateful --host 0.0.0.0 --port 8000 --streamableHttpPath /mcp --healthEndpoint /healthz'
# Generated by Hub for toolset "my-agent" (2026-10-17T22:03:07+00:00).
# Each package server runs behind a stdio->HTTP bridge and listens on localhost only.
# cp .env.example .env # fill the ${VAR}s
# docker compose up -d && bash smoke.sh
# Remote servers are not here: clients reach them directly (see clients/).
name: mcp-my-agent
services:
mailoo:
image: node:22-alpine
command:
- sh
- -c
- npx -y supergateway@4 --stdio 'npx -y @bitfloo/[email protected]' --outputTransport streamableHttp --stateful
--host 0.0.0.0 --port 8000 --streamableHttpPath /mcp --healthEndpoint /healthz
ports:
- 127.0.0.1:8101:8000
volumes:
- npm-cache:/root/.npm
healthcheck:
test:
- CMD-SHELL
- wget -qO- http://127.0.0.1:8000/healthz || exit 1
interval: 30s
timeout: 5s
retries: 5
start_period: 2m
restart: unless-stopped
environment:
MCP_EMAIL_ADDRESS: ${MCP_EMAIL_ADDRESS}
MCP_EMAIL_PASSWORD: ${MCP_EMAIL_PASSWORD}
MCP_EMAIL_IMAP_HOST: ${MCP_EMAIL_IMAP_HOST}
MCP_EMAIL_SMTP_HOST: ${MCP_EMAIL_SMTP_HOST}
MCP_EMAIL_ACCOUNT_NAME: ${MCP_EMAIL_ACCOUNT_NAME}
MCP_EMAIL_FULL_NAME: ${MCP_EMAIL_FULL_NAME}
MCP_EMAIL_USERNAME: ${MCP_EMAIL_USERNAME}
MCP_EMAIL_IMAP_PORT: ${MCP_EMAIL_IMAP_PORT}
MCP_EMAIL_IMAP_TLS: ${MCP_EMAIL_IMAP_TLS}
MCP_EMAIL_IMAP_STARTTLS: ${MCP_EMAIL_IMAP_STARTTLS}
MCP_EMAIL_IMAP_VERIFY_SSL: ${MCP_EMAIL_IMAP_VERIFY_SSL}
MCP_EMAIL_IMAP_DISABLE_IMAP4REV2: ${MCP_EMAIL_IMAP_DISABLE_IMAP4REV2}
MCP_EMAIL_SIEVE_HOST: ${MCP_EMAIL_SIEVE_HOST}
MCP_EMAIL_SIEVE_PORT: ${MCP_EMAIL_SIEVE_PORT}
MCP_EMAIL_SMTP_PORT: ${MCP_EMAIL_SMTP_PORT}
MCP_EMAIL_SMTP_TLS: ${MCP_EMAIL_SMTP_TLS}
MCP_EMAIL_SMTP_STARTTLS: ${MCP_EMAIL_SMTP_STARTTLS}
MCP_EMAIL_SMTP_VERIFY_SSL: ${MCP_EMAIL_SMTP_VERIFY_SSL}
MCP_EMAIL_SMTP_POOL_ENABLED: ${MCP_EMAIL_SMTP_POOL_ENABLED}
MCP_EMAIL_SMTP_POOL_MAX_CONNECTIONS: ${MCP_EMAIL_SMTP_POOL_MAX_CONNECTIONS}
MCP_EMAIL_SMTP_POOL_MAX_MESSAGES: ${MCP_EMAIL_SMTP_POOL_MAX_MESSAGES}
MCP_EMAIL_OAUTH2_PROVIDER: ${MCP_EMAIL_OAUTH2_PROVIDER}
MCP_EMAIL_OAUTH2_CLIENT_ID: ${MCP_EMAIL_OAUTH2_CLIENT_ID}
MCP_EMAIL_OAUTH2_CLIENT_SECRET: ${MCP_EMAIL_OAUTH2_CLIENT_SECRET}
MCP_EMAIL_OAUTH2_REFRESH_TOKEN: ${MCP_EMAIL_OAUTH2_REFRESH_TOKEN}
MCP_EMAIL_RATE_LIMIT: ${MCP_EMAIL_RATE_LIMIT}
MCP_EMAIL_READ_ONLY: ${MCP_EMAIL_READ_ONLY}
MCP_EMAIL_SAVE_TO_SENT: ${MCP_EMAIL_SAVE_TO_SENT}
MCP_EMAIL_WATCHER_ENABLED: ${MCP_EMAIL_WATCHER_ENABLED}
MCP_EMAIL_WATCHER_FOLDERS: ${MCP_EMAIL_WATCHER_FOLDERS}
MCP_EMAIL_WATCHER_IDLE_TIMEOUT: ${MCP_EMAIL_WATCHER_IDLE_TIMEOUT}
MCP_EMAIL_HOOK_ON_NEW_EMAIL: ${MCP_EMAIL_HOOK_ON_NEW_EMAIL}
MCP_EMAIL_HOOK_PRESET: ${MCP_EMAIL_HOOK_PRESET}
MCP_EMAIL_HOOK_AUTO_LABEL: ${MCP_EMAIL_HOOK_AUTO_LABEL}
MCP_EMAIL_HOOK_AUTO_FLAG: ${MCP_EMAIL_HOOK_AUTO_FLAG}
MCP_EMAIL_HOOK_BATCH_DELAY: ${MCP_EMAIL_HOOK_BATCH_DELAY}
MCP_EMAIL_HOOK_CUSTOM_INSTRUCTIONS: ${MCP_EMAIL_HOOK_CUSTOM_INSTRUCTIONS}
MCP_EMAIL_ALERT_DESKTOP: ${MCP_EMAIL_ALERT_DESKTOP}
MCP_EMAIL_ALERT_SOUND: ${MCP_EMAIL_ALERT_SOUND}
MCP_EMAIL_ALERT_URGENCY_THRESHOLD: ${MCP_EMAIL_ALERT_URGENCY_THRESHOLD}
MCP_EMAIL_ALERT_WEBHOOK_URL: ${MCP_EMAIL_ALERT_WEBHOOK_URL}
MCP_EMAIL_ALERT_WEBHOOK_ALLOW_PRIVATE: ${MCP_EMAIL_ALERT_WEBHOOK_ALLOW_PRIVATE}
MCP_EMAIL_HOOK_AUTO_CALENDAR: ${MCP_EMAIL_HOOK_AUTO_CALENDAR}
MCP_EMAIL_HOOK_CALENDAR_NAME: ${MCP_EMAIL_HOOK_CALENDAR_NAME}
MCP_EMAIL_HOOK_CALENDAR_ALARM_MINUTES: ${MCP_EMAIL_HOOK_CALENDAR_ALARM_MINUTES}
MCP_EMAIL_HOOK_CALENDAR_CONFIRM: ${MCP_EMAIL_HOOK_CALENDAR_CONFIRM}
MCP_EMAIL_SYSTEM_ONE_ENABLED: ${MCP_EMAIL_SYSTEM_ONE_ENABLED}
MCP_EMAIL_HTTP_HOST: ${MCP_EMAIL_HTTP_HOST}
MCP_EMAIL_HTTP_TOKEN: ${MCP_EMAIL_HTTP_TOKEN}
MCP_EMAIL_HTTP_ALLOWED_HOSTS: ${MCP_EMAIL_HTTP_ALLOWED_HOSTS}
volumes:
npm-cache: {}
uv-cache: {}
# Generated by Hub for toolset "my-agent" (2026-10-17T22:03:07+00:00).
# kubectl create namespace mcp
# kubectl -n mcp create secret generic mcp-credentials --from-env-file=.env
# kubectl apply -f kubernetes.yaml
# Services are cluster-internal: <name>.mcp.svc.cluster.local:8000/mcp. Put an ingress
# with auth in front before exposing any of them.
apiVersion: v1
kind: Namespace
metadata:
name: mcp
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mailoo
namespace: mcp
labels: &id001
app: mailoo
spec:
replicas: 1
selector:
matchLabels: *id001
template:
metadata:
labels: *id001
spec:
containers:
- name: mailoo
image: node:22-alpine
ports:
- containerPort: 8000
name: http
env:
- name: MCP_EMAIL_ADDRESS
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_ADDRESS
- name: MCP_EMAIL_PASSWORD
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_PASSWORD
- name: MCP_EMAIL_IMAP_HOST
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_IMAP_HOST
- name: MCP_EMAIL_SMTP_HOST
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_SMTP_HOST
- name: MCP_EMAIL_ACCOUNT_NAME
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_ACCOUNT_NAME
- name: MCP_EMAIL_FULL_NAME
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_FULL_NAME
- name: MCP_EMAIL_USERNAME
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_USERNAME
- name: MCP_EMAIL_IMAP_PORT
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_IMAP_PORT
- name: MCP_EMAIL_IMAP_TLS
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_IMAP_TLS
- name: MCP_EMAIL_IMAP_STARTTLS
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_IMAP_STARTTLS
- name: MCP_EMAIL_IMAP_VERIFY_SSL
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_IMAP_VERIFY_SSL
- name: MCP_EMAIL_IMAP_DISABLE_IMAP4REV2
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_IMAP_DISABLE_IMAP4REV2
- name: MCP_EMAIL_SIEVE_HOST
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_SIEVE_HOST
- name: MCP_EMAIL_SIEVE_PORT
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_SIEVE_PORT
- name: MCP_EMAIL_SMTP_PORT
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_SMTP_PORT
- name: MCP_EMAIL_SMTP_TLS
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_SMTP_TLS
- name: MCP_EMAIL_SMTP_STARTTLS
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_SMTP_STARTTLS
- name: MCP_EMAIL_SMTP_VERIFY_SSL
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_SMTP_VERIFY_SSL
- name: MCP_EMAIL_SMTP_POOL_ENABLED
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_SMTP_POOL_ENABLED
- name: MCP_EMAIL_SMTP_POOL_MAX_CONNECTIONS
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_SMTP_POOL_MAX_CONNECTIONS
- name: MCP_EMAIL_SMTP_POOL_MAX_MESSAGES
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_SMTP_POOL_MAX_MESSAGES
- name: MCP_EMAIL_OAUTH2_PROVIDER
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_OAUTH2_PROVIDER
- name: MCP_EMAIL_OAUTH2_CLIENT_ID
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_OAUTH2_CLIENT_ID
- name: MCP_EMAIL_OAUTH2_CLIENT_SECRET
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_OAUTH2_CLIENT_SECRET
- name: MCP_EMAIL_OAUTH2_REFRESH_TOKEN
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_OAUTH2_REFRESH_TOKEN
- name: MCP_EMAIL_RATE_LIMIT
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_RATE_LIMIT
- name: MCP_EMAIL_READ_ONLY
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_READ_ONLY
- name: MCP_EMAIL_SAVE_TO_SENT
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_SAVE_TO_SENT
- name: MCP_EMAIL_WATCHER_ENABLED
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_WATCHER_ENABLED
- name: MCP_EMAIL_WATCHER_FOLDERS
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_WATCHER_FOLDERS
- name: MCP_EMAIL_WATCHER_IDLE_TIMEOUT
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_WATCHER_IDLE_TIMEOUT
- name: MCP_EMAIL_HOOK_ON_NEW_EMAIL
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_HOOK_ON_NEW_EMAIL
- name: MCP_EMAIL_HOOK_PRESET
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_HOOK_PRESET
- name: MCP_EMAIL_HOOK_AUTO_LABEL
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_HOOK_AUTO_LABEL
- name: MCP_EMAIL_HOOK_AUTO_FLAG
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_HOOK_AUTO_FLAG
- name: MCP_EMAIL_HOOK_BATCH_DELAY
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_HOOK_BATCH_DELAY
- name: MCP_EMAIL_HOOK_CUSTOM_INSTRUCTIONS
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_HOOK_CUSTOM_INSTRUCTIONS
- name: MCP_EMAIL_ALERT_DESKTOP
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_ALERT_DESKTOP
- name: MCP_EMAIL_ALERT_SOUND
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_ALERT_SOUND
- name: MCP_EMAIL_ALERT_URGENCY_THRESHOLD
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_ALERT_URGENCY_THRESHOLD
- name: MCP_EMAIL_ALERT_WEBHOOK_URL
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_ALERT_WEBHOOK_URL
- name: MCP_EMAIL_ALERT_WEBHOOK_ALLOW_PRIVATE
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_ALERT_WEBHOOK_ALLOW_PRIVATE
- name: MCP_EMAIL_HOOK_AUTO_CALENDAR
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_HOOK_AUTO_CALENDAR
- name: MCP_EMAIL_HOOK_CALENDAR_NAME
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_HOOK_CALENDAR_NAME
- name: MCP_EMAIL_HOOK_CALENDAR_ALARM_MINUTES
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_HOOK_CALENDAR_ALARM_MINUTES
- name: MCP_EMAIL_HOOK_CALENDAR_CONFIRM
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_HOOK_CALENDAR_CONFIRM
- name: MCP_EMAIL_SYSTEM_ONE_ENABLED
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_SYSTEM_ONE_ENABLED
- name: MCP_EMAIL_HTTP_HOST
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_HTTP_HOST
- name: MCP_EMAIL_HTTP_TOKEN
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_HTTP_TOKEN
- name: MCP_EMAIL_HTTP_ALLOWED_HOSTS
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_HTTP_ALLOWED_HOSTS
command:
- sh
- -c
- npx -y supergateway@4 --stdio 'npx -y @bitfloo/[email protected]' --outputTransport streamableHttp
--stateful --host 0.0.0.0 --port 8000 --streamableHttpPath /mcp --healthEndpoint /healthz
readinessProbe:
httpGet:
path: /healthz
port: http
initialDelaySeconds: 10
---
apiVersion: v1
kind: Service
metadata:
name: mailoo
namespace: mcp
spec:
selector:
app: mailoo
ports:
- port: 8000
targetPort: http
name: http
# Generated by Hub for toolset "my-agent" (2026-10-17T22:03:07+00:00).
# Credentials come from the Secret 'mcp-credentials' (kubectl create secret generic ... --from-env-file=.env).
# Each server under `servers` is one Deployment + Service; the keys after it configure
# upstream charts a worker verified.
servers:
mailoo:
enabled: true
replicas: 1
port: 8000
path: /mcp
container:
name: mailoo
image: node:22-alpine
ports:
- containerPort: 8000
name: http
env:
- name: MCP_EMAIL_ADDRESS
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_ADDRESS
- name: MCP_EMAIL_PASSWORD
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_PASSWORD
- name: MCP_EMAIL_IMAP_HOST
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_IMAP_HOST
- name: MCP_EMAIL_SMTP_HOST
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_SMTP_HOST
- name: MCP_EMAIL_ACCOUNT_NAME
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_ACCOUNT_NAME
- name: MCP_EMAIL_FULL_NAME
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_FULL_NAME
- name: MCP_EMAIL_USERNAME
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_USERNAME
- name: MCP_EMAIL_IMAP_PORT
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_IMAP_PORT
- name: MCP_EMAIL_IMAP_TLS
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_IMAP_TLS
- name: MCP_EMAIL_IMAP_STARTTLS
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_IMAP_STARTTLS
- name: MCP_EMAIL_IMAP_VERIFY_SSL
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_IMAP_VERIFY_SSL
- name: MCP_EMAIL_IMAP_DISABLE_IMAP4REV2
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_IMAP_DISABLE_IMAP4REV2
- name: MCP_EMAIL_SIEVE_HOST
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_SIEVE_HOST
- name: MCP_EMAIL_SIEVE_PORT
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_SIEVE_PORT
- name: MCP_EMAIL_SMTP_PORT
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_SMTP_PORT
- name: MCP_EMAIL_SMTP_TLS
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_SMTP_TLS
- name: MCP_EMAIL_SMTP_STARTTLS
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_SMTP_STARTTLS
- name: MCP_EMAIL_SMTP_VERIFY_SSL
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_SMTP_VERIFY_SSL
- name: MCP_EMAIL_SMTP_POOL_ENABLED
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_SMTP_POOL_ENABLED
- name: MCP_EMAIL_SMTP_POOL_MAX_CONNECTIONS
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_SMTP_POOL_MAX_CONNECTIONS
- name: MCP_EMAIL_SMTP_POOL_MAX_MESSAGES
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_SMTP_POOL_MAX_MESSAGES
- name: MCP_EMAIL_OAUTH2_PROVIDER
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_OAUTH2_PROVIDER
- name: MCP_EMAIL_OAUTH2_CLIENT_ID
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_OAUTH2_CLIENT_ID
- name: MCP_EMAIL_OAUTH2_CLIENT_SECRET
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_OAUTH2_CLIENT_SECRET
- name: MCP_EMAIL_OAUTH2_REFRESH_TOKEN
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_OAUTH2_REFRESH_TOKEN
- name: MCP_EMAIL_RATE_LIMIT
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_RATE_LIMIT
- name: MCP_EMAIL_READ_ONLY
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_READ_ONLY
- name: MCP_EMAIL_SAVE_TO_SENT
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_SAVE_TO_SENT
- name: MCP_EMAIL_WATCHER_ENABLED
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_WATCHER_ENABLED
- name: MCP_EMAIL_WATCHER_FOLDERS
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_WATCHER_FOLDERS
- name: MCP_EMAIL_WATCHER_IDLE_TIMEOUT
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_WATCHER_IDLE_TIMEOUT
- name: MCP_EMAIL_HOOK_ON_NEW_EMAIL
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_HOOK_ON_NEW_EMAIL
- name: MCP_EMAIL_HOOK_PRESET
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_HOOK_PRESET
- name: MCP_EMAIL_HOOK_AUTO_LABEL
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_HOOK_AUTO_LABEL
- name: MCP_EMAIL_HOOK_AUTO_FLAG
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_HOOK_AUTO_FLAG
- name: MCP_EMAIL_HOOK_BATCH_DELAY
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_HOOK_BATCH_DELAY
- name: MCP_EMAIL_HOOK_CUSTOM_INSTRUCTIONS
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_HOOK_CUSTOM_INSTRUCTIONS
- name: MCP_EMAIL_ALERT_DESKTOP
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_ALERT_DESKTOP
- name: MCP_EMAIL_ALERT_SOUND
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_ALERT_SOUND
- name: MCP_EMAIL_ALERT_URGENCY_THRESHOLD
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_ALERT_URGENCY_THRESHOLD
- name: MCP_EMAIL_ALERT_WEBHOOK_URL
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_ALERT_WEBHOOK_URL
- name: MCP_EMAIL_ALERT_WEBHOOK_ALLOW_PRIVATE
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_ALERT_WEBHOOK_ALLOW_PRIVATE
- name: MCP_EMAIL_HOOK_AUTO_CALENDAR
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_HOOK_AUTO_CALENDAR
- name: MCP_EMAIL_HOOK_CALENDAR_NAME
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_HOOK_CALENDAR_NAME
- name: MCP_EMAIL_HOOK_CALENDAR_ALARM_MINUTES
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_HOOK_CALENDAR_ALARM_MINUTES
- name: MCP_EMAIL_HOOK_CALENDAR_CONFIRM
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_HOOK_CALENDAR_CONFIRM
- name: MCP_EMAIL_SYSTEM_ONE_ENABLED
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_SYSTEM_ONE_ENABLED
- name: MCP_EMAIL_HTTP_HOST
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_HTTP_HOST
- name: MCP_EMAIL_HTTP_TOKEN
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_HTTP_TOKEN
- name: MCP_EMAIL_HTTP_ALLOWED_HOSTS
valueFrom:
secretKeyRef:
name: mcp-credentials
key: MCP_EMAIL_HTTP_ALLOWED_HOSTS
command:
- sh
- -c
- npx -y supergateway@4 --stdio 'npx -y @bitfloo/[email protected]' --outputTransport streamableHttp
--stateful --host 0.0.0.0 --port 8000 --streamableHttpPath /mcp --healthEndpoint /healthz
readinessProbe:
httpGet:
path: /healthz
port: http
initialDelaySeconds: 10
# helm install my-agent helm/my-agent -n mcp
in the cloud
one click: the provider's deploy form opens filled in, in your own account- koyeb
-
The form opens with CHANGE_ME for each value you supply: MCP_EMAIL_ADDRESS, MCP_EMAIL_PASSWORD, MCP_EMAIL_IMAP_HOST, MCP_EMAIL_SMTP_HOST, MCP_EMAIL_ACCOUNT_NAME, MCP_EMAIL_FULL_NAME, MCP_EMAIL_USERNAME, MCP_EMAIL_IMAP_PORT, MCP_EMAIL_IMAP_TLS, MCP_EMAIL_IMAP_STARTTLS, MCP_EMAIL_IMAP_VERIFY_SSL, MCP_EMAIL_IMAP_DISABLE_IMAP4REV2, MCP_EMAIL_SIEVE_HOST, MCP_EMAIL_SIEVE_PORT, MCP_EMAIL_SMTP_PORT, MCP_EMAIL_SMTP_TLS, MCP_EMAIL_SMTP_STARTTLS, MCP_EMAIL_SMTP_VERIFY_SSL, MCP_EMAIL_SMTP_POOL_ENABLED, MCP_EMAIL_SMTP_POOL_MAX_CONNECTIONS, MCP_EMAIL_SMTP_POOL_MAX_MESSAGES, MCP_EMAIL_OAUTH2_PROVIDER, MCP_EMAIL_OAUTH2_CLIENT_ID, MCP_EMAIL_OAUTH2_CLIENT_SECRET, MCP_EMAIL_OAUTH2_REFRESH_TOKEN, MCP_EMAIL_RATE_LIMIT, MCP_EMAIL_READ_ONLY, MCP_EMAIL_SAVE_TO_SENT, MCP_EMAIL_WATCHER_ENABLED, MCP_EMAIL_WATCHER_FOLDERS, MCP_EMAIL_WATCHER_IDLE_TIMEOUT, MCP_EMAIL_HOOK_ON_NEW_EMAIL, MCP_EMAIL_HOOK_PRESET, MCP_EMAIL_HOOK_AUTO_LABEL, MCP_EMAIL_HOOK_AUTO_FLAG, MCP_EMAIL_HOOK_BATCH_DELAY, MCP_EMAIL_HOOK_CUSTOM_INSTRUCTIONS, MCP_EMAIL_ALERT_DESKTOP, MCP_EMAIL_ALERT_SOUND, MCP_EMAIL_ALERT_URGENCY_THRESHOLD, MCP_EMAIL_ALERT_WEBHOOK_URL, MCP_EMAIL_ALERT_WEBHOOK_ALLOW_PRIVATE, MCP_EMAIL_HOOK_AUTO_CALENDAR, MCP_EMAIL_HOOK_CALENDAR_NAME, MCP_EMAIL_HOOK_CALENDAR_ALARM_MINUTES, MCP_EMAIL_HOOK_CALENDAR_CONFIRM, MCP_EMAIL_SYSTEM_ONE_ENABLED, MCP_EMAIL_HTTP_HOST, MCP_EMAIL_HTTP_TOKEN, MCP_EMAIL_HTTP_ALLOWED_HOSTS. Fill them in before you deploy.
Clients connect to the service's https://…koyeb.app address plus /mcp.
- azure
-
A Container Apps environment with one app per server, each with HTTPS ingress and one replica. The portal asks for each value you supply as a secure parameter; the deployment's outputs list the endpoints.
connect to it
copy what your client needsnpx -y @bitfloo/[email protected] # env: MCP_EMAIL_ADDRESS, MCP_EMAIL_PASSWORD, MCP_EMAIL_IMAP_HOST, MCP_EMAIL_SMTP_HOST, MCP_EMAIL_ACCOUNT_NAME, MCP_EMAIL_FULL_NAME, MCP_EMAIL_USERNAME, MCP_EMAIL_IMAP_PORT, MCP_EMAIL_IMAP_TLS, MCP_EMAIL_IMAP_STARTTLS, MCP_EMAIL_IMAP_VERIFY_SSL, MCP_EMAIL_IMAP_DISABLE_IMAP4REV2, MCP_EMAIL_SIEVE_HOST, MCP_EMAIL_SIEVE_PORT, MCP_EMAIL_SMTP_PORT, MCP_EMAIL_SMTP_TLS, MCP_EMAIL_SMTP_STARTTLS, MCP_EMAIL_SMTP_VERIFY_SSL, MCP_EMAIL_SMTP_POOL_ENABLED, MCP_EMAIL_SMTP_POOL_MAX_CONNECTIONS, MCP_EMAIL_SMTP_POOL_MAX_MESSAGES, MCP_EMAIL_OAUTH2_PROVIDER, MCP_EMAIL_OAUTH2_CLIENT_ID, MCP_EMAIL_OAUTH2_CLIENT_SECRET, MCP_EMAIL_OAUTH2_REFRESH_TOKEN, MCP_EMAIL_RATE_LIMIT, MCP_EMAIL_READ_ONLY, MCP_EMAIL_SAVE_TO_SENT, MCP_EMAIL_WATCHER_ENABLED, MCP_EMAIL_WATCHER_FOLDERS, MCP_EMAIL_WATCHER_IDLE_TIMEOUT, MCP_EMAIL_HOOK_ON_NEW_EMAIL, MCP_EMAIL_HOOK_PRESET, MCP_EMAIL_HOOK_AUTO_LABEL, MCP_EMAIL_HOOK_AUTO_FLAG, MCP_EMAIL_HOOK_BATCH_DELAY, MCP_EMAIL_HOOK_CUSTOM_INSTRUCTIONS, MCP_EMAIL_ALERT_DESKTOP, MCP_EMAIL_ALERT_SOUND, MCP_EMAIL_ALERT_URGENCY_THRESHOLD, MCP_EMAIL_ALERT_WEBHOOK_URL, MCP_EMAIL_ALERT_WEBHOOK_ALLOW_PRIVATE, MCP_EMAIL_HOOK_AUTO_CALENDAR, MCP_EMAIL_HOOK_CALENDAR_NAME, MCP_EMAIL_HOOK_CALENDAR_ALARM_MINUTES, MCP_EMAIL_HOOK_CALENDAR_CONFIRM, MCP_EMAIL_SYSTEM_ONE_ENABLED, MCP_EMAIL_HTTP_HOST, MCP_EMAIL_HTTP_TOKEN, MCP_EMAIL_HTTP_ALLOWED_HOSTS
{
"mcpServers": {
"mailoo": {
"command": "npx",
"args": [
"-y",
"@bitfloo/[email protected]"
],
"env": {
"MCP_EMAIL_ADDRESS": "${MCP_EMAIL_ADDRESS}",
"MCP_EMAIL_PASSWORD": "${MCP_EMAIL_PASSWORD}",
"MCP_EMAIL_IMAP_HOST": "${MCP_EMAIL_IMAP_HOST}",
"MCP_EMAIL_SMTP_HOST": "${MCP_EMAIL_SMTP_HOST}",
"MCP_EMAIL_ACCOUNT_NAME": "${MCP_EMAIL_ACCOUNT_NAME}",
"MCP_EMAIL_FULL_NAME": "${MCP_EMAIL_FULL_NAME}",
"MCP_EMAIL_USERNAME": "${MCP_EMAIL_USERNAME}",
"MCP_EMAIL_IMAP_PORT": "${MCP_EMAIL_IMAP_PORT}",
"MCP_EMAIL_IMAP_TLS": "${MCP_EMAIL_IMAP_TLS}",
"MCP_EMAIL_IMAP_STARTTLS": "${MCP_EMAIL_IMAP_STARTTLS}",
"MCP_EMAIL_IMAP_VERIFY_SSL": "${MCP_EMAIL_IMAP_VERIFY_SSL}",
"MCP_EMAIL_IMAP_DISABLE_IMAP4REV2": "${MCP_EMAIL_IMAP_DISABLE_IMAP4REV2}",
"MCP_EMAIL_SIEVE_HOST": "${MCP_EMAIL_SIEVE_HOST}",
"MCP_EMAIL_SIEVE_PORT": "${MCP_EMAIL_SIEVE_PORT}",
"MCP_EMAIL_SMTP_PORT": "${MCP_EMAIL_SMTP_PORT}",
"MCP_EMAIL_SMTP_TLS": "${MCP_EMAIL_SMTP_TLS}",
"MCP_EMAIL_SMTP_STARTTLS": "${MCP_EMAIL_SMTP_STARTTLS}",
"MCP_EMAIL_SMTP_VERIFY_SSL": "${MCP_EMAIL_SMTP_VERIFY_SSL}",
"MCP_EMAIL_SMTP_POOL_ENABLED": "${MCP_EMAIL_SMTP_POOL_ENABLED}",
"MCP_EMAIL_SMTP_POOL_MAX_CONNECTIONS": "${MCP_EMAIL_SMTP_POOL_MAX_CONNECTIONS}",
"MCP_EMAIL_SMTP_POOL_MAX_MESSAGES": "${MCP_EMAIL_SMTP_POOL_MAX_MESSAGES}",
"MCP_EMAIL_OAUTH2_PROVIDER": "${MCP_EMAIL_OAUTH2_PROVIDER}",
"MCP_EMAIL_OAUTH2_CLIENT_ID": "${MCP_EMAIL_OAUTH2_CLIENT_ID}",
"MCP_EMAIL_OAUTH2_CLIENT_SECRET": "${MCP_EMAIL_OAUTH2_CLIENT_SECRET}",
"MCP_EMAIL_OAUTH2_REFRESH_TOKEN": "${MCP_EMAIL_OAUTH2_REFRESH_TOKEN}",
"MCP_EMAIL_RATE_LIMIT": "${MCP_EMAIL_RATE_LIMIT}",
"MCP_EMAIL_READ_ONLY": "${MCP_EMAIL_READ_ONLY}",
"MCP_EMAIL_SAVE_TO_SENT": "${MCP_EMAIL_SAVE_TO_SENT}",
"MCP_EMAIL_WATCHER_ENABLED": "${MCP_EMAIL_WATCHER_ENABLED}",
"MCP_EMAIL_WATCHER_FOLDERS": "${MCP_EMAIL_WATCHER_FOLDERS}",
"MCP_EMAIL_WATCHER_IDLE_TIMEOUT": "${MCP_EMAIL_WATCHER_IDLE_TIMEOUT}",
"MCP_EMAIL_HOOK_ON_NEW_EMAIL": "${MCP_EMAIL_HOOK_ON_NEW_EMAIL}",
"MCP_EMAIL_HOOK_PRESET": "${MCP_EMAIL_HOOK_PRESET}",
"MCP_EMAIL_HOOK_AUTO_LABEL": "${MCP_EMAIL_HOOK_AUTO_LABEL}",
"MCP_EMAIL_HOOK_AUTO_FLAG": "${MCP_EMAIL_HOOK_AUTO_FLAG}",
"MCP_EMAIL_HOOK_BATCH_DELAY": "${MCP_EMAIL_HOOK_BATCH_DELAY}",
"MCP_EMAIL_HOOK_CUSTOM_INSTRUCTIONS": "${MCP_EMAIL_HOOK_CUSTOM_INSTRUCTIONS}",
"MCP_EMAIL_ALERT_DESKTOP": "${MCP_EMAIL_ALERT_DESKTOP}",
"MCP_EMAIL_ALERT_SOUND": "${MCP_EMAIL_ALERT_SOUND}",
"MCP_EMAIL_ALERT_URGENCY_THRESHOLD": "${MCP_EMAIL_ALERT_URGENCY_THRESHOLD}",
"MCP_EMAIL_ALERT_WEBHOOK_URL": "${MCP_EMAIL_ALERT_WEBHOOK_URL}",
"MCP_EMAIL_ALERT_WEBHOOK_ALLOW_PRIVATE": "${MCP_EMAIL_ALERT_WEBHOOK_ALLOW_PRIVATE}",
"MCP_EMAIL_HOOK_AUTO_CALENDAR": "${MCP_EMAIL_HOOK_AUTO_CALENDAR}",
"MCP_EMAIL_HOOK_CALENDAR_NAME": "${MCP_EMAIL_HOOK_CALENDAR_NAME}",
"MCP_EMAIL_HOOK_CALENDAR_ALARM_MINUTES": "${MCP_EMAIL_HOOK_CALENDAR_ALARM_MINUTES}",
"MCP_EMAIL_HOOK_CALENDAR_CONFIRM": "${MCP_EMAIL_HOOK_CALENDAR_CONFIRM}",
"MCP_EMAIL_SYSTEM_ONE_ENABLED": "${MCP_EMAIL_SYSTEM_ONE_ENABLED}",
"MCP_EMAIL_HTTP_HOST": "${MCP_EMAIL_HTTP_HOST}",
"MCP_EMAIL_HTTP_TOKEN": "${MCP_EMAIL_HTTP_TOKEN}",
"MCP_EMAIL_HTTP_ALLOWED_HOSTS": "${MCP_EMAIL_HTTP_ALLOWED_HOSTS}"
}
}
}
}
#!/usr/bin/env bash
# Registers every server with Claude Code (run once; `claude mcp list` to check).
set -euo pipefail
set -a; [ -f .env ] && source .env; set +a
claude mcp add mailoo -e "MCP_EMAIL_ADDRESS=${MCP_EMAIL_ADDRESS}" -e "MCP_EMAIL_PASSWORD=${MCP_EMAIL_PASSWORD}" -e "MCP_EMAIL_IMAP_HOST=${MCP_EMAIL_IMAP_HOST}" -e "MCP_EMAIL_SMTP_HOST=${MCP_EMAIL_SMTP_HOST}" -e "MCP_EMAIL_ACCOUNT_NAME=${MCP_EMAIL_ACCOUNT_NAME}" -e "MCP_EMAIL_FULL_NAME=${MCP_EMAIL_FULL_NAME}" -e "MCP_EMAIL_USERNAME=${MCP_EMAIL_USERNAME}" -e "MCP_EMAIL_IMAP_PORT=${MCP_EMAIL_IMAP_PORT}" -e "MCP_EMAIL_IMAP_TLS=${MCP_EMAIL_IMAP_TLS}" -e "MCP_EMAIL_IMAP_STARTTLS=${MCP_EMAIL_IMAP_STARTTLS}" -e "MCP_EMAIL_IMAP_VERIFY_SSL=${MCP_EMAIL_IMAP_VERIFY_SSL}" -e "MCP_EMAIL_IMAP_DISABLE_IMAP4REV2=${MCP_EMAIL_IMAP_DISABLE_IMAP4REV2}" -e "MCP_EMAIL_SIEVE_HOST=${MCP_EMAIL_SIEVE_HOST}" -e "MCP_EMAIL_SIEVE_PORT=${MCP_EMAIL_SIEVE_PORT}" -e "MCP_EMAIL_SMTP_PORT=${MCP_EMAIL_SMTP_PORT}" -e "MCP_EMAIL_SMTP_TLS=${MCP_EMAIL_SMTP_TLS}" -e "MCP_EMAIL_SMTP_STARTTLS=${MCP_EMAIL_SMTP_STARTTLS}" -e "MCP_EMAIL_SMTP_VERIFY_SSL=${MCP_EMAIL_SMTP_VERIFY_SSL}" -e "MCP_EMAIL_SMTP_POOL_ENABLED=${MCP_EMAIL_SMTP_POOL_ENABLED}" -e "MCP_EMAIL_SMTP_POOL_MAX_CONNECTIONS=${MCP_EMAIL_SMTP_POOL_MAX_CONNECTIONS}" -e "MCP_EMAIL_SMTP_POOL_MAX_MESSAGES=${MCP_EMAIL_SMTP_POOL_MAX_MESSAGES}" -e "MCP_EMAIL_OAUTH2_PROVIDER=${MCP_EMAIL_OAUTH2_PROVIDER}" -e "MCP_EMAIL_OAUTH2_CLIENT_ID=${MCP_EMAIL_OAUTH2_CLIENT_ID}" -e "MCP_EMAIL_OAUTH2_CLIENT_SECRET=${MCP_EMAIL_OAUTH2_CLIENT_SECRET}" -e "MCP_EMAIL_OAUTH2_REFRESH_TOKEN=${MCP_EMAIL_OAUTH2_REFRESH_TOKEN}" -e "MCP_EMAIL_RATE_LIMIT=${MCP_EMAIL_RATE_LIMIT}" -e "MCP_EMAIL_READ_ONLY=${MCP_EMAIL_READ_ONLY}" -e "MCP_EMAIL_SAVE_TO_SENT=${MCP_EMAIL_SAVE_TO_SENT}" -e "MCP_EMAIL_WATCHER_ENABLED=${MCP_EMAIL_WATCHER_ENABLED}" -e "MCP_EMAIL_WATCHER_FOLDERS=${MCP_EMAIL_WATCHER_FOLDERS}" -e "MCP_EMAIL_WATCHER_IDLE_TIMEOUT=${MCP_EMAIL_WATCHER_IDLE_TIMEOUT}" -e "MCP_EMAIL_HOOK_ON_NEW_EMAIL=${MCP_EMAIL_HOOK_ON_NEW_EMAIL}" -e "MCP_EMAIL_HOOK_PRESET=${MCP_EMAIL_HOOK_PRESET}" -e "MCP_EMAIL_HOOK_AUTO_LABEL=${MCP_EMAIL_HOOK_AUTO_LABEL}" -e "MCP_EMAIL_HOOK_AUTO_FLAG=${MCP_EMAIL_HOOK_AUTO_FLAG}" -e "MCP_EMAIL_HOOK_BATCH_DELAY=${MCP_EMAIL_HOOK_BATCH_DELAY}" -e "MCP_EMAIL_HOOK_CUSTOM_INSTRUCTIONS=${MCP_EMAIL_HOOK_CUSTOM_INSTRUCTIONS}" -e "MCP_EMAIL_ALERT_DESKTOP=${MCP_EMAIL_ALERT_DESKTOP}" -e "MCP_EMAIL_ALERT_SOUND=${MCP_EMAIL_ALERT_SOUND}" -e "MCP_EMAIL_ALERT_URGENCY_THRESHOLD=${MCP_EMAIL_ALERT_URGENCY_THRESHOLD}" -e "MCP_EMAIL_ALERT_WEBHOOK_URL=${MCP_EMAIL_ALERT_WEBHOOK_URL}" -e "MCP_EMAIL_ALERT_WEBHOOK_ALLOW_PRIVATE=${MCP_EMAIL_ALERT_WEBHOOK_ALLOW_PRIVATE}" -e "MCP_EMAIL_HOOK_AUTO_CALENDAR=${MCP_EMAIL_HOOK_AUTO_CALENDAR}" -e "MCP_EMAIL_HOOK_CALENDAR_NAME=${MCP_EMAIL_HOOK_CALENDAR_NAME}" -e "MCP_EMAIL_HOOK_CALENDAR_ALARM_MINUTES=${MCP_EMAIL_HOOK_CALENDAR_ALARM_MINUTES}" -e "MCP_EMAIL_HOOK_CALENDAR_CONFIRM=${MCP_EMAIL_HOOK_CALENDAR_CONFIRM}" -e "MCP_EMAIL_SYSTEM_ONE_ENABLED=${MCP_EMAIL_SYSTEM_ONE_ENABLED}" -e "MCP_EMAIL_HTTP_HOST=${MCP_EMAIL_HTTP_HOST}" -e "MCP_EMAIL_HTTP_TOKEN=${MCP_EMAIL_HTTP_TOKEN}" -e "MCP_EMAIL_HTTP_ALLOWED_HOSTS=${MCP_EMAIL_HTTP_ALLOWED_HOSTS}" -- npx -y @bitfloo/[email protected]
{
"mcpServers": {
"mailoo": {
"command": "npx",
"args": [
"-y",
"@bitfloo/[email protected]"
],
"env": {
"MCP_EMAIL_ADDRESS": "${MCP_EMAIL_ADDRESS}",
"MCP_EMAIL_PASSWORD": "${MCP_EMAIL_PASSWORD}",
"MCP_EMAIL_IMAP_HOST": "${MCP_EMAIL_IMAP_HOST}",
"MCP_EMAIL_SMTP_HOST": "${MCP_EMAIL_SMTP_HOST}",
"MCP_EMAIL_ACCOUNT_NAME": "${MCP_EMAIL_ACCOUNT_NAME}",
"MCP_EMAIL_FULL_NAME": "${MCP_EMAIL_FULL_NAME}",
"MCP_EMAIL_USERNAME": "${MCP_EMAIL_USERNAME}",
"MCP_EMAIL_IMAP_PORT": "${MCP_EMAIL_IMAP_PORT}",
"MCP_EMAIL_IMAP_TLS": "${MCP_EMAIL_IMAP_TLS}",
"MCP_EMAIL_IMAP_STARTTLS": "${MCP_EMAIL_IMAP_STARTTLS}",
"MCP_EMAIL_IMAP_VERIFY_SSL": "${MCP_EMAIL_IMAP_VERIFY_SSL}",
"MCP_EMAIL_IMAP_DISABLE_IMAP4REV2": "${MCP_EMAIL_IMAP_DISABLE_IMAP4REV2}",
"MCP_EMAIL_SIEVE_HOST": "${MCP_EMAIL_SIEVE_HOST}",
"MCP_EMAIL_SIEVE_PORT": "${MCP_EMAIL_SIEVE_PORT}",
"MCP_EMAIL_SMTP_PORT": "${MCP_EMAIL_SMTP_PORT}",
"MCP_EMAIL_SMTP_TLS": "${MCP_EMAIL_SMTP_TLS}",
"MCP_EMAIL_SMTP_STARTTLS": "${MCP_EMAIL_SMTP_STARTTLS}",
"MCP_EMAIL_SMTP_VERIFY_SSL": "${MCP_EMAIL_SMTP_VERIFY_SSL}",
"MCP_EMAIL_SMTP_POOL_ENABLED": "${MCP_EMAIL_SMTP_POOL_ENABLED}",
"MCP_EMAIL_SMTP_POOL_MAX_CONNECTIONS": "${MCP_EMAIL_SMTP_POOL_MAX_CONNECTIONS}",
"MCP_EMAIL_SMTP_POOL_MAX_MESSAGES": "${MCP_EMAIL_SMTP_POOL_MAX_MESSAGES}",
"MCP_EMAIL_OAUTH2_PROVIDER": "${MCP_EMAIL_OAUTH2_PROVIDER}",
"MCP_EMAIL_OAUTH2_CLIENT_ID": "${MCP_EMAIL_OAUTH2_CLIENT_ID}",
"MCP_EMAIL_OAUTH2_CLIENT_SECRET": "${MCP_EMAIL_OAUTH2_CLIENT_SECRET}",
"MCP_EMAIL_OAUTH2_REFRESH_TOKEN": "${MCP_EMAIL_OAUTH2_REFRESH_TOKEN}",
"MCP_EMAIL_RATE_LIMIT": "${MCP_EMAIL_RATE_LIMIT}",
"MCP_EMAIL_READ_ONLY": "${MCP_EMAIL_READ_ONLY}",
"MCP_EMAIL_SAVE_TO_SENT": "${MCP_EMAIL_SAVE_TO_SENT}",
"MCP_EMAIL_WATCHER_ENABLED": "${MCP_EMAIL_WATCHER_ENABLED}",
"MCP_EMAIL_WATCHER_FOLDERS": "${MCP_EMAIL_WATCHER_FOLDERS}",
"MCP_EMAIL_WATCHER_IDLE_TIMEOUT": "${MCP_EMAIL_WATCHER_IDLE_TIMEOUT}",
"MCP_EMAIL_HOOK_ON_NEW_EMAIL": "${MCP_EMAIL_HOOK_ON_NEW_EMAIL}",
"MCP_EMAIL_HOOK_PRESET": "${MCP_EMAIL_HOOK_PRESET}",
"MCP_EMAIL_HOOK_AUTO_LABEL": "${MCP_EMAIL_HOOK_AUTO_LABEL}",
"MCP_EMAIL_HOOK_AUTO_FLAG": "${MCP_EMAIL_HOOK_AUTO_FLAG}",
"MCP_EMAIL_HOOK_BATCH_DELAY": "${MCP_EMAIL_HOOK_BATCH_DELAY}",
"MCP_EMAIL_HOOK_CUSTOM_INSTRUCTIONS": "${MCP_EMAIL_HOOK_CUSTOM_INSTRUCTIONS}",
"MCP_EMAIL_ALERT_DESKTOP": "${MCP_EMAIL_ALERT_DESKTOP}",
"MCP_EMAIL_ALERT_SOUND": "${MCP_EMAIL_ALERT_SOUND}",
"MCP_EMAIL_ALERT_URGENCY_THRESHOLD": "${MCP_EMAIL_ALERT_URGENCY_THRESHOLD}",
"MCP_EMAIL_ALERT_WEBHOOK_URL": "${MCP_EMAIL_ALERT_WEBHOOK_URL}",
"MCP_EMAIL_ALERT_WEBHOOK_ALLOW_PRIVATE": "${MCP_EMAIL_ALERT_WEBHOOK_ALLOW_PRIVATE}",
"MCP_EMAIL_HOOK_AUTO_CALENDAR": "${MCP_EMAIL_HOOK_AUTO_CALENDAR}",
"MCP_EMAIL_HOOK_CALENDAR_NAME": "${MCP_EMAIL_HOOK_CALENDAR_NAME}",
"MCP_EMAIL_HOOK_CALENDAR_ALARM_MINUTES": "${MCP_EMAIL_HOOK_CALENDAR_ALARM_MINUTES}",
"MCP_EMAIL_HOOK_CALENDAR_CONFIRM": "${MCP_EMAIL_HOOK_CALENDAR_CONFIRM}",
"MCP_EMAIL_SYSTEM_ONE_ENABLED": "${MCP_EMAIL_SYSTEM_ONE_ENABLED}",
"MCP_EMAIL_HTTP_HOST": "${MCP_EMAIL_HTTP_HOST}",
"MCP_EMAIL_HTTP_TOKEN": "${MCP_EMAIL_HTTP_TOKEN}",
"MCP_EMAIL_HTTP_ALLOWED_HOSTS": "${MCP_EMAIL_HTTP_ALLOWED_HOSTS}"
}
}
}
}
{
"servers": {
"mailoo": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@bitfloo/[email protected]"
],
"env": {
"MCP_EMAIL_ADDRESS": "${MCP_EMAIL_ADDRESS}",
"MCP_EMAIL_PASSWORD": "${MCP_EMAIL_PASSWORD}",
"MCP_EMAIL_IMAP_HOST": "${MCP_EMAIL_IMAP_HOST}",
"MCP_EMAIL_SMTP_HOST": "${MCP_EMAIL_SMTP_HOST}",
"MCP_EMAIL_ACCOUNT_NAME": "${MCP_EMAIL_ACCOUNT_NAME}",
"MCP_EMAIL_FULL_NAME": "${MCP_EMAIL_FULL_NAME}",
"MCP_EMAIL_USERNAME": "${MCP_EMAIL_USERNAME}",
"MCP_EMAIL_IMAP_PORT": "${MCP_EMAIL_IMAP_PORT}",
"MCP_EMAIL_IMAP_TLS": "${MCP_EMAIL_IMAP_TLS}",
"MCP_EMAIL_IMAP_STARTTLS": "${MCP_EMAIL_IMAP_STARTTLS}",
"MCP_EMAIL_IMAP_VERIFY_SSL": "${MCP_EMAIL_IMAP_VERIFY_SSL}",
"MCP_EMAIL_IMAP_DISABLE_IMAP4REV2": "${MCP_EMAIL_IMAP_DISABLE_IMAP4REV2}",
"MCP_EMAIL_SIEVE_HOST": "${MCP_EMAIL_SIEVE_HOST}",
"MCP_EMAIL_SIEVE_PORT": "${MCP_EMAIL_SIEVE_PORT}",
"MCP_EMAIL_SMTP_PORT": "${MCP_EMAIL_SMTP_PORT}",
"MCP_EMAIL_SMTP_TLS": "${MCP_EMAIL_SMTP_TLS}",
"MCP_EMAIL_SMTP_STARTTLS": "${MCP_EMAIL_SMTP_STARTTLS}",
"MCP_EMAIL_SMTP_VERIFY_SSL": "${MCP_EMAIL_SMTP_VERIFY_SSL}",
"MCP_EMAIL_SMTP_POOL_ENABLED": "${MCP_EMAIL_SMTP_POOL_ENABLED}",
"MCP_EMAIL_SMTP_POOL_MAX_CONNECTIONS": "${MCP_EMAIL_SMTP_POOL_MAX_CONNECTIONS}",
"MCP_EMAIL_SMTP_POOL_MAX_MESSAGES": "${MCP_EMAIL_SMTP_POOL_MAX_MESSAGES}",
"MCP_EMAIL_OAUTH2_PROVIDER": "${MCP_EMAIL_OAUTH2_PROVIDER}",
"MCP_EMAIL_OAUTH2_CLIENT_ID": "${MCP_EMAIL_OAUTH2_CLIENT_ID}",
"MCP_EMAIL_OAUTH2_CLIENT_SECRET": "${MCP_EMAIL_OAUTH2_CLIENT_SECRET}",
"MCP_EMAIL_OAUTH2_REFRESH_TOKEN": "${MCP_EMAIL_OAUTH2_REFRESH_TOKEN}",
"MCP_EMAIL_RATE_LIMIT": "${MCP_EMAIL_RATE_LIMIT}",
"MCP_EMAIL_READ_ONLY": "${MCP_EMAIL_READ_ONLY}",
"MCP_EMAIL_SAVE_TO_SENT": "${MCP_EMAIL_SAVE_TO_SENT}",
"MCP_EMAIL_WATCHER_ENABLED": "${MCP_EMAIL_WATCHER_ENABLED}",
"MCP_EMAIL_WATCHER_FOLDERS": "${MCP_EMAIL_WATCHER_FOLDERS}",
"MCP_EMAIL_WATCHER_IDLE_TIMEOUT": "${MCP_EMAIL_WATCHER_IDLE_TIMEOUT}",
"MCP_EMAIL_HOOK_ON_NEW_EMAIL": "${MCP_EMAIL_HOOK_ON_NEW_EMAIL}",
"MCP_EMAIL_HOOK_PRESET": "${MCP_EMAIL_HOOK_PRESET}",
"MCP_EMAIL_HOOK_AUTO_LABEL": "${MCP_EMAIL_HOOK_AUTO_LABEL}",
"MCP_EMAIL_HOOK_AUTO_FLAG": "${MCP_EMAIL_HOOK_AUTO_FLAG}",
"MCP_EMAIL_HOOK_BATCH_DELAY": "${MCP_EMAIL_HOOK_BATCH_DELAY}",
"MCP_EMAIL_HOOK_CUSTOM_INSTRUCTIONS": "${MCP_EMAIL_HOOK_CUSTOM_INSTRUCTIONS}",
"MCP_EMAIL_ALERT_DESKTOP": "${MCP_EMAIL_ALERT_DESKTOP}",
"MCP_EMAIL_ALERT_SOUND": "${MCP_EMAIL_ALERT_SOUND}",
"MCP_EMAIL_ALERT_URGENCY_THRESHOLD": "${MCP_EMAIL_ALERT_URGENCY_THRESHOLD}",
"MCP_EMAIL_ALERT_WEBHOOK_URL": "${MCP_EMAIL_ALERT_WEBHOOK_URL}",
"MCP_EMAIL_ALERT_WEBHOOK_ALLOW_PRIVATE": "${MCP_EMAIL_ALERT_WEBHOOK_ALLOW_PRIVATE}",
"MCP_EMAIL_HOOK_AUTO_CALENDAR": "${MCP_EMAIL_HOOK_AUTO_CALENDAR}",
"MCP_EMAIL_HOOK_CALENDAR_NAME": "${MCP_EMAIL_HOOK_CALENDAR_NAME}",
"MCP_EMAIL_HOOK_CALENDAR_ALARM_MINUTES": "${MCP_EMAIL_HOOK_CALENDAR_ALARM_MINUTES}",
"MCP_EMAIL_HOOK_CALENDAR_CONFIRM": "${MCP_EMAIL_HOOK_CALENDAR_CONFIRM}",
"MCP_EMAIL_SYSTEM_ONE_ENABLED": "${MCP_EMAIL_SYSTEM_ONE_ENABLED}",
"MCP_EMAIL_HTTP_HOST": "${MCP_EMAIL_HTTP_HOST}",
"MCP_EMAIL_HTTP_TOKEN": "${MCP_EMAIL_HTTP_TOKEN}",
"MCP_EMAIL_HTTP_ALLOWED_HOSTS": "${MCP_EMAIL_HTTP_ALLOWED_HOSTS}"
}
}
}
}
name: my-agent target: local servers: - hub: io.github.Bitfloo/mailoo
- not probed yet: tools unpinned, ingest lists them
tools
runs · 1
the latest tests of this entry by the hub and its workers, newest first| date | worker | method | status | sandbox | reason |
|---|---|---|---|---|---|
| 2026-10-17 11:24 | local-mac-vm | docker | failed | gvisor | docker: no MCP server found (:8000/mcp: HTTP 404: MCPError: MCP server process failed; :8000/: HTTP 404: MCPError: Not Found) }, { "expected": "number", "code":… |