WJ

wyattjoh/jmap-mcp

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

178 stars 32 forks 品質 75 トレンド 31MIT

wyattjoh/jmap-mcpは、https://github.com/wyattjoh/jmap-mcp.からインポートされたMCPサーバー候補です。

概要

wyattjoh/jmap-mcpは、https://github.com/wyattjoh/jmap-mcp.からインポートされたMCPサーバー候補です。

概要(AI 翻訳)

機能的なJMAPメールクライアントとモデルコンテキストを含むDenoワークスペース プロトコル(MCP)サーバーはその上に構築されています。クライアントパッケージは JMAPプロトコルアクセスのためのjmap-jam; MCPパッケージは、その型付き操作をツールに適応させます。

特徴

メール管理ツール

  • メール検索:テキストクエリ、送信者/受信者フィルターでメール検索、 日付範囲とキーワード。すべてのフィルターはANDでまとめられています。
  • メール取得:設定可能なプロパティを持つIDで特定のメールを取得する 選考
  • スレッド取得:メールスレッド(会話チェーン)を取得する
  • メールをマークする:メールを既読・未読、フラグ付き/フラグ解除にマークする
  • メールを移動:メールを1つのメールボックスに移動する
  • メールメールボックスのパッチ:選択されたメールボックスのメンバーシップを追加または削除できます。 未特定の会員資格の保存
  • メール削除:メールを永久に削除します

郵便受け管理

  • メールボックス取得:階層管理に対応したすべてのメールボックス/フォルダを一覧表示します。これをご利用ください 他のツールが必要な郵便受けIDを見つけるために。

インクリメンタル同期

  • メール変更を受け取る:その後に作成された、更新、または破棄されたメールのIDを取得する 以前の状態(州ベースのデルタトラッキング)

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。

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

Install via the plugin marketplace:

GitHub で README 全文を見る

インストール

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" } } } }