<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Fastmail MCP Server</title>
<style>
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
line-height: 1.6;
color: #333;
max-width: 800px;
margin: 0 auto;
padding: 2rem;
background: #f9fafb;
}
h1 { color: #1a1a2e; margin-bottom: 0.5rem; }
.subtitle { color: #666; margin-bottom: 2rem; font-size: 1.1rem; }
h2 { color: #1a1a2e; margin: 2rem 0 1rem; border-bottom: 2px solid #e5e7eb; padding-bottom: 0.5rem; }
h3 { color: #374151; margin: 1.5rem 0 0.75rem; }
p { margin-bottom: 1rem; }
code {
background: #e5e7eb;
padding: 0.2rem 0.4rem;
border-radius: 4px;
font-family: 'SF Mono', Monaco, 'Courier New', monospace;
font-size: 0.9rem;
}
pre {
background: #1a1a2e;
color: #e5e7eb;
padding: 1rem;
border-radius: 8px;
overflow-x: auto;
margin: 1rem 0;
}
pre code { background: none; padding: 0; color: inherit; }
.warning {
background: #fef3c7;
border-left: 4px solid #f59e0b;
padding: 1rem;
margin: 1rem 0;
border-radius: 0 8px 8px 0;
}
.tools-list {
display: grid;
gap: 1rem;
margin: 1rem 0;
}
.tool {
background: white;
border: 1px solid #e5e7eb;
border-radius: 8px;
padding: 1rem;
}
.tool-name { font-weight: 600; color: #1a1a2e; }
.tool-desc { color: #666; font-size: 0.95rem; margin-top: 0.25rem; }
a { color: #2563eb; }
footer { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid #e5e7eb; color: #666; font-size: 0.9rem; }
</style>
</head>
<body>
<h1>Fastmail MCP Server</h1>
<p class="subtitle">Unofficial Model Context Protocol server for Fastmail integration</p>
<h2>Setup Instructions</h2>
<h3>1. Get Your Fastmail API Token</h3>
<ol style="margin-left: 1.5rem; margin-bottom: 1rem;">
<li>Log in to <a href="https://www.fastmail.com" target="_blank">Fastmail</a></li>
<li>Go to <strong>Settings</strong> → <strong>Privacy & Security</strong> → <strong>API tokens</strong></li>
<li>Click <strong>New API token</strong></li>
<li>Give it a name (e.g., "Claude MCP")</li>
<li>Select the required scopes: <code>Mail</code> (read/write as needed)</li>
<li>Copy the generated token</li>
</ol>
<h3>2. Configure Claude Code</h3>
<p>Add the following to your Claude Code MCP settings (<code>~/.claude/claude_desktop_config.json</code> or project <code>.mcp.json</code>):</p>
<pre><code>{
"mcpServers": {
"fastmail": {
"type": "url",
"url": "https://fastmail-mcp.vercel.app/mcp",
"headers": {
"Authorization": "Bearer YOUR_FASTMAIL_API_TOKEN"
}
}
}
}</code></pre>
<div class="warning">
<strong>Security Note:</strong> Keep your API token secure. Never commit it to version control. Consider using environment variables or a secrets manager.
</div>
<h2>Available Tools</h2>
<div class="tools-list">
<div class="tool">
<div class="tool-name">mailbox_get</div>
<div class="tool-desc">Get mailbox information (folders) - list all mailboxes or get specific ones by ID</div>
</div>
<div class="tool">
<div class="tool-name">email_query</div>
<div class="tool-desc">Query emails with filters and sorting</div>
</div>
<div class="tool">
<div class="tool-name">email_get</div>
<div class="tool-desc">Get specific emails by their IDs</div>
</div>
<div class="tool">
<div class="tool-name">email_send</div>
<div class="tool-desc">Send emails with support for plain text, HTML, or both</div>
</div>
<div class="tool">
<div class="tool-name">email_set</div>
<div class="tool-desc">Update emails: move to a mailbox and/or set flags (read/unread, flagged, answered, draft)</div>
</div>
</div>
<h2>API Endpoints</h2>
<ul style="margin-left: 1.5rem;">
<li><code>POST /mcp</code> - MCP protocol endpoint</li>
<li><code>GET /health</code> - Health check endpoint</li>
</ul>
<footer>
<p>This is an unofficial community project and is not affiliated with Fastmail.</p>
<p>Source code and issues: <a href="https://github.com/nicobrinkkemper/fastmail-mcp" target="_blank">GitHub</a></p>
</footer>
</body>
</html>