Used for HTML parsing and web scraping to extract Bible verses, study notes, cross-references, and research articles from wol.jw.org.
Runtime environment for executing the MCP server with ES modules support.
Package manager for installing server dependencies and managing the project.
Provides tools for accessing JW.org content including Christian Life and Ministry Workbook materials, Watchtower study articles with RTF parsing, Bible scripture lookup with study notes and cross-references from wol.jw.org, and video captions retrieval.
JW MCP Server
An MCP (Model Context Protocol) server that provides tools for working with JW.org content, including workbook materials, Watchtower articles, video captions, and comprehensive Bible scripture lookup with study content.
Features
This MCP server provides four main categories of tools:
π Bible Scripture Tools (NEW!)
search_bible_books: Search for Bible books by name or abbreviation to find book numbersget_bible_verse: Get plain Bible verse text from wol.jw.orgget_verse_with_study: Get comprehensive study content including verses, study notes, cross-references, and research articles. Supports verse ranges.get_bible_verse_url: Generate JW.org URLs for Bible verses, ranges, or chapters. Perfect for adding clickable scripture links to markdown documents.

π Christian Life and Ministry Workbook Tools
getWorkbookLinks: Get available workbook weeks for current or specific issuegetWorkbookContent: Download and parse RTF content to clean plain text (70% token reduction!)

π° Watchtower Study Tools
getWatchtowerLinks: Get available Watchtower articles for current or specific issuegetWatchtowerContent: Download and parse RTF content to clean plain text (70% token reduction!)

π₯ Video Caption Tools
get_jw_captions: Retrieves video metadata and subtitle content from JW.org by video ID

β‘ Smart Features
Automatic Date Handling: Workbook uses current month; Watchtower automatically calculates correct issue (2 months behind)
RTF Parsing: Automatically converts RTF files to clean, readable plain text with 70% token reduction
Live Web Scraping: Scripture tools fetch fresh content directly from wol.jw.org with no database required
What's New π
Latest Updates
NEW Scripture Tools: Search Bible books, get verses, and comprehensive study content with notes and research articles
RTF Parser: Watchtower and Workbook tools now return clean, formatted text instead of raw RTF (70% smaller!)
Web Scraping: Live scripture lookup from wol.jw.org with verse-specific study notes and cross-references
Quick Start
Installation
Installing via Smithery (Recommended)
To install jw-mcp for Claude Desktop automatically via Smithery:
On this page, click the relevant install option for your client

