Skip to main content
Glama
hiing

CbetaMCP Workers

by hiing

Cbeta MCP Workers

Cloudflare Workers 版本的 Cbeta MCP 服务器,提供 CBETA 佛经数据库的 MCP 工具支持。

项目说明

本项目是将 Python FastAPI 版本的 CbetaMCP 迁移到 Cloudflare Workers 的版本。

Related MCP server: zotero-assistant-mcp

⚠️ 重要提醒:必须使用自定义域名

Cloudflare Workers 提供的 *.workers.dev 域名在某些网络环境下无法正常访问。

❌ 不可使用

https://your-worker.your-subdomain.workers.dev  ❌ 无法调用

✅ 必须使用

https://cbeta.yourdomain.com          ✅ 自定义域名
https://cbeta-mcp.yourdomain.com      ✅ 子域名

你需要在 Cloudflare 中为自己的 Workers 绑定自定义域名后才能正常使用。


快速开始

本项目需要自己部署到 Cloudflare Workers,并绑定自定义域名。请按以下步骤操作:

1. Fork 并部署

  1. Fork 本项目到你的 GitHub

  2. 克隆到本地:

    git clone https://github.com/YOUR_USERNAME/CbetaMCP.git
    cd CbetaMCP
  3. 安装依赖:

    npm install
  4. 登录 Cloudflare:

    npx wrangler login
  5. 部署:

    npm run deploy

2. 绑定自定义域名(⚠️ 关键步骤)

workers.dev 域名无法使用,必须绑定自己的域名。

步骤 1:添加自定义域名到 Cloudflare

  1. 登录 Cloudflare Dashboard

  2. 选择你的 Workers 项目

  3. 进入 Settings > Triggers > Custom Domains

  4. 点击 Add Custom Domain

  5. 输入你的域名,例如:

    • cbeta.yourdomain.com

    • mcp.yourdomain.com

    • cbeta-mcp.yourdomain.com

步骤 2:确保域名在 Cloudflare 托管

  • 你的域名必须使用 Cloudflare 的 DNS

  • 在 Cloudflare 添加域名后,会提供 DNS 记录

  • 在你的域名注册商处修改 DNS 为 Cloudflare 提供的地址

步骤 3:验证域名生效

# 测试你的自定义域名
curl https://cbeta.yourdomain.com/mcp -X POST \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test"}}}'

看到返回 JSON 数据即表示成功。

3. 获取你的 Workers 地址

部署并绑定自定义域名后,你会得到这样的地址:

https://cbeta.yourdomain.com

注意:不要使用 Cloudflare 提供的 *.workers.dev 地址,那个无法调用。

3. 配置 MCP 客户端

本项目包含 mcp-bridge.js 文件,它作为 MCP 客户端与 Cloudflare Workers 之间的桥梁。你需要配置两个环境变量:

环境变量说明

环境变量

说明

示例

SERVER_URL

必需 - 你的 Cloudflare Workers 自定义域名地址

https://cbeta.yourdomain.com/mcp

MCP_BRIDGE_PATH

可选 - mcp-bridge.js 的路径,默认为 ./mcp-bridge.js

/absolute/path/to/mcp-bridge.js

配置示例

方式一:使用默认相对路径(推荐)

确保 mcp-bridge.js 与 MCP 配置文件在同一目录:

{
  "mcpServers": {
    "cbeta": {
      "command": "node",
      "args": ["./mcp-bridge.js"],
      "env": {
        "SERVER_URL": "https://cbeta.yourdomain.com/mcp"
      }
    }
  }
}

⚠️ 注意:使用你自己的自定义域名,不是 workers.dev

方式二:使用环境变量指定路径

先设置环境变量:

# Linux/Mac
export MCP_BRIDGE_PATH="/path/to/cbeta-mcp/mcp-bridge.js"
export SERVER_URL="https://cbeta.yourdomain.com/mcp"

# Windows PowerShell
$env:MCP_BRIDGE_PATH="C:/path/to/cbeta-mcp/mcp-bridge.js"
$env:SERVER_URL="https://cbeta.yourdomain.com/mcp"

然后配置 MCP 客户端:

{
  "mcpServers": {
    "cbeta": {
      "command": "node",
      "args": ["./mcp-bridge.js"],
      "env": {
        "SERVER_URL": "https://cbeta.yourdomain.com/mcp"
      }
    }
  }
}

技术栈

  • Cloudflare Workers

  • TypeScript

  • Zod (数据验证)

  • MCP (Model Context Protocol)

安装

npm install

开发

npm run dev

部署

npm run deploy

配置与使用

部署完成后,你需要在 MCP 客户端中配置该 MCP 服务器。

📋 MCP 桥接脚本使用指南

由于 Cloudflare Workers 只支持 HTTP 传输,而 MCP 客户端通常使用 stdio,所以需要 mcp-bridge.js 作为中间桥梁。

项目文件结构

下载/克隆项目后,你会得到以下文件:

