返回市场
唤醒-MCP服务器

唤醒-MCP服务器

作者:LeomaiaJr4 星标更新:2025-08-13

项目介绍

WOL MCP 服务器

一个提供给大型语言模型(LLMs)只读访问权限的MCP服务器,用于访问守望台在线图书馆(WOL)

特性

  • 带操作符的高级搜索
  • 文档检索(始终为Markdown格式)
  • 浏览出版物类型
  • 多语言支持(动态WOL语言配置)
  • 强大的错误处理和重试逻辑

安装

# 克隆并安装依赖
git clone https://github.com/LeomaiaJr/wol-mcp-server.git
cd wol-mcp
npm install

# 构建服务器
npm run build

可用工具

wol_search

使用操作符和分页搜索守望台在线图书馆。

参数:

  • query (字符串,必需)
  • useOperators (布尔值,默认:true)
  • scope ("sen" | "par" | "art",默认:"par")
  • publications (数组;参见下方列表)
  • language (字符串,默认:"en")
  • sort ("occ" | "newest" | "oldest",默认:"occ")
  • page (整数,默认:1)
  • limit (整数,1-100,默认:1-10) — 仅适用于文档结果

搜索操作符:

  • & 或 + (AND),| 或 / (OR),! (NOT),&& 或 ++ (相邻),"..." (短语),* (通配符),? (单字符),(...) (组)

wol_get_document

检索特定文档的全部内容(始终为Markdown格式)。

参数:

  • url (字符串,必需) — 完整的WOL文档URL

输出包括:标题、出版物、URL、可选日期/卷/期、子标题、相关材料,随后是文章内容。圣经引用链接(/wol/bc)以纯文本形式内联显示。

wol_browse_publications

按类型浏览可用的出版物。

参数:

  • type (字符串) — 可选过滤器
  • language (字符串,默认:"en")
  • year (整数) — 可选年份过滤器

出版物类型(常见): 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

可用资源

wol://publications

列出所有可用的出版物类型及其描述。

wol://operators

关于搜索操作符的详细信息及示例。

wol://languages

支持多语言访问的语言列表。

开发(Cloudflare Workers)

# 安装依赖
npm install

# 在本地运行(wrangler dev)
npm start
# 本地MCP端点:http://localhost:8787/sse

# 可选:在另一个终端中打开MCP Inspector并连接到本地端点
npx @modelcontextprotocol/inspector@latest

# 类型检查
npm run type-check

# 部署到Cloudflare
npx wrangler deploy

部署到Cloudflare Workers(远程MCP)

Cloudflare Workers允许您通过HTTP/SSE运行远程MCP服务器。此仓库的服务器当前通过stdio(子进程)使用StdioServerTransport启动。要远程暴露它,请部署一个基于Workers的MCP服务器,该服务器实现HTTP/SSE传输,并连接相同的工具。以下是两个实用路径。

方案A — 快速部署(无认证模板)

  1. 从Cloudflare的无认证远程MCP模板创建一个新的Workers项目:
npm create cloudflare@latest -- wol-mcp-worker --template=cloudflare/ai/demos/remote-mcp-authless
cd wol-mcp-worker
  1. 在本地开发:
npm start
# 服务器运行于 http://localhost:8787/sse
  1. 部署(Wrangler已在您的机器上进行了身份验证):
npx wrangler@latest deploy
  1. 使用MCP Inspector连接:
npx @modelcontextprotocol/inspector@latest
open http://localhost:5173
# 输入您的服务器URL,例如 http://localhost:8787/sse 或 https://<worker>.<account>.workers.dev/sse
  1. 使用本地代理:
{
  "mcpServers": {
    "wol-remote": {
      "command": "npx",
      "args": ["mcp-remote", "https://<worker>.<account>.workers.dev/sse"]
    }
  }
}

方案B — 添加认证(OAuth)

从Cloudflare的GitHub OAuth示例开始并部署:

npm create cloudflare@latest -- wol-mcp-github-auth --template=cloudflare/ai/demos/remote-mcp-github-oauth
cd wol-mcp-github-auth
npx wrangler@latest deploy

按照指南注册OAuth应用并设置密钥(GITHUB_CLIENT_IDGITHUB_CLIENT_SECRET)。参见:Cloudflare“构建远程MCP服务器”指南。

将此服务器的工具移植

  • 此仓库仅支持stdio。Workers无法运行stdio子进程,因此不能直接部署dist/index.js
  • 通过将WOL工具处理器(如WOLService)移动到Workers项目中并在此处注册等效工具来复用逻辑。
  • Cloudflare Workers在其模板中默认支持MCP HTTP/SSE传输。实现调用与本仓库中的wol_searchwol_get_documentwol_browse_publications处理器相同方法的工具。

注意事项:

  • 规范参考:MCP传输(stdio和Streamable HTTP)。Workers模板公开了一个与MCP客户端兼容的/sse端点。
  • 对于尚未原生支持远程MCP的客户端,可以像上面所示那样使用mcp-remote

配置

环境变量

  • NODE_ENV - 环境(开发/生产)
  • LOG_LEVEL - 日志级别(错误/警告/信息/调试)

服务可用性

目前,没有强制执行服务器端速率限制。来自WOL的上游可用性偶尔会导致临时中断(例如,502/503),这些中断作为SERVICE_UNAVAILABLE错误显示。

示例

基础搜索

查询: "耶稣基督"
结果: 跨越所有出版物的精确短语搜索

带操作符的高级搜索

查询: (耶稣 | 基督) & 耶和华 & !三位一体
结果: 包含(耶稣 OR 基督)AND 耶和华但不包含三位一体的文档

出版物特定搜索

查询: 祷告
出版物: ["w", "g"]  // 仅限《守望台》和《醒起来!》杂志
结果: 来自这些杂志的祷告相关内容

多语言搜索

查询: "reino de Dios"
语言: "es"
结果: 关于上帝王国的西班牙语内容

贡献

  1. 分叉存储库
  2. 创建功能分支:git checkout -b feature/new-feature
  3. 进行更改并添加测试
  4. 提交:git commit -am '添加新功能'
  5. 推送:git push origin feature/new-feature
  6. 提交拉取请求

许可证

MIT许可证 - 详情见LICENSE文件。

免责声明

这是一个非官方的MCP服务器,用于访问守望台在线图书馆。它未得到耶和华见证人或守望台圣经和传道会的认可或支持。