Manual Local Install
Clone this repository
Install dependencies:
npm install
Claude Desktop Setup
If cloned manually to a folder on your system, update your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
Replace
Available Tools
π Bible Scripture Tools
search_bible_books
Search for Bible books by name, abbreviation, or number. Useful for finding the correct book number to use with other scripture tools.
Input:
query(required): Search query - can be book name, abbreviation, or numberlimit(optional): Maximum results to return (default: 10)
Examples:
Output:
get_bible_verse
Get plain Bible verse text from wol.jw.org. Returns just the verse text without study notes.
Input:
book(required): Bible book number (1-66)chapter(required): Chapter numberverse(required): Verse number
Bible Book Reference:
Range | Testament | Examples |
1-39 | Old Testament | Genesis=1, Psalms=19, Isaiah=23 |
40-66 | New Testament | Matthew=40, John=43, Revelation=66 |
Example:
Output:
get_bible_verse_url
Generate JW.org URLs for Bible verses, verse ranges, or entire chapters. The URLs always open on JW.org and can be used to create clickable scripture links in markdown documents. Ideal for asking the LLM to edit markdown files and add links to each verse reference.
Input:
book(required): Bible book number (1-66)chapter(required): Chapter numberverse(optional): Verse reference - can be:Single verse:
"18"Verse range:
"14-16"Comma-separated verses:
"1,3,5"(converts to range if contiguous)Omit for entire chapter URL
Examples:
Use Cases:
Adding clickable links to scripture references in markdown documents
Creating study guides with linked Bible verses
Automating scripture link generation in bulk
Building markdown files with proper JW.org references
get_verse_with_study
Get comprehensive study content for Bible verses. Supports single verses or ranges, with customizable field selection.
Input:
book(required): Bible book number (1-66)chapter(required): Chapter numberverse(required): Single verse ("14") or range ("14-16")fields(optional): Array of content fields to include (default: ["verses", "study_notes"])verses- Verse textstudy_notes- Verse-specific study notesstudy_articles- Research Guide articlescross_references- Related scripture referenceschapter_level- Chapter outline and contentcombined_text- All verses as single text
limit(optional): Maximum study articles to return (default: 5)fetch(optional): Force fresh data from wol.jw.org (default: false)
Examples:
Single verse with study notes:
Verse range with all study content:
Output Example:
π Workbook Tools
getWorkbookLinks
Get available workbook weeks for downloading.
Input:
issue(optional): Specific issue in YYYYMM00 format (defaults to current issue)langwritten(optional): Language code (defaults to 'E' for English)
Example:
getWorkbookContent
Download and parse RTF content for a specific workbook week. Returns clean, formatted plain text.
Input:
url(required): The RTF file URL from getWorkbookLinks results
Output:
Example:
π° Watchtower Tools
getWatchtowerLinks
Get available Watchtower articles for downloading.
Input:
issue(optional): Specific issue in YYYYMM00 format (defaults to current Watchtower issue)langwritten(optional): Language code (defaults to 'E' for English)
Example:
getWatchtowerContent
Download and parse RTF content for a specific Watchtower article. Returns clean, formatted plain text.
Input:
url(required): The RTF file URL from getWatchtowerLinks results
Output:
Example:
π₯ Video Caption Tools
get_jw_captions
Fetches video captions and metadata by video ID or URL.
Input:
video_id(required): Either a direct JW.org video ID or a JW.org URL
Supported Input Formats:
Direct video ID:
pub-jwbvod25_17_VIDEOJW.org finder URL:
https://www.jw.org/finder?srcid=jwlshare&wtlocale=E&lank=pub-jwbvod25_17_VIDEOJW.org library URL:
https://www.jw.org/en/library/videos/?docid=pub-jwbvod25_17_VIDEOJW.org direct link:
https://www.jw.org/en/library/videos/pub-jwbvod25_17_VIDEO/
Output:
title: Video titlethumbnail: Thumbnail image URLsubtitles: Complete subtitle content (VTT format)
Examples:
Examples
Search for Bible Books

Get Bible Verse

Get Verse with Study Content

Get Bible Verse URL
Get Current Workbook Weeks

Get Current Watchtower Articles

Get Video Captions
How Date Handling Works
Automatic Current Issue Detection
Workbook: Always uses current month (e.g., May 2025 =
20250500)Watchtower: Uses issue from 2 months ago (e.g., May 2025 =
20250300)
Why 2 Months Behind for Watchtower?
Watchtower studies are published 2 months ahead of their study period:
March 2025 issue contains May 2025 studies
January 2025 issue contains March 2025 studies
The server automatically calculates this offset, even handling year boundaries correctly (January 2025 β November 2024).
Technical Details
Architecture
Modular design: Each tool category in separate files under
src/tools/Shared utilities: Common functions in
rtf-utils.jsfor API calls and date calculationsRTF Parsing: Advanced RTF-to-text parser (
rtf-parser.js) provides 70% token reduction by converting RTF markup to clean, formatted plain textBible tools: Web scraping with
cheeriofor HTML parsing, Bible book mappings, and study content extraction from wol.jw.orgAuto-registration: Server automatically loads and registers all tools
Error Handling
Invalid issue formats
Network connectivity issues
Missing content or files
API rate limiting
Supported Languages
All tools support multiple languages via the langwritten parameter:
E- English (default)S- SpanishF- FrenchAnd many others...
Troubleshooting
Common Issues
"Could not read package.json" error: Use absolute path in Claude Desktop config
Server disconnects: Ensure Node.js is installed and dependencies are available (
npm install)Permission denied: Make shell script executable (
chmod +x start-server.sh)
Testing
Test the server manually:
Development
Built with:
Node.js with ES modules
MCP SDK (@modelcontextprotocol/sdk)
node-fetch for HTTP requests
cheerio for HTML parsing and web scraping
License
MIT
This server cannot be installed