Gospel Library MCP Server
Enables LLMs to fetch exact LDS scripture verses, search scriptures by topic, retrieve random verses, and search General Conference talks with smart fuzzy matching.
README
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.
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:
get_exact_scripture{ reference: "John 3:16" }
get_exact_scripture{ reference: "Omni 7" } // Fuzzy matches to Omni 1:7
get_exact_scripture{ reference: "Matt 5:16" } // Fuzzy matches to Matthew 5:16
Search scriptures by topic:
search_scriptures_by_keyword{ query: "charity", limit: 5 }
search_scriptures_by_keyword{ query: "plan of salvation" }
Find a Russell M. Nelson talk from October 1990:
search_conference_talks{ speaker: "Russell M. Nelson", conference: "October 1990" }
Search for talks about a specific topic:
search_conference_talks{ query: "atonement", speaker: "Russell M. Nelson", limit: 5 }
search_conference_talks{ query: "faith", conference: "April 2023" }
Get a full talk by ID:
search_conference_talks{ id: 12345 }
Get a random scripture:
get_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:
bun run type-check
Deploy:
wrangler deploy
Tail logs:
wrangler tail
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:
{
"mcpServers": {
"gospel-library": {
"command": "node",
"args": ["/Users/path/to/repository/dist/stdio-server.js"],
"env": { "GOSPEL_DB_PATH": "/Users/path/to/database/gospel-library.db"}
}
}
}
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 install - Set up Cloudflare Workers CLI:
npm install -g wrangler - Login to Cloudflare:
wrangler login - Create D1 database:
wrangler d1 create gospel-library - Update database ID in
wrangler.jsonc - Deploy:
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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.