Allows deployment of MCP servers on Cloudflare Workers platform, providing a scalable serverless environment for hosting MCP tools and services
Gospel Library MCP Server (Unofficial)
This is a Model Context Protocol server for LLM interfaces such as Claude, ChatGPT, or LM Studio. You can set up a remote server via Cloudflare Workers (free), or you can run the MCP server locally using node.
Quick Deploy
One-click deployment to Cloudflare Workers - Sets up your own free MCP server instance in under 2 minutes.
Related MCP server: Unstructured Document Processor MCP
Tools Overview
Current active tools:
get_exact_scripture - Fetch an exact LDS scripture verse or short contiguous range
reference (string, required): A verse or short range like "John 3:16", "Alma 32:27-28", "1 Nephi 3:7". Range limit: ≤50 verses.
Fuzzy matching supported: "Matt 5:16" → "Matthew 5:16", "Omni 7" → "Omni 1:7", "Doc 121" → "D&C 121"
Always call before quoting scripture wording to ensure accuracy.
search_scriptures_by_keyword - Search LDS scriptures by keyword/phrase for topic discovery
query (string, required): Keyword or short phrase (<100 chars), e.g. "charity", "plan of salvation", "endure to the end"
limit (number, optional): Max number of results (default 10, max 20)
Use before teaching on a topic or when user asks "verses about X".
get_random_scripture - Return a single random scripture verse
No parameters required
Useful for daily verse prompts or inspiration.
search_conference_talks - General Conference talks search and retrieval
id (number, optional): Specific talk ID to retrieve full talk
query (string, optional): Keyword(s)/phrase to search in talk content (<100 chars)
speaker (string, optional): Speaker name with fuzzy matching. E.g. "Nelson", "Russell M. Nelson", "Russel Nelson"
conference (string, optional): Conference identifier with fuzzy matching. E.g. "April 2023", "Oct 2022", "October 1990"
limit (number, optional): Maximum results (default 10, max 20)
Enhanced Features:
Fuzzy matching: "Russel M. Nelson" matches "Russell M. Nelson", "Oct 1990" matches "October 1990"
Smart single results: When only 1 talk matches, returns full talk content automatically
Intelligent filtering: Combines multiple parameters for precise searches
Always fetch before quoting to ensure accuracy.
Typical Query Flows
Find a specific scripture reference:
Search scriptures by topic:
Find a Russell M. Nelson talk from October 1990:
Search for talks about a specific topic:
Get a full talk by ID:
Get a random scripture:
Key Features
Scripture Tools:
Comprehensive coverage: Bible, Book of Mormon, Doctrine & Covenants, Pearl of Great Price
Intelligent fuzzy matching: Handles abbreviations and common misspellings
Flexible reference parsing: Supports "Book Chapter:Verse", "Book Verse" (assumes chapter 1), and D&C sections
Fast keyword search: Full-text search across all scriptures
Random verse generator: Perfect for daily inspiration
Conference Talk Tools:
Modern prophet teachings: Conference talks from April 1971 onward
Smart speaker matching: Finds speakers even with typos ("Russel" → "Russell")
Conference abbreviations: "Oct 1990" → "October 1990", "Apr 2023" → "April 2023"
Intelligent results: Single matches return full talk content automatically
Multi-parameter filtering: Combine speaker, conference, and keyword searches
Error / Guidance Messages
The tools return actionable hints when no results are found, suggesting alternative search approaches or parameter adjustments.
Local Development
Type check:
Deploy:
Tail logs:
Local Database Priority (Local -> D1)
At runtime the server resolves the database in this order:
Local file
gospel-library.db(Node using better-sqlite3 if available, otherwise Bun's built-in sqlite)Cloudflare D1 binding
DB(only if no local file connection was established)
Place a SQLite dump named gospel-library.db in the project root to operate entirely offline. The same tools work unchanged.
Connecting a Client
There are two ways to connect to a client: locally and remotely. For developer use, local is recommended. Remote is easier to set up and uses the Cloudflare endpoint.
Local
Example config snippet:
Remote
Option 1: One-Click Deploy (Recommended)
This will:
Fork the repository to your GitHub account
Set up a Cloudflare Workers deployment
Configure the D1 database automatically
Deploy your MCP server instance
Once deployed, use your Worker URL with the /sse endpoint in your MCP client.
Option 2: Manual Deployment
Clone this repository
Install dependencies:
npm installSet up Cloudflare Workers CLI:
npm install -g wranglerLogin to Cloudflare:
wrangler loginCreate D1 database:
wrangler d1 create gospel-libraryUpdate database ID in
wrangler.jsoncDeploy:
wrangler deploy
Option 3: Use Existing Deployment
No authentication is required to use this tool. You will need a client that supports remote MCP servers, such as Claude on a Pro plan or ChatGPT on a Pro plan.
URL: https://gospel-library-mcp.harrisadam42103.workers.dev/sse
Future Enhancements (Ideas)
Ranking improvements or FTS.
Citation generation referencing talk paragraphs.
Caching of frequent queries.
Footnotes
Optionally allow for web scraping
More resources from Gospel Library