mcpField
D
DocPull

DocPull

本地服务
github.com记忆与知识295 天前更新

关于 DocPull

DocPull 是一个开源工具,可将不断变化的公开网页来源同步为带引用、可复现的上下文包,供 AI Agent、RAG 流程和 MCP 客户端使用。它适合需要追踪来源版本与变更的场景,本地运行,无需账户或付费 API。

主要功能

  1. 01同步公开来源并生成基于哈希的差异
  2. 02带引用和源位置的段落检索,支持 token 预算
  3. 03通过锁文件记录来源版本以便复现上下文
  4. 04导出为上下文包、向量导入或数据工作流格式
  5. 05CLI、Python SDK、TypeScript SDK 与 MCP 服务

适用场景

  1. 01检测文档、政策页面等来源的内容变化
  2. 02为 AI 回答保留可追溯的引用依据
  3. 03在 Claude Code 等客户端中查询本地锁定的文档上下文

MCP 相关

DocPull 提供 Python stdio 形式的 MCP 服务,通过 docpull mcp 启动,向本地 Agent 客户端暴露来源相关工具,例如查询已锁定的上下文。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"raintree-technology-docpull": {
"command": "uvx",
"args": [
"docpull"
]
}
}
}
启动命令uvx docpull

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypidocpull6.8.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

DocPull

DocPull

活跃的开源项目 · MIT License

DocPull 可将不断变化的公开网页来源转化为带引文、可复现的上下文,供 AI Agent 和检索流水线使用。当应用需要了解自己使用了哪些来源、这些来源是否发生变化,以及如何在之后重建相同的上下文时,就可以使用它。

Python 3.11+ PyPI version License: MIT

安装并同步第一个来源

pip install docpull
docpull init stripe-docs
docpull add https://docs.stripe.com
docpull sync
docpull query "retry policy" --max-tokens 4000
docpull diff
docpull export context-pack --target cursor

项目会将声明的来源存储在 docpull.yaml 中,并将解析后的输入存储在 .docpull/context.lock.json 中。后续同步会生成基于哈希的差异,同时保留 来源 URL、内容哈希、运行 ID、引文和导出元数据。

docpull query 会从已锁定的归档中检索去重段落,并支持版本筛选、响应预算 和精确的来源片段。通过 Python SDK 和 MCP 也可以执行相同的查询。预算语义 和跨项目查询请参阅查询已锁定的上下文。

DocPull 项目差异示例,显示已更改页面、本地语义类别以及零个失败 URL

此流程不需要账户或付费 API。直接获取、发现、提取、索引、包分析和差异比较 均在本地运行。

为什么使用 DocPull

  • 复现 Agent 上下文。 稳定 ID、哈希、清单和锁定文件会显示哪些来源版本生成了某个答案或产物。
  • 检测来源变更。 同步并比较文档、产品页面、政策、信息流、代码库、软件包、标准和本地文档。
  • 让证据可供检查。 Markdown、NDJSON、SQLite、引文和溯源附属文件无需托管服务也能保持可读。
  • 选择下游使用方式。 为 Agent 客户端、向量导入、数据工作流或带版本的上下文包发布导出上下文。
  • 明确选择高成本路径。 浏览器和云端渲染需要明确选择,也可以通过零美元预算将其阻止。

工作原理

declared sources → local acquisition → versioned evidence → diff and validation → export

DocPull 的 v3 包契约将原始提取内容、面向 Agent 的上下文和评测级证据分开。 请验证下游系统所需的级别:

docpull pack prepare packs/docs --eval-grade
docpull pack validate packs/docs --level eval
docpull ci --prepare

docpull ci 会检查时效性、引文覆盖率、包质量、权利元数据和其他已配置的 门槛。它会写入 context-ci.report.json 和 CONTEXT_CI.md,并在硬性门槛未通过时 以非零状态码退出。

支持的使用方式

使用方式用途从这里开始
CLI获取、同步、比较、验证和导出docs/cli-recipes.md
Python SDK在 Python 应用中集成内容获取docs/surface-contract.md
MCP 服务为本地 Agent 客户端提供来源工具MCP 服务
TypeScript SDK从 Node 或 Bun 读取本地包并调用 CLIsdk/js/README.md
Agent 插件在 Agent 客户端中安装受支持的 MCP 工作流plugin/README.md

常见来源类型包括静态网站和服务端渲染网站、OpenAPI 文档、信息流、论文、公开 GitHub 代码库、npm 和 PyPI 软件包、标准、数据集、文字记录、Wikimedia 页面、 产品和政策页面,以及本地 PDF 或办公文件。完整的使用方式请参阅上下文包工作流。

MCP 服务

pip install 'docpull[mcp]'
docpull mcp

Claude Code 可以注册相同的本地服务:

claude mcp add --transport stdio docpull -- docpull mcp

Python stdio 服务是受支持的 MCP 服务。

限制与安全边界

DocPull 是证据获取引擎,而不是托管式竞争情报产品。它负责抓取、显式渲染适配器、版本管理、引用、哈希、验证、重放和导出。下游产品负责调度、人工审核、获批声明、法律结论、账户和通知。

默认路径不处理复杂的交互式浏览器工作流、CAPTCHA、隐蔽抓取或私有仪表板。JavaScript 渲染需要显式启用。经过身份验证的来源需要通过环境变量引用;DocPull 不会在项目产物中持久化凭据值。

安全默认设置包括仅通过 HTTPS 抓取、遵守 robots.txt、防止 SSRF 和 DNS 重绑定、重定向防护、XXE 防护以及路径遍历检查。扩展获取行为前,请阅读网页来源边界、安全态势和证据引擎决策。

文档与证据

Raintree 开源系统

DocPull 负责证据获取和可复现的 Agent 上下文。它可以独立使用;同系列项目不代表必须集成或共享发布周期。

项目职责
Raintree Standards定义受治理的要求和证据。
Trellis强制执行共享的 JavaScript 和 TypeScript 代码策略。
HIG Doctor审核界面源代码并提供 HIG 指导。
PolicyStrata测试跨层策略行为。

请参阅 Raintree 开源项目组合,了解当前生命周期和分发链接。

Raintree 还打造了 BetterOff,将家庭的支出、投资、资产、债务和净资产记录在同一份最新记录中。

项目政策

贡献指南 · 行为准则 · 安全 · 指标与证据限制 · 源代码仓库 · MIT 许可证

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。