Data Sync
Source
RFC data is mirrored from rfc-editor.org via rsync:
rsync -avz --delete \
rsync.rfc-editor.org::rfc-index/rfc-json.tar.gz \
rsync.rfc-editor.org::rfc-index/rfc-text.tar.gz \
rsync.rfc-editor.org::rfc-index/rfc-html.tar.gz \
data/
Incremental reindex
scripts/ingest.sh performs an incremental reindex — only changed RFCs are reparsed. This is fast (~seconds) on subsequent runs after the initial full build.
Schedule
Inside the container, scripts/entrypoint.sh runs a background loop:
- Sync data from rfc-editor (immediately on first boot)
- Run
python -m rfc_mcp.ingest(incremental) - Sleep
RFC_SYNC_INTERVALseconds (default 24h) - Repeat
The server starts immediately; the health endpoint reports "starting" until the index is ready.
Manual sync outside Docker
Section parsing tiers
Each RFC's sections come from one of two sources:
| Tier | Source | Reliability |
|---|---|---|
structured |
xml2rfc HTML with <section id> markup |
High (last ~10 years) |
heuristic |
Pattern-matched from plain text | Best-effort (older RFCs) |
null |
No sections could be determined | — |