Skip to main content
Glama
oksure

Bible Korean MCP Server

by oksure
test-final.ts2.48 kB
import fetch from "node-fetch"; import * as cheerio from "cheerio"; interface Verse { number: number; text: string; } async function fetchChapter( bookCode: string, chapter: number, version: string = "GAE" ): Promise<Verse[]> { const url = `https://www.bskorea.or.kr/bible/korbibReadpage.php?version=${version}&book=${bookCode}&chap=${chapter}`; const response = await fetch(url); const html = await response.text(); const $ = cheerio.load(html); const verses: Verse[] = []; // Parse verses from span elements $("span").each((i, elem) => { const text = $(elem).text().trim(); // Look for pattern: number followed by spaces and text const match = text.match(/^(\d+)\s+(.+)$/s); if (match) { const verseNum = parseInt(match[1]); let verseText = match[2]; // Remove footnote markers (like 1), 2), etc.) verseText = verseText.replace(/\d+\)/g, "").trim(); // Remove explanatory text that comes after line breaks (like "또는 ...") const lines = verseText.split("\n"); verseText = lines[0].trim(); // Avoid duplicate verses (website has multiple spans per verse) if (!verses.find((v) => v.number === verseNum)) { verses.push({ number: verseNum, text: verseText, }); } } }); return verses; } async function test() { console.log("=== Test 1: John 3:16 ==="); const john3 = await fetchChapter("jhn", 3, "GAE"); console.log(`Fetched ${john3.length} verses from John 3`); const verse16 = john3.find((v) => v.number === 16); if (verse16) { console.log(`\nJohn 3:16 (요한복음 3:16):`); console.log(verse16.text); } else { console.log("ERROR: Could not find verse 16"); } console.log("\n=== Test 2: Genesis 1 ==="); const gen1 = await fetchChapter("gen", 1, "GAE"); console.log(`Fetched ${gen1.length} verses from Genesis 1`); if (gen1.length > 0) { console.log(`\nGenesis 1:1 (창세기 1:1):`); console.log(gen1[0].text); console.log(`\nGenesis 1:2 (창세기 1:2):`); console.log(gen1[1].text); } console.log("\n=== Test 3: Matthew 5 ==="); const mat5 = await fetchChapter("mat", 5, "GAE"); console.log(`Fetched ${mat5.length} verses from Matthew 5`); if (mat5.length > 0) { console.log(`\nMatthew 5:1 (마태복음 5:1):`); console.log(mat5[0].text); } console.log("\n=== All tests completed successfully! ==="); } test().catch(console.error);

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/oksure/bible-ko-mcp'

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