Agentic Toolkit · Open source · Python 3.13+
A technical library for the public content of jw.org
A Python monorepo with HTTP clients, deterministic parsers, MCP server, hybrid RAG, procedural agents, and local fine-tuning. Built so any developer can talk with biblical content without duct-taping HTML.
>>> from jw_core import parse_reference
>>> ref = parse_reference("Juan 3:16")
>>> ref.display()
'John 3:16'
>>> ref.wol_url(lang="es")
'https://wol.jw.org/es/wol/b/r4/lp-s/nwt/43/3#study=discover&v=43:3:16'
>>> ref.book.code, ref.chapter, ref.verses
('JHN', 3, [16])
# Determinístico. Sin LLM. Sin red (cassetes pytest).
# Cita verificable en wol.jw.org · 7 idiomas tier-1.
- Python Packages
- 10
- Tests passing
- 2.99k +
- MCP Tools
- 135 +
- ASR languages
- 1672
Recommended
Three ways to start
Resolve any biblical citation in 4 lines of Python
From the string 'John 3:16' to a canonical wol.jw.org URL in any supported language. No LLM, no network in tests, 100% verifiable.
Why there is no LLM on the critical path
Deterministic parsers, always verifiable citations, decoupled layers. AI synthesis is optional and lives in Claude Desktop, not in the toolkit.
Train your own local model with your publications
Complete 5-phase pipeline: JWPUB extraction → dedup → synthetic Q&A → LoRA → GGUF export. Unsloth stack on local GPU, sending nothing to the cloud.
Monorepo · uv workspace
Ten packages, a single dependency: jw-core.
Dependencies flow downwards: every package depends on jw-core, nothing else. This allows using
the CLI, MCP, RAG or agents independently or composed.
jw-core
El núcleo determinístico
Librería principal: 6 clientes HTTP, 10 parsers, writers JWPUB/.jwlibrary, 6 providers ASR (Omnilingual 1672 idiomas + whisperX diarizado), NLLB-200, schemas organized-app, voiceprints, infra F9 + multimodal end-to-end (talk-lab F68, broadcasting/visual F69, image-quote F70, book-camera F71), drift diacrónico F72 y voz familiar consentida F76.
- 6 clientes · 10 parsers · 3 writers · 17 locales
- ASR 1672 idiomas + whisperX diarizado
- Multimodal: talk-lab · visual index · image-quote · book-camera
jw-cli
Terminal para mortales
CLI Typer + Rich con 13+ comandos top-level (verse · search · daily · download · jwpub build · library · omnilingual · translate · transcribe · …). Wrapper directo sobre jw-core con output Rich o JSON.
- 13+ comandos: verse · search · daily · …
- F55: jw jwpub build · library · omnilingual · translate
- Typer + Rich · 7 idiomas
jw-mcp
Puente con tu agente
Servidor Model Context Protocol que expone ~135 herramientas a Claude Desktop, Claude Code o cualquier cliente MCP. Cubre F57-F76: meeting, brain, ingest, ASR diarizado, memoria, meta-orchestrator, sparring, reasoner, talk-lab, broadcasting visual, book-camera (con REST endpoints), drift, voice-clone.
- ~135 tools sobre stdio MCP
- FastMCP · Claude/IDE compatible
- RAG + agentes + brain + meeting + agéntica F65-F76
jw-rag
Recuperación híbrida
Indexación vectorial + búsqueda híbrida BM25 + cosenos + Reciprocal Rank Fusion. Sobre Biblia, publicaciones, EPUB y JWPUB descifrados.
- BM25 + vector + RRF
- Sync incremental por source_id
- Embeddings configurables
jw-agents
Orquestación multipaso + agéntica verificable
Agentes procedurales determinísticos + meta-orchestrator F65 con planner+critic NLI, conversation-sparring F66 con 6 personas y doctrinal-reasoner F67 con ReAct + golden set. Sin LLM en el camino crítico.
- 4 agentes procedurales + meta-orchestrator
- Conversation sparring · 6 personas
- Reasoner ReAct con NLI crítico
jw-finetune
Tu modelo, tus datos
Plataforma local estilo Unsloth Studio: extrae JWPUB/EPUB, genera Q&A sintéticos, entrena LoRA y exporta a GGUF/MLX. Sin distribuir pesos.
- Extract → Synth → Train → Export
- Unsloth · LoRA · GGUF · MLX
- Textual TUI + WebSocket monitor
jw-eval
Red de seguridad doctrinal
Suite de evaluación con regresión: 3 capas (estructural, citas, semántico) que gating cada PR contra 47 golden Q&A. Convierte 'confío en mí' en métrica.
- 47 golden cases · 6 agentes
- L1 estructural · L2 citas · L3 semántico
- Embeddings + LLM judge híbrido
jw-gen
Generación con difusión, uso personal
Octavo paquete del monorepo. Genera imagen / audio / video para presentaciones y discursos personales. Watermark obligatorio + metadata EXIF/XMP + safety filters anti-emulación-JW-oficial.
- Image · Audio · Video — APIs SOTA
- Watermark + EXIF + disclaimer obligatorio
- 3 safety filters no-negociables
jw-brain
Second-brain + Bible Knowledge Graph
Karpathy-style second-brain con compiler dual-backend (DuckDB/Neo4j) + Wiki sobre Obsidian. F58 añadió BibleKnowledgeGraph JW-puro: 250 personas, 150 lugares con geocoordenadas, 10 periodos según cronología JW (607 a.E.C. para Jerusalén), CLI jw brain {init, compile, query, lint, import-bible, learn-headwords}.
- GraphRAG DuckDB + Neo4j
- BibleKG JW-puro (607 a.E.C.)
- 475 personas + 259 lugares + 16 geocoords
jw-meeting-media
Reunión-en-vivo · clean-room
Descubrimiento programa semanal mwb/w desde WOL, descarga media (imágenes/videos/audio/JWPUB), presenter Tauri con drag-drop + monitor externo automático + multi-congregación. Implementación clean-room (NO portada del repo M³ AGPL-3.0).
- Clean-room (no port AGPL)
- Presenter Tauri + drag-drop
- Monitor externo automático
jw-interp
Interpretabilidad mecanicista tri-modelo
Probing lineal por principio, steering vectors + activation patching, Qwen-Scope adapter (TopK residual 32k features) y Gemma Scope wrapper (JumpReLU SOTA residual + MLP + attention). Runtime probe store + fidelity_wrap Tier 4 observacional sin acoplamiento jw-agents → jw-interp. Paquete entregado en F80.
- Probing lineal por principio (sklearn)
- Steering vectors + activation patching pure-numpy
- Qwen-Scope (TopK) + Gemma Scope (JumpReLU) cross-family
jw-meeting-scheduler
Solver de asignaciones + importer organized-app
Paquete F81: importer organized-app JSON backup con CRDT diff + dry-run, store SQLite cifrado por congregación con FieldEncryptor + salt PBKDF2, CLI de edición manual del roster (people list / person edit / history), constraints YAML Pydantic strict por congregación, y CP-SAT solver (F81.3, pendiente) que produce ProposedSchedWeek con infactibilidad estructurada.
- organized-app importer · dry-run + CRDT diff
- FieldEncryptor + salt PBKDF2 por congregación
- CLI: people list · person edit · history · constraints
jw-legal
BrainDomain plugin: casos legales TJ vs Estado
Plugin F82.1 que registra el BrainDomain legal-cases-tj en jw-brain via entry-point jw_agent_toolkit.brain_domains. 6 NodeTypeSpec (LegalCase, Law, Territory referenciando jw_core.territories sin duplicar, CourtPrecedent, LegalArgument, PersecutionEvent) + 8 EdgeTypeSpec con CONTRADICTS non-directional sensitive (la política de conflictos del segundo cerebro flag en vez de fusionar).
- Plugin via entry-point jw_agent_toolkit.brain_domains
- 6 NodeTypeSpec + 8 EdgeTypeSpec
- Territory referencia jw_core.territories sin duplicar
Architecture
Strict layers.
Verifiable citations.
- jw-core imports nothing from the workspace — it is the clean foundation.
- jw-mcp is the only coupling point that binds the global RAG.
- Every response from any agent includes a canonical URL to wol.jw.org.
- Parsers are deterministic. AI synthesis happens outside the toolkit.
┌──────────────────────────────────────────────────────────────┐
│ Skills (Markdown) Agentes (orquestación) │
│ skills/jw-*/SKILL.md packages/jw-agents/ │
└──────────────────────────────┬───────────────────────────────┘
│
┌──────────────────────────────▼───────────────────────────────┐
│ Superficies │
│ • CLI packages/jw-cli/ (Typer + Rich) │
│ • Servidor MCP packages/jw-mcp/ (FastMCP) │
│ • RAG packages/jw-rag/ (BM25 + vec + RRF) │
└──────────────────────────────┬───────────────────────────────┘
│
┌──────────────────────────────▼───────────────────────────────┐
│ jw-core │
│ ├─ clients/ cdn · mediator · wol · pub-media · ... │
│ ├─ parsers/ reference · article · daily-text · ... │
│ ├─ integrations/ jw-library · obsidian · meps │
│ ├─ cache · throttle · telemetry · auth · models │
└──────────────────────────────┬───────────────────────────────┘
│
jw.org · wol.jw.org · b.jw-cdn.org · data.jw-api.org
Long-term vision
Towards a complete local AI ecosystem.
Of the 18 current categories, 13 are already shipped. F65-F76 closed 4 new ones (multimodal·OCR, verifiable reasoning, diachronic analysis, visual verification) and moved Family/kids and Accessibility to partial (F76 consented family voice). The only remaining gap is E2E sync.
Read the full visionWeekly meeting
F57
Ministry
F12+F66
Audio · TTS · Diarization
F34+F64
Multimodal · OCR
F69+F70+F71
Languages · ASL
F53+F8
Apologetics
F32+F67
Operational infra
F9+F10
Local privacy
F61+F76
Memory · profile
F61.8
Family · kids
F76
Calendar
F51
Accessibility
F68+F76
Personalization
F57.16
Bible Knowledge Graph
F58+F72
Verifiable reasoning
F65+F67
Diachronic analysis
F72
Visual verification
F70
E2E sync
Open source · GPL-3.0