FHL Bible MCP Server — Research Notes
Evaluates a local Python MCP server that wraps the FHL Bible HTTP API into 27 MCP tools for Claude Code, then decides not to integrate it.
What this file does
Evaluates a local Python MCP server that wraps the FHL Bible HTTP API into 27 MCP tools for Claude Code, then decides not to integrate it.
When to use it
- You already call bible.fhl.net directly and want to compare approaches
- You need interactive Bible lookups inside Claude Code conversations
- You are considering adding an MCP wrapper around an existing HTTP API
- You want to see a concrete MCP server architecture with caching and tests
Assumes this stack
FHL Bible MCP Server — Research Notes
Investigated 2026-03-12. Not integrated yet.
What It Is
ytssamuel/FHL-MCP-Server — a local Python MCP wrapper around the same bible.fhl.net HTTP API we already use directly.
Architecture
Claude Code ──(stdio/MCP)──> fhl_bible_mcp (local Python process)
│
▼
https://bible.fhl.net/api/ (FHL's existing HTTP API)
Not a remote service. It's a local subprocess that translates MCP tool calls into HTTP requests to bible.fhl.net/json/qb.php, qp.php, sd.php, etc.
27 MCP Tools
| Category | Tools | FHL API |
|---|---|---|
| Scripture | get_bible_verse, get_bible_chapter, search_bible, query_verse_citation | qb.php, qsb.php |
| Original Language | get_word_analysis, lookup_strongs, search_by_strongs | qp.php, sd.php |
| Commentary | get_commentary, search_commentary, list_commentaries | commentary endpoints |
| Topic Study | get_topic_study | topic endpoints |
| Apocrypha | get_apocrypha_verse, search_apocrypha, list_apocrypha_books | apocrypha endpoints |
| Apostolic Fathers | get_apostolic_fathers_verse, search_apostolic_fathers, list_apostolic_fathers_books | patristic endpoints |
| Reference | list_bible_versions, get_book_list, get_audio_bible, get_footnote | various |
| Articles | search_fhl_articles, list_fhl_article_columns | www.fhl.net/api/json.php |
Our Current FHL API Usage
| Component | Endpoint | Purpose |
|---|---|---|
llm_direct_sn_unv2notyet.py | qb.php | Fetch UNV+SN and LCC verse text |
fetch_text.sh | qb.php + qp.php | Verse text + word-by-word analysis |
viewer_v2 | local JSON (from FHL SQLite) | Strong's dictionary tooltips |
What The MCP Server Adds
- Caching: 7-day TTL for verses, permanent for Strong's dictionary
- Book name normalization: Chinese/English/ID auto-conversion
- Interactive access: Claude Code could query FHL during conversations
- 160 unit tests, 83% coverage: Well-tested
What It Does NOT Add
- No new data — same
bible.fhl.netbehind the scenes - No server to host — stdio subprocess spawned by Claude Code
- No batch optimization — still one-request-at-a-time
Installation (If Needed Later)
git clone https://github.com/ytssamuel/FHL-MCP-Server.git
cd FHL-MCP-Server
./scripts/install.sh # creates venv, installs deps
python scripts/generate_config.py # generates Claude Code MCP config
Requires Python 3.10+. Config goes into .claude/settings.json under mcpServers.
Decision
Not integrating now. Our direct HTTP calls work fine for batch processing. May revisit if we need interactive FHL lookups during Claude Code sessions.
What's inside
Architecture diagram, 27-tool table, current usage comparison, pros/cons list, install steps, and a decision summary
Change this for your project
- Replace
https://github.com/ytssamuel/FHL-MCP-Server.gitwith your own fork or clone URL - Replace
bible.fhl.netwith your target API base URL if different - Replace
.claude/settings.jsonwith your own MCP config file path
Where it goes
Save in docs/ or the repository root. Gives agents and new contributors a map of the codebase.
Worth borrowing
- 7-day TTL caching for API responses with permanent cache for reference data
- Book name normalization across Chinese, English, and ID formats
- Decision record format that evaluates a dependency before committing to it
Related Documents
Design Document: BharatSeva AI
Describes a 10-agent AWS system that helps India's informal workers access government schemes via voice-first, serverless architecture.
OpenClaw Enterprise Transformation Plan
Transforms a single-user AI agent into a dual-mode platform supporting both viral open-source and Fortune 500 enterprise deployments through phased security, IAM, audit, multi-tenancy, and Kubernetes features.
University of Guelph Rocketry Club - Complete Tech Stack
Documents the full tech stack of a university rocketry club website with AI chatbot, member management, and project showcases.
Qwen Image and Edit: Open-sourcing and Local GGUF Generations with Lightning
Documents the Qwen-Image and Qwen-Image-Edit models, covering architecture, training, benchmarks, ComfyUI setup, and prompting techniques for local GGUF deployment.