Skip to main content

ietf-llm

Maintain a local, queryable corpus of an IETF effort's public record — a Working Group, an IRTF Research Group, a mailing list, or a set of drafts. It pulls together charter, drafts, RFCs, meeting agendas, minutes, slides, transcripts, attendance, mailing list archives, and GitHub issues and pull requests for use with LLM-based tools.

What it's for

A working group's history is spread across mailing list archives, Datatracker, GitHub, and meeting materials — too much to hold in your head, and too scattered to search well by hand. With the record gathered into one queryable corpus, an LLM can help you:

  • Get up to date with the state of discussions — what's open, what was recently decided, where a debate currently stands.
  • Summarise the arguments already made about an issue — every distinct position on a topic, who holds it, and how the chairs ruled.
  • Formulate a new proposal — surface the objections raised against similar ideas before, so you can anticipate them.
  • Fact-check assertions about what's happened so far — grounded in the actual list traffic and chair statements, not someone's recollection.

Tip: for an IRTF Research Group, pass its shortname (e.g. cfrg, hrpc, pearg) wherever the docs use <name> — it works the same as a WG.

Modes of operation

There are three supported workflows:

  1. Use it as an MCP server — register it with Claude, Codex, Cursor, Gemini, Zed, etc. and ask questions across any corpus you've gathered. Two ways to run it:
    • Local MCP — one server subprocess per client, on your own machine. <-- Best starting point
    • As a shared HTTP MCP server — one process serving many concurrent clients (hosted).
  2. Use it from the CLI — run semantic search over the cache directly with ietf-llm-search, no LLM client required.

See the workflow documentation linked above for installation and use instructions, or the full documentation listing.

All three read a corpus you first gather with ietf-llm <corpus>.

The RFC series is the exception: search_rfc_index, search_rfc_text, grep_corpus(corpus="rfcs", …) (exact phrases, across the 72-column wrap), get_rfc_info and get_rfc_section cover every published RFC and are not tied to a corpus. Their data arrives on its own — a gather pulls it as housekeeping — but a machine that only ever reads, such as a hosted MCP deployment, never runs a gather and so never gets it. Set that machine up in one step:

ietf-llm --init

That refreshes the RFC metadata mirror and the effort catalog, installs the full text of the series from the seed store (about 285 MB to download, ~650 MB on disk once installed, which is what makes search_rfc_text and get_rfc_section work), and syncs the bundled skills. It gathers nothing, and it is safe to re-run. If it reports the full text as NOT installed, it says why.

Heads up — gathering reaches the network by default. To make a first gather fast, ietf-llm pulls a prebuilt snapshot of covered corpora from the public seed store at seed-store.mnot.net (and list_corpora looks its catalog up there), then freshens only the delta — skipping most of the embedding and download cost. To turn this off: ietf-llm <corpus> --no-seed (it persists across gathers; re-enable with --seed), or set IETF_LLM_SEED_ENABLED=off (or IETF_LLM_SEED_URL=off) in your environment. With seeding off, gathers run fully cold and offline. It is best-effort either way — an unreachable or unlisted corpus just gathers from scratch.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ietf_llm-0.18.1.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ietf_llm-0.18.1-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

Details for the file ietf_llm-0.18.1.tar.gz.

File metadata

  • Download URL: ietf_llm-0.18.1.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ietf_llm-0.18.1.tar.gz
Algorithm Hash digest
SHA256 ce6a17eed72a2f1b45765143fd445784c300dbbbaad213544b94eaa7d245fdc5
MD5 33548ae11da7cee9e1e697ebfda95e1a
BLAKE2b-256 52b1eea458d8e519795a261ac2a7d897937bb8020ba6367945e479e0110a8f37

See more details on using hashes here.

Provenance

The following attestation bundles were made for ietf_llm-0.18.1.tar.gz:

Publisher: publish.yml on mnot/ietf-llm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ietf_llm-0.18.1-py3-none-any.whl.

File metadata

  • Download URL: ietf_llm-0.18.1-py3-none-any.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ietf_llm-0.18.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6509d4c2e01d15ff4abfe90029ae8732f65b4f918f7ff656aed8fecb166c4138
MD5 8de99bd6ac98240d56158fa061a542dd
BLAKE2b-256 aef7566aca200518595f02e1a57d14ddd41474e66db9a2c2cafef44dbd49c200

See more details on using hashes here.

Provenance

The following attestation bundles were made for ietf_llm-0.18.1-py3-none-any.whl:

Publisher: publish.yml on mnot/ietf-llm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page