get_bible_verse
Retrieve plain Bible verse text from JW.org by specifying book, chapter, and verse numbers. Returns only the verse content without study notes or additional commentary.
Instructions
Get plain Bible verse text from wol.jw.org. Returns just the verse text without study notes or additional content. For comprehensive study content including notes and cross-references, use get_verse_with_study instead.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| book | Yes | Bible book number (1-66). Examples: Genesis=1, Matthew=40, John=43, Revelation=66. Use search_bible_books to find book numbers. | |
| chapter | Yes | Chapter number within the book | |
| verse | Yes | Verse number within the chapter |
Implementation Reference
- src/tools/scripture-tools.js:120-163 (handler)The core handler function that validates the Bible reference, fetches the verse text using the wol-scraper, formats the response as JSON, and handles errors.export async function getBibleVerseImplementation(book, chapter, verse) { try { // Validate inputs const validation = validateReference(book, chapter, verse); if (!validation.valid) { return { content: [{ type: 'text', text: `Validation error: ${validation.error}` }], isError: true }; } // Fetch verse const verseData = await scraper.getSingleVerse(book, chapter, verse); // Format reference const reference = formatReference(book, chapter, verse); return { content: [{ type: 'text', text: JSON.stringify({ reference: reference, book_number: verseData.book_num, book_name: verseData.book_name, chapter: verseData.chapter, verse: verseData.verse_num, text: verseData.verse_text }, null, 2) }] }; } catch (error) { return { content: [{ type: 'text', text: `Error fetching verse: ${error.message}` }], isError: true }; } }
- src/tools/scripture-tools.js:97-118 (schema)The tool schema definition, including name, description, and input validation schema requiring book, chapter, and verse numbers.export const getBibleVerseTool = { name: 'get_bible_verse', description: 'Get plain Bible verse text from wol.jw.org. Returns just the verse text without study notes or additional content. For comprehensive study content including notes and cross-references, use get_verse_with_study instead.', inputSchema: { type: 'object', properties: { book: { type: 'number', description: 'Bible book number (1-66). Examples: Genesis=1, Matthew=40, John=43, Revelation=66. Use search_bible_books to find book numbers.' }, chapter: { type: 'number', description: 'Chapter number within the book' }, verse: { type: 'number', description: 'Verse number within the chapter' } }, required: ['book', 'chapter', 'verse'] } };
- src/index.js:52-56 (registration)MCP server registration for ListToolsRequestSchema, which returns the allTools array containing getBibleVerseTool.server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: allTools, }; });
- src/tools/scripture-tools.js:431-436 (helper)Switch case in the handleScriptureTools dispatcher that routes calls to the getBibleVerseImplementation handler.case 'get_bible_verse': return await getBibleVerseImplementation( args.book, args.chapter, args.verse );
- src/index.js:33-40 (registration)The allTools array that collects and registers getBibleVerseTool for use in the MCP server.const allTools = [ captionsTool, ...workbookTools, ...watchtowerTools, searchBibleBooksTool, getBibleVerseTool, getVerseWithStudyTool, getBibleVerseURLTool