Provides read-only access to the Watchtower Online Library (WOL), enabling advanced search with operators, document retrieval in Markdown format, publication browsing, and multilingual support for accessing Jehovah's Witnesses publications and materials.
WOL MCP Server
An MCP server that gives LLMs read-only access to the Watchtower Online Library (WOL).
Features
- Advanced search with operators
- Document retrieval (always Markdown)
- Browse publication types
- Multilingual support (dynamic WOL language config)
- Robust error handling and retry logic
Installation
Available Tools
wol_search
Search the Watchtower Online Library with operators and pagination.
Parameters:
- query (string, required)
- useOperators (boolean, default: true)
- scope ("sen" | "par" | "art", default: "par")
- publications (array; see list below)
- language (string, default: "en")
- sort ("occ" | "newest" | "oldest", default: "occ")
- page (integer, default: 1)
- limit (integer, 1-100, default: 10) — applies only to document results
Search operators:
- & or + (AND), | or / (OR), ! (NOT), && or ++ (adjacent), "..." (phrase), * (wildcard), ? (single char), (...) (group)
wol_get_document
Retrieve full content of a specific document (always Markdown).
Parameters:
- url (string, required) — full WOL document URL
Output includes: title, publication, URL, optional date/volume/issue, subheadings, similar materials, followed by the article content. Bible citation links (/wol/bc) are inlined as plain text.
wol_browse_publications
Browse available publications by type.
Parameters:
- type (string) — optional filter
- language (string, default: "en")
- year (integer) — optional year filter
Publication types (common):
w
, g
, bk
, bi
, it
, dx
, yb
, syr
, sgbk
, mwb
, km
, brch
, bklt
, es
, trct
, kn
, pgm
, ca-copgm
, ca-brpgm
, co-pgm
, manual
, gloss
, web
Available Resources
wol://publications
Lists all available publication types with descriptions.
wol://operators
Details on search operators and examples.
wol://languages
Supported languages for multilingual access.
Development (Cloudflare Workers)
Deploy to Cloudflare Workers (Remote MCP)
Cloudflare Workers let you run a remote MCP server reachable over HTTP/SSE. This repo’s server currently starts via stdio
(subprocess) using StdioServerTransport
. To expose it remotely, deploy a Workers-based MCP server that implements the HTTP/SSE transport and wires the same tools. Below are two practical paths.
Option A — Quick deploy (authless template)
- Create a new Workers project from Cloudflare’s authless remote MCP template:
- Develop locally:
- Deploy (Wrangler is already authenticated on your machine):
- Connect using the MCP Inspector:
- Use with a local proxy:
Option B — Add authentication (OAuth)
Start from Cloudflare’s GitHub OAuth example and deploy:
Follow the guide to register OAuth apps and set secrets (GITHUB_CLIENT_ID
, GITHUB_CLIENT_SECRET
). See: Cloudflare “Build a Remote MCP server” guide.
Porting this server’s tools
- This repo is
stdio
-only. Workers cannot runstdio
subprocesses, so you do not deploydist/index.js
directly. - Reuse logic by moving the WOL tool handlers (e.g.,
WOLService
) into the Workers project and registering equivalent tools there. - Cloudflare Workers support the MCP HTTP/SSE transport out of the box in their templates. Implement tools that call the same methods you see in this repo’s
wol_search
,wol_get_document
, andwol_browse_publications
handlers.
Notes:
- Spec reference: MCP transports (stdio and Streamable HTTP). Workers templates expose an
/sse
endpoint compatible with MCP clients. - For clients that don’t yet support remote MCP natively, use
mcp-remote
as shown above.
Configuration
Environment Variables
NODE_ENV
- Environment (development/production)LOG_LEVEL
- Logging level (error/warn/info/debug)
Service Availability
Currently, no server-side rate limiting is enforced. Upstream availability from WOL may occasionally result in temporary outages (e.g., 502/503), which are surfaced as SERVICE_UNAVAILABLE
errors.
Examples
Basic Search
Advanced Search with Operators
Publication-Specific Search
Multilingual Search
Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature/new-feature
- Make changes and add tests
- Commit:
git commit -am 'Add new feature'
- Push:
git push origin feature/new-feature
- Submit a Pull Request
License
MIT License - see LICENSE file for details.
Disclaimer
This is an unofficial MCP server for accessing the Watchtower Online Library. It is not affiliated with or endorsed by Jehovah's Witnesses or the Watchtower Bible and Tract Society.
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Provides read-only access to the Watchtower Online Library (WOL) with advanced search capabilities, document retrieval, and multilingual support. Enables users to search and browse Jehovah's Witnesses publications through natural language interactions.
Related MCP Servers
- AsecurityAlicenseAqualityProvides access to Jewish texts from the Sefaria library. This server enables Large Language Models to retrieve and reference Jewish texts through a standardized interface.Last updated -323PythonMIT License
- AsecurityAlicenseAqualityThis server allows users to interact with their Zotero library through the Model Context Protocol, providing tools for searching items, retrieving metadata, and accessing full text using natural language queries.Last updated -3100PythonMIT License
- AsecurityAlicenseAqualityA server providing tools to read, write, and edit Microsoft Word (docx) files through the Model Context Protocol, allowing operations like complete document reading, content creation, targeted paragraph editing, and text insertion.Last updated -421PythonMIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that enables querying and analyzing Wazuh security logs stored in OpenSearch, with features for searching alerts, getting detailed information, generating statistics, and visualizing trends.Last updated -92JavaScript