IMAP mailbox for VS Code
io.github.ni-c/imap-mcp
Read, search and organise any IMAP mailbox, with writes off by default
client:VS Code
transport:stdio
runtime:npm
Install IMAP mailbox in VS Code
.vscode/mcp.json
{
"inputs": [
{
"type": "promptString",
"id": "imap-host",
"description": "IMAP_HOST",
"password": true
},
{
"type": "promptString",
"id": "imap-user",
"description": "IMAP_USER",
"password": true
},
{
"type": "promptString",
"id": "imap-password",
"description": "IMAP_PASSWORD",
"password": true
},
{
"type": "promptString",
"id": "imap-port",
"description": "IMAP_PORT",
"password": true
},
{
"type": "promptString",
"id": "imap-tls",
"description": "IMAP_TLS",
"password": true
},
{
"type": "promptString",
"id": "imap-mailbox",
"description": "IMAP_MAILBOX",
"password": true
},
{
"type": "promptString",
"id": "imap-seen-keyword",
"description": "IMAP_SEEN_KEYWORD",
"password": true
},
{
"type": "promptString",
"id": "imap-read-only",
"description": "IMAP_READ_ONLY",
"password": true
},
{
"type": "promptString",
"id": "imap-allow-tools",
"description": "IMAP_ALLOW_TOOLS",
"password": true
},
{
"type": "promptString",
"id": "imap-deny-tools",
"description": "IMAP_DENY_TOOLS",
"password": true
},
{
"type": "promptString",
"id": "imap-download-dir",
"description": "IMAP_DOWNLOAD_DIR",
"password": true
},
{
"type": "promptString",
"id": "imap-insecure-tls",
"description": "IMAP_INSECURE_TLS",
"password": true
},
{
"type": "promptString",
"id": "imap-drafts-mailbox",
"description": "IMAP_DRAFTS_MAILBOX",
"password": true
},
{
"type": "promptString",
"id": "imap-max-messages",
"description": "IMAP_MAX_MESSAGES",
"password": true
},
{
"type": "promptString",
"id": "imap-max-attachment-bytes",
"description": "IMAP_MAX_ATTACHMENT_BYTES",
"password": true
},
{
"type": "promptString",
"id": "imap-max-download-bytes",
"description": "IMAP_MAX_DOWNLOAD_BYTES",
"password": true
},
{
"type": "promptString",
"id": "imap-max-extract-bytes",
"description": "IMAP_MAX_EXTRACT_BYTES",
"password": true
},
{
"type": "promptString",
"id": "imap-attachment-types",
"description": "IMAP_ATTACHMENT_TYPES",
"password": true
},
{
"type": "promptString",
"id": "imap-trusted-authserv-id",
"description": "IMAP_TRUSTED_AUTHSERV_ID",
"password": true
}
],
"servers": {
"imap-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@ni-c/imap-mcp"
],
"env": {
"IMAP_HOST": "${input:imap-host}",
"IMAP_USER": "${input:imap-user}",
"IMAP_PASSWORD": "${input:imap-password}",
"IMAP_PORT": "${input:imap-port}",
"IMAP_TLS": "${input:imap-tls}",
"IMAP_MAILBOX": "${input:imap-mailbox}",
"IMAP_SEEN_KEYWORD": "${input:imap-seen-keyword}",
"IMAP_READ_ONLY": "${input:imap-read-only}",
"IMAP_ALLOW_TOOLS": "${input:imap-allow-tools}",
"IMAP_DENY_TOOLS": "${input:imap-deny-tools}",
"IMAP_DOWNLOAD_DIR": "${input:imap-download-dir}",
"IMAP_INSECURE_TLS": "${input:imap-insecure-tls}",
"IMAP_DRAFTS_MAILBOX": "${input:imap-drafts-mailbox}",
"IMAP_MAX_MESSAGES": "${input:imap-max-messages}",
"IMAP_MAX_ATTACHMENT_BYTES": "${input:imap-max-attachment-bytes}",
"IMAP_MAX_DOWNLOAD_BYTES": "${input:imap-max-download-bytes}",
"IMAP_MAX_EXTRACT_BYTES": "${input:imap-max-extract-bytes}",
"IMAP_ATTACHMENT_TYPES": "${input:imap-attachment-types}",
"IMAP_TRUSTED_AUTHSERV_ID": "${input:imap-trusted-authserv-id}"
}
}
}
}
VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs