关于 docshare
docshare 是用于管理 EveryPage 可追踪 PDF 链接的 MCP 服务和命令行工具,支持上传、阅读追踪、收件人专属链接变体及 Webhook。
主要功能
- 01上传和替换 PDF
- 02配置链接访问设置
- 03追踪阅读情况和事件
- 04管理收件人专属链接变体
- 05管理 Webhook 端点
适用场景
- 01通过可追踪链接分享 PDF
- 02查看读者活动和阅读中断位置
- 03为指定收件人创建链接
- 04更新或删除已分享文档
MCP 相关
向 MCP 客户端提供 EveryPage 的 PDF 分享、阅读追踪、变体、Webhook 和账户操作工具。只读模式仅开放七项读取操作。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
15收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| source | string | 是 | 本地文件路径或任意 https URL:对于 URL,服务器会自行获取用户提供的地址(不会发送你的 EveryPage 密钥),并上传其返回的字节。字节必须以 PDF 魔数 %PDF- 开头。 |
| settings | object | 否 | 要在同一次调用中应用的 FileSettings 字段:viewerMode(standard|scroll|flipbook|swipe|magazine)、password(空字符串表示清除)、allowDownload、requireEmail、notifyOnView、deleteAt(日期时间)、neverExpire、viewLimit(0 表示清除)、gateDomains、gateFields、gateHeading、slug、watermark、pageRange。 |
详细介绍
docshare
把 PDF 交给别人,并确切了解它的后续情况。 docshare 可与 EveryPage 通信:你只需上传一次文档, 分享它返回的可追踪链接,此后每次打开、下载和完成 邮箱验证的操作都会记录在该链接下;也可以使用变体, 将记录关联到你发送给的具体收件人。
共有 15 个工具。分享和生命周期管理:
everypage_share_pdf 从本地路径或 https URL 上传 PDF,
并可在同一次调用中应用分享设置;everypage_list_files
和 everypage_get_file 浏览你分享的内容;
everypage_update_file_settings 可更改密码、过期时间、
下载权限、查看器模式、邮箱验证、查看次数限制、页面范围
或 slug;everypage_replace_content 替换有效链接背后的 PDF,
同时保留链接和历史记录;everypage_delete_file 可将文档
移至回收站,或在你明确要求时彻底删除。
读者情况:everypage_get_readership 报告谁阅读了文档、
阅读进度,以及读者在哪一页停止;everypage_list_events
则通过轮询游标流式返回近期的查看、下载或捕获的潜在客户,
你需要在后续调用中继续使用该游标(游标仅适用于它所来自的
事件流类型)。
变体和 Webhook:everypage_create_variants 为每位指定的
收件人创建一个可追踪链接;everypage_list_variants、
everypage_update_variant 和 everypage_delete_variant
用于管理这些变体(包括根据 GDPR 删除收件人的姓名);
everypage_list_webhooks 和 everypage_manage_webhook
用于管理 Webhook 端点及其投递状态;
everypage_account 则显示已连接的账户、账户套餐及其权限。
文件参数的格式很灵活:可粘贴 UUID、短链接 ID 或完整的分享
URL——/embed/ 链接以及带有 ?via= 的链接也适用。
上传文件会在离开本机前进行检查:文件字节必须以 PDF 魔数
%PDF- 开头;从 https URL 获取 PDF 时不会发送你的
EveryPage 密钥,该密钥只会发送给 EveryPage 本身。
配置
export EVERYPAGE_API_KEY="..." # required
export EVERYPAGE_BASE_URL="https://everypage.co" # optional override
export EVERYPAGE_READ_ONLY="true" # optional: read tools only
未设置 EVERYPAGE_API_KEY 时,所有工具都会在发出任何请求前
报错 EVERYPAGE_API_KEY is not set。
设置 EVERYPAGE_READ_ONLY=true 时,只会列出 7 个只读工具
(everypage_list_files、everypage_get_file、
everypage_get_readership、everypage_list_events、
everypage_list_variants、everypage_list_webhooks、
everypage_account),调用任何其他工具都会被拒绝。
命令行
每个工具都是一个子命令,接受一个 JSON 参数字符串:
npx @reneturcios/docshare everypage_share_pdf '{"source":"./deck.pdf","settings":{"requireEmail":true}}'
npx @reneturcios/docshare everypage_list_events '{"type":"view","limit":20}'
npx @reneturcios/docshare everypage_create_variants '{"file":"https://everypage.co/s/abc123?via=email","labels":["Ana","Ben"]}'
npx @reneturcios/docshare --version
输出为工具的结果文本(通常是上游 JSON)。退出代码:成功时为
0,运行时错误时为 1(包括验证错误或上游错误),用法错误时为
2。
MCP 服务端
npx -y @reneturcios/docshare mcp
MCP 客户端配置:
{
"mcpServers": {
"docshare": {
"command": "npx",
"args": ["-y", "@reneturcios/docshare", "mcp"],
"env": { "EVERYPAGE_API_KEY": "..." }
}
}
}
Docker
docker run -i -e EVERYPAGE_API_KEY=... ghcr.io/cloudcorprecords/docshare
docker run --rm -e EVERYPAGE_API_KEY=... ghcr.io/cloudcorprecords/docshare everypage_account '{}'
开发
npm install
npm run build # tsc -> dist/
npm test # tsx --test test/*.test.ts (fake fetch + fake file reader, no network)
npm run dev # run the CLI from source
许可证
MIT — 版权所有 (c) 2026 Rene Turcios
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。