
wyattjoh/jmap-mcp
Developer tools이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기
wyattjoh/jmap-mcp는 [[T0]에서 가져온 MCP 서버 후보입니다.
개요
wyattjoh/jmap-mcp는 [[T0]에서 가져온 MCP 서버 후보입니다.
개요(AI 번역)
기능적인 JMAP 이메일 클라이언트와 모델 컨텍스트를 포함하는 Deno 작업 공간 프로토콜(MCP) 서버는 그 위에 구축되었습니다. 클라이언트 패키지는 JMAP 프로토콜 접근을 위한 jmap-jam; MCP 패키지는 이러한 타입 연산을 도구로 변환합니다.
특징
이메일 관리 도구
- 이메일 검색: 텍스트 쿼리, 발신자/수신자 필터가 포함된 이메일 검색, 날짜 범위와 키워드. 모든 필터는 AND로 묶여 있습니다.
- 이메일 받기: 설정 가능한 속성을 가진 ID별 이메일 검색 선발
- 스레드 가져오기: 이메일 스레드 검색 (대화 체인)
- 이메일 표시: 이메일을 읽음/읽지 않음, 플래그됨/해제 표시
- 이메일 이동: 이메일을 한 메일박스로 이동
- 이메일 메일박스 패치: 선택된 메일박스 멤버십을 추가하거나 제거할 수 있습니다. 미지정 회원 보존
- 이메일 삭제: 이메일을 영구 삭제합니다
우편함 관리
- Get Mailboxes: 계층 구조 지원이 있는 모든 메일박스/폴더를 나열하세요. 이 기능을 사용하세요 다른 도구들이 필요로 하는 메일박스 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
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"
}
}
}
}