templates: jmap, dav, karakeep, ttrss for personal-service projects
Some checks failed
CI/CD / typecheck (pull_request) Successful in 1m20s
CI/CD / lint (pull_request) Successful in 2m38s
CI/CD / test (pull_request) Successful in 1m28s
CI/CD / build (pull_request) Successful in 2m26s
CI/CD / smoke (pull_request) Failing after 3m16s
CI/CD / publish (pull_request) Has been skipped

jmap and ttrss are custom images (mysources.co.uk/michal/{jmap-mcp,ttrss-mcp});
dav-mcp and @karakeep/mcp run on the node runner. Health checks are real
backend calls. Applied live 2026-09-30; these seeds keep the next mcpd
image rebuild from reverting them.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Michal
2026-09-30 01:35:43 +01:00
parent 0515f99e17
commit c1f0117b80
4 changed files with 118 additions and 0 deletions

41
templates/jmap.yaml Normal file
View File

@@ -0,0 +1,41 @@
name: jmap
version: "1.0.0"
description: JMAP email (Stalwart) — search/read/organize + drafts; send and delete gated off by env
dockerImage: "mysources.co.uk/michal/jmap-mcp:0.6.5-drafts2"
transport: STDIO
repositoryUrl: https://mysources.co.uk/michal/jmap-mcp
# No command: the image's entrypoint IS the MCP server (deno run), mcpd
# attaches to PID 1 stdin/stdout. Fork of wyattjoh/jmap-mcp adding
# create_draft/create_draft_reply, JMAP_DISABLE_* gating, and Basic auth
# (jmap-jam upstream only speaks Bearer).
healthCheck:
# A real Mailbox/get: a pass proves session URL, auth, and account
# resolution, not just process liveness.
tool: get_mailboxes
arguments: {}
intervalSeconds: 60
timeoutSeconds: 10
env:
- name: JMAP_SESSION_URL
description: JMAP session URL (e.g. http://stalwart.stalwart.svc.cluster.local:8080/.well-known/jmap)
required: true
- name: JMAP_BEARER_TOKEN
description: Bearer token. Provide either this OR JMAP_USERNAME + JMAP_PASSWORD.
required: false
- name: JMAP_USERNAME
description: Username for HTTP Basic auth (e.g. with a Stalwart app password)
required: false
- name: JMAP_PASSWORD
description: Password/app password for HTTP Basic auth
required: false
- name: JMAP_ACCOUNT_ID
description: Account ID (auto-detected when empty)
required: false
- name: JMAP_DISABLE_SUBMISSION
description: "true = do not register send_email/reply_to_email (drafts only)"
required: false
defaultValue: "true"
- name: JMAP_DISABLE_DELETE
description: "true = do not register delete_emails (move to Trash still works)"
required: false
defaultValue: "true"