mcpField
D
DocPull

DocPull

Local
github.comMemory & Knowledge29Updated 5d ago

About DocPull

DocPull is an open-source tool that syncs changing public web sources into cited, reproducible context packs for AI agents, retrieval pipelines and MCP clients. It suits teams that need to track source versions and changes, and it runs locally without an account or paid API.

Key features

  1. 01Syncs public sources and produces hash-based diffs
  2. 02Deduplicated passage retrieval with citations and source spans
  3. 03Lockfile records source versions for reproducible context
  4. 04Exports to context packs, vector import or data workflows
  5. 05CLI, Python SDK, TypeScript SDK and MCP server

Use cases

  1. 01Detecting content changes in docs and policy pages
  2. 02Keeping traceable citations behind AI-generated answers
  3. 03Querying locked documentation context from Claude Code

MCP support

DocPull provides a Python stdio MCP server started with docpull mcp, which gives local agent clients source tools such as querying locked context.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"raintree-technology-docpull": {
"command": "uvx",
"args": [
"docpull"
]
}
}
}
Run commanduvx docpull

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypidocpull6.8.0

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

DocPull

DocPull

Active open-source project · MIT License

DocPull turns changing public web sources into cited, reproducible context for AI agents and retrieval pipelines. Use it when your application needs to know which sources it used, whether they changed, and how to rebuild the same context later.

Python 3.11+ PyPI version License: MIT

Install and sync your first source

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

The project stores declared sources in docpull.yaml and resolved inputs in .docpull/context.lock.json. Later syncs produce a hash-based diff while preserving source URLs, content hashes, run IDs, citations, and export metadata.

docpull query retrieves deduplicated passages from locked archives with version filters, a response budget, and exact source spans. The same query is available through the Python SDK and MCP. See Query locked context for budget semantics and queries across projects.

DocPull project diff showing changed pages, local semantic categories, and zero failed URLs

No account or paid API is required for this path. Direct fetching, discovery, extraction, indexing, pack analysis, and diffs run locally.

Why use DocPull

  • Reproduce agent context. Stable IDs, hashes, manifests, and lockfiles show which source versions produced an answer or artifact.
  • Detect source drift. Sync and diff documentation, product pages, policies, feeds, repositories, packages, standards, and local documents.
  • Keep evidence inspectable. Markdown, NDJSON, SQLite, citations, and provenance sidecars remain readable without a hosted service.
  • Choose the downstream surface. Export context for agent clients, vector import, data workflows, or a versioned context-pack release.
  • Keep expensive routes explicit. Browser and cloud rendering require an explicit choice and can be blocked with a zero-dollar budget.

How it works

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

DocPull's v3 pack contract separates raw extraction, agent-ready context, and eval-grade evidence. Validate the level a downstream system requires:

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

docpull ci checks freshness, citation coverage, pack quality, rights metadata, and other configured gates. It writes context-ci.report.json and CONTEXT_CI.md, then exits non-zero when a hard gate fails.

Supported surfaces

SurfaceUse it forStart here
CLIFetch, sync, diff, validate, and exportdocs/cli-recipes.md
Python SDKEmbed acquisition in Python applicationsdocs/surface-contract.md
MCP serverGive local agent clients source toolsMCP server
TypeScript SDKRead local packs and invoke the CLI from Node or Bunsdk/js/README.md
Agent pluginInstall the supported MCP workflow in an agent clientplugin/README.md

Common source shapes include static and server-rendered websites, OpenAPI documents, feeds, papers, public GitHub repositories, npm and PyPI packages, standards, datasets, transcripts, Wikimedia pages, product and policy pages, and local PDF or office files. See context-pack workflows for the complete surface.

MCP server

pip install 'docpull[mcp]'
docpull mcp

Claude Code can register the same local server:

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

The Python stdio server is the supported MCP server.

Limits and security boundary

DocPull is an evidence-acquisition engine, not a hosted competitive-intelligence product. It owns fetching, explicit rendering adapters, versioning, citations, hashing, validation, replay, and export. Downstream products own scheduling, human review, approved claims, legal conclusions, accounts, and notifications.

The default path does not handle complex interactive browser workflows, CAPTCHAs, stealth scraping, or private dashboards. JavaScript rendering is explicit. Authenticated sources require environment-variable references; DocPull does not persist credential values in project artifacts.

Security defaults include HTTPS-only fetching, robots.txt compliance, SSRF and DNS rebinding protections, redirect guards, XXE protection, and path-traversal checks. Read the web-source boundary, security posture, and evidence-engine decision before extending acquisition behavior.

Documentation and evidence

Raintree open-source system

DocPull owns evidence acquisition and reproducible agent context. It can be used independently; the sibling projects do not imply a required integration or shared release cycle.

ProjectResponsibility
Raintree StandardsDefines governed requirements and evidence.
TrellisEnforces shared JavaScript and TypeScript code policy.
HIG DoctorAudits interface source and provides HIG guidance.
PolicyStrataTests cross-layer policy behavior.

See the Raintree open-source portfolio for current lifecycle and distribution links.

Raintree also builds BetterOff, which keeps a household's spending, investments, assets, debts, and net worth in one current record.

Project policies

Contributing · Code of Conduct · Security · Metrics and evidence limits · Source repository · MIT License

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.