
wyattjoh/jmap-mcp
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
wyattjoh/jmap-mcp — это кандидат на MCP-сервер, импортированный из https://github.com/wyattjoh/jmap-mcp.
Обзор
wyattjoh/jmap-mcp — это кандидат на MCP-сервер, импортированный из https://github.com/wyattjoh/jmap-mcp.
Обзор (машинный перевод)
Рабочее пространство Deno, содержащее функциональный клиент электронной почты JMAP и Model Context Сервер протокола (MCP), построенный на нём. Клиентский пакет использует jmap-jam для доступа к протоколу JMAP; пакет MCP адаптирует эти типизированные операции в инструменты.
Особенности
Инструменты управления электронной почтой
- Поиск по электронной почте: Поиск по письмам с текстовыми запросами, фильтрами отправителя/получателя, Диапазоны дат и ключевые слова. Все фильтры объединены И вместе.
- Получить электронные письма: Получить конкретные письма по ID с настраиваемым свойством Выбор
- Получить Threads: Получить потоки электронной почты (цепочки переписок)
- Отметить письма: Отметить письма как прочитанные/непрочитанные, помеченные/неотмеченные
- Переместить письма: Переместить письма в один почтовый ящик
- Патчить почтовые ящики: Добавить или удалить выбранные почтовые ящики во время сохранение неуточнённого членства
- Удалить письма: Удалить письма навсегда
Управление почтовыми ящиками
- Получить почтовые ящики: Перечислить все почтовые ящики/папки с поддержкой иерархии. Используйте это чтобы находить идентификаторы почтовых ящиков, необходимые другим инструментам.
Постепенная синхронизация
- Получить изменения в электронной почте: Получить ID писем, созданных, обновлённых или уничтоженных с тех пор Предыдущий штат (отслеживание дельты на основе штата)
Эта страница переведена автоматически. Технические детали смотрите в оригинале.
README
Показан фрагмент оригинального README. Открыть оригинал.
JMAP MCP Server
A Deno workspace containing a functional JMAP email client and a Model Context Protocol (MCP) server built on top of it. The client package uses jmap-jam for JMAP protocol access; the MCP package adapts those typed operations into tools.
Features
Email Management Tools
- Search Emails: Search emails with text queries, sender/recipient filters, date ranges, and keywords. All filters are AND’d together.
- Get Emails: Retrieve specific emails by ID with configurable property selection
- Get Threads: Retrieve email threads (conversation chains)
- Mark Emails: Mark emails as read/unread, flagged/unflagged
- Move Emails: Move emails to one mailbox
- Patch Email Mailboxes: Add or remove selected mailbox memberships while preserving unspecified memberships
- Delete Emails: Delete emails permanently
Mailbox Management
- Get Mailboxes: List all mailboxes/folders with hierarchy support. Use this to find mailbox IDs needed by other tools.
Incremental Sync
- Get Email Changes: Get IDs of emails created, updated, or destroyed since a previous state (state-based delta tracking)
- Get Search Updates: Get additions/removals within a previous search query since its last queryState
Email Composition
- Send Email: Compose and send new emails with support for plain text and HTML
- Reply to Email: Reply to existing emails with automatic header handling and reply-all support
Key Capabilities
- Full JMAP RFC 8620/8621 compliance via jmap-jam
- Comprehensive input validation with Zod schemas
- Pagination support for all list operations
- State-based incremental sync for efficient polling
- Rich error handling and connection management
- Capability-based tool registration (read-only, submission)
- TypeScript support with strong typing
Reusable JMAP Client
Standalone applications can import @wyattjoh/jmap without creating an MCP
server or transport:
import { connectJmap, searchEmails } from "jsr:@wyattjoh/jmap";
const connection = await connectJmap({
sessionUrl: Deno.env.get("JMAP_SESSION_URL")!,
bearerToken: Deno.env.get("JMAP_BEARER_TOKEN")!,
accountId: Deno.env.get("JMAP_ACCOUNT_ID"),
});
const unread = await searchEmails(connection, {
filter: { inMailbox: "inbox-id", notKeyword: "$seen" },
limit: 50,
position: 0,
});
See packages/jmap/README.md for the client package.
Installation
Claude Code Plugin (Recommended)
Install via the plugin marketplace:
Установка
This server does not publish a one-line install command.
Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →Конфигурация
{
"mcpServers": {
"jmap": {
"type": "stdio",
"command": "deno",
"args": [
"run",
"--allow-net=api.fastmail.com",
"--allow-env=JMAP_SESSION_URL,JMAP_BEARER_TOKEN,JMAP_ACCOUNT_ID",
"jsr:@wyattjoh/[email protected]"
],
"env": {
"JMAP_SESSION_URL": "https://api.fastmail.com/jmap/session",
"JMAP_BEARER_TOKEN": "YOUR_API_TOKEN"
}
}
}
}