CbetaMCP/
├── mcp-bridge.js          # ⭐ 桥接脚本(使用此文件)
├── src/                   # 源代码(无需修改)
├── package.json           # 项目配置
├── wrangler.toml          # Workers 配置
└── README.md              # 本文档

你只需要关注 mcp-bridge.js 文件,其他是部署到 Cloudflare 所需的代码。

路径配置方式

mcp-bridge.js 支持多种路径写法:

方式

示例

适用场景

相对路径(推荐)

"./mcp-bridge.js"

脚本与 MCP 配置文件同目录

绝对路径(Linux/Mac)

"/home/user/CbetaMCP/mcp-bridge.js"

指定完整路径

绝对路径(Windows)

"C:/Users/name/CbetaMCP/mcp-bridge.js"

Windows 系统(使用正斜杠)

用户目录

"~/CbetaMCP/mcp-bridge.js"

存放在用户主目录下

🛠️ 各客户端配置示例

以下配置适用于所有 MCP 客户端。只需将 SERVER_URL 替换为你自己的 Workers 地址,并根据实际情况调整 mcp-bridge.js 的路径。

配置模板

{
  "mcpServers": {
    "cbeta": {
      "command": "node",
      "args": ["./mcp-bridge.js"],
      "env": {
        "SERVER_URL": "https://cbeta.yourdomain.com/mcp"
      }
    }
  }
}

⚠️ 重要提醒

  • args: mcp-bridge.js 的路径(相对或绝对路径)

  • SERVER_URL: 你的 Cloudflare Workers 自定义域名地址(不是 workers.dev


本地开发配置

{
  "mcpServers": {
    "cbeta": {
      "command": "node",
      "args": ["./mcp-bridge.js"],
      "env": {
        "SERVER_URL": "http://localhost:8787/mcp"
      }
    }
  }
}

注意:本地开发使用 localhost,生产环境必须使用自定义域名。


Claude Desktop

配置文件位置:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "cbeta": {
      "command": "node",
      "args": ["./mcp-bridge.js"],
      "env": {
        "SERVER_URL": "https://your-worker-name.your-subdomain.workers.dev/mcp"
      }
    }
  }
}

Cursor

Settings > Features > MCP Servers:

{
  "mcpServers": {
    "cbeta": {
      "command": "node",
      "args": ["./mcp-bridge.js"],
      "env": {
        "SERVER_URL": "https://cbeta.yourdomain.com/mcp"
      }
    }
  }
}

Cline

MCP Server 配置:

{
  "mcpServers": {
    "cbeta": {
      "command": "node",
      "args": ["./mcp-bridge.js"],
      "env": {
        "SERVER_URL": "https://cbeta.yourdomain.com/mcp"
      }
    }
  }
}

提示:Cline 支持使用环境变量 ${env:VAR_NAME}


Windsurf

MCP 配置面板:

{
  "mcpServers": {
    "cbeta": {
      "command": "node",
      "args": ["./mcp-bridge.js"],
      "env": {
        "SERVER_URL": "https://cbeta.yourdomain.com/mcp"
      }
    }
  }
}

OpenCode

配置方法:

  1. 打开 OpenCode 设置

  2. 找到 MCP Servers 配置

  3. 添加以下配置:

{
  "mcpServers": {
    "cbeta": {
      "command": "node",
      "args": ["./mcp-bridge.js"],
      "env": {
        "SERVER_URL": "https://cbeta.yourdomain.com/mcp"
      }
    }
  }
}
  1. 保存并刷新配置

调用示例

配置完成后,你可以在对话中直接调用 CBETA 工具,例如:

  • "搜索心经相关内容"

  • "查找《金刚经》的详细信息"

  • "列出所有禅宗典籍"

AI 助手会自动调用相应的 MCP 工具来获取 CBETA 佛经数据。

直接 HTTP 调用

你也可以直接通过 HTTP POST 请求调用 MCP 服务:

curl -X POST https://cbeta.yourdomain.com/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/list"
  }'

调用工具示例:

curl -X POST https://cbeta.yourdomain.com/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "search_cbeta_keyword",
      "arguments": {
        "keyword": "般若"
      }
    }
  }'

API 端点

  • POST /mcp - MCP 协议接口

    • tools/list - 列出所有可用工具

    • tools/call - 调用指定工具

可用工具

搜索工具

  • search_cbeta_keyword - 关键词搜索

  • search_cbeta_work - 典籍搜索

  • search_cbeta_author - 作者搜索

  • search_cbeta_category - 分类搜索

目录工具

  • catalog_cbeta_sutra - 经文目录

  • catalog_cbeta_author - 作者目录

  • catalog_cbeta_dynasty - 朝代目录

典籍工具

  • work_cbeta_info - 典籍信息

  • work_cbeta_content - 典籍内容

  • work_cbeta_toc - 目录结构

CBETA API

本项目使用 CBETA API: https://api.cbetaonline.cn/

许可证

MIT

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hiing/CbetaMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server