Dropscan Mcp

io.github.bitterdev由 GitHub 账号 bitterdev 发布v0.1.1更新于 Oct 24, 2026

MCP server for the Dropscan postal mail scanning API: read scanned letters, act on mailings.

已验证STDIO仅桌面效率与工作流文件与存储

概览

AI 生成的概览

面向 Dropscan 纸质邮件扫描 API 的 MCP 服务器,让助手列出邮件、下载扫描件,并可选地申请扫描、转发或销毁操作。

可以做什么
  • 列出扫描箱、邮件及其状态,并查看单封邮件详情
  • 将邮件扫描件以 PDF、ZIP、信封图片或 OCR 纯文本下载到本地
  • 查询收件人、转发地址、寄件和 webhook 规则
  • 在启用写入后,申请或取消邮件操作(扫描、转发、销毁)并设置邮件收件人
  • 在启用写入后,创建收件人和转发地址,以及创建、更新或删除 webhook 规则
适用场景
当你通过 Dropscan 扫描箱接收纸质信件,希望助手帮你查看来信、把扫描件和 OCR 文本带入对话,或在不打开 Dropscan 后台的情况下准备邮件操作时适用。
运行要求
以 Python 包形式通过 stdio 在本机运行,需要 Python 3.10 或更高版本。需要 Dropscan 个人访问令牌,通过 DROPSCAN_TOKEN 环境变量提供(清单中记作 DROPSCAN_API_TOKEN)。可选 DROPSCAN_DOWNLOAD_DIR 指定下载目录,默认 ~/Downloads。仅支持桌面客户端。
安装前请注意
所有请求都直接作用于真实的 Dropscan 生产账户。写入工具受 DROPSCAN_ALLOW_WRITES 和每次调用的 confirm 参数双重限制,但一旦启用即不可逆:销毁会实际粉碎信件,转发会实际寄出信件并产生费用。webhook 规则可携带授权头。请妥善保管令牌,非必要不要开启写入。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Dropscan Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

dropscan-mcp

MCP (Model Context Protocol) server for the Dropscan postal-mail-to-email API. Dropscan receives your physical letters at a scanbox; this server lets your MCP client list mailings, download the scans (PDF / ZIP / envelope image / OCR text), and, when explicitly enabled, request actions (scan / forward / destroy) and manage recipients, forwarding addresses and webhook rules.

mcp-name: io.github.bitterdev/dropscan-mcp

Safety first: Dropscan has no sandbox

Every request hits the real production account. Actions are irreversible: a destroyed letter is physically shredded and gone, a forward physically mails the letter and costs money.

Because of that, all write/action tools are gated twice:

  1. DROPSCAN_ALLOW_WRITES environment flag. Unless it is set to 1/true/yes, every non-GET tool refuses to run. It is disabled by default.
  2. confirm: true parameter. Each write/action tool takes an explicit confirm argument (default false) and refuses unless it is true.

Read-only GET tools are always available and never change state.

Tools

Read-only (always available)

ToolEndpoint
list_scanboxesGET /scanboxes
list_mailings(scanbox_id, current_status?, older_than?)GET /scanboxes/{id}/mailings
get_mailing(scanbox_id, uuid)GET /scanboxes/{id}/mailings/{uuid}
get_mailing_pdf(scanbox_id, uuid, save_path?)GET .../{uuid}/pdf
get_mailing_zip(scanbox_id, uuid, save_path?)GET .../{uuid}/zip
get_mailing_envelope(scanbox_id, uuid, save_path?)GET .../{uuid}/envelope
get_mailing_plaintext(scanbox_id, uuid)GET .../{uuid}/plaintext
list_recipients(scanbox_id)GET /scanboxes/{id}/recipients
get_recipient(scanbox_id, recipient_id)GET /scanboxes/{id}/recipients/{id}
get_forwarding_address(address_id)GET /forwarding_addresses/{id}
get_shipment(shipment_id)GET /shipments/{id}
list_webhook_rules()GET /webhook_rules
get_webhook_rule(rule_id)GET /webhook_rules/{id}

The download tools save the asset to disk (default ~/Downloads, override with save_path or the DROPSCAN_DOWNLOAD_DIR env var) and return the saved path, byte size and content type.

Write / action (double-gated: DROPSCAN_ALLOW_WRITES=1 and confirm=true)

ToolEndpoint
request_mailing_action(scanbox_id, mailing_uuid, action_type, forwarding_address_id?, forwarding_date?, confirm)POST .../{uuid}/action_requests
cancel_mailing_action(scanbox_id, mailing_uuid, action_request_id, confirm)DELETE .../{uuid}/action_requests/{id}
set_mailing_recipient(scanbox_id, mailing_uuid, recipient_id, confirm)PUT .../{uuid}/recipient
create_recipient(scanbox_id, type, firstname?, lastname?, name?, confirm)POST /scanboxes/{id}/recipients
create_forwarding_address(firstname, lastname, street, number, zip_code, city, country_code, company?, info?, state?, confirm)POST /forwarding_addresses
create_webhook_rule(url, events, authorization_header?, confirm)POST /webhook_rules
update_webhook_rule(rule_id, url?, events?, authorization_header?, confirm)PATCH /webhook_rules/{id}
delete_webhook_rule(rule_id, confirm)DELETE /webhook_rules/{id}

action_type is one of scan, forward, destroy (exact enum from the API). For forward, both forwarding_address_id and forwarding_date (ISO YYYY-MM-DD) are required.

Webhook events: mailing_received, scan_requested, mailing_scanned, mailing_archived, mailing_trashed, mailing_shredded, mailing_added_to_shipment, mailing_removed_from_shipment, shipment_sent, package_tracking_updated.

Requirements

  • Python >= 3.10
  • A Dropscan personal access token

Installation

From a local clone:

bash
python3 -m venv .venv./.venv/bin/pip install .

Configuration

The token is read from the DROPSCAN_TOKEN environment variable and sent as Authorization: Bearer <token>. It is never hardcoded.

Claude Code

bash
claude mcp add dropscan -e DROPSCAN_TOKEN="dspat-..." -- dropscan-mcp

Claude Desktop / generic MCP client

json
{  "mcpServers": {    "dropscan": {      "command": "/absolute/path/to/dropscan-mcp/.venv/bin/python",      "args": ["-m", "dropscan_mcp.server"],      "env": {        "DROPSCAN_TOKEN": "dspat-..."      }    }  }}

To enable the write/action tools, add "DROPSCAN_ALLOW_WRITES": "1" to env. Leave it out to keep the server strictly read-only.

The server runs over stdio.

Environment variables

VariableDescription
DROPSCAN_TOKENRequired. Dropscan personal access token (Bearer).
DROPSCAN_ALLOW_WRITESSet to 1/true to enable write/action tools. Default: disabled.
DROPSCAN_DOWNLOAD_DIRDefault directory for downloaded PDFs/ZIPs/images. Default: ~/Downloads.

License

MIT, see LICENSE.

Author

Fabian Bitter ([email protected])

来源:README.md,提交 86a9fa6

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.1最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分