Skip to main content
Glama

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
NameRequiredDescriptionDefault
bookYesBible book number (1-66). Examples: Genesis=1, Matthew=40, John=43, Revelation=66. Use search_bible_books to find book numbers.
chapterYesChapter number within the book
verseYesVerse number within the chapter

Implementation Reference

  • 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 }; } }
  • 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, }; });
  • 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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/advenimus/jw-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server