Skip to main content
Glama
tools_3.py1.75 kB
from pydantic import BaseModel from typing import Optional import httpx from main import __mcp_server__, success_response, error_response # CBETA 卷 HTML 內容抓取工具 # # 🧾 工具功能: # 通過 CBETA API 抓取指定佛典 work 的指定卷(juan)HTML 內容, # 可選是否同時返回「佛典資訊 work_info」與「目次 toc」內容。 # # 📘 CBETA API 說明: # URL: https://api.cbetaonline.cn/juans # 參數: # - work: 佛典編號,如 T0001 # - juan: 卷號,從 1 開始 # - work_info: 是否回傳佛典資訊,0=否,1=是(預設為 0) # - toc: 是否回傳目次,0=否,1=是(預設為 0) # # ✅ JSON 返回格式範例(節錄): # { # "num_found": 1, # "results": [ # { "juan": 1, "html": "<div id='body'>...</div>" } # ], # "work_info": {...}, # "toc": { # "mulu": [...], # "juan": [...] # } # } # # 🔧 用途:可用於 CBETA 閱讀器前端渲染、段落分析、結構轉換等。 class GetJuanHTMLParams(BaseModel): work: str # 佛典編號,例如 T0001 juan: int # 卷號(從 1 開始) work_info: Optional[int] = 0 # 是否回傳佛典資訊(0=否,1=是) toc: Optional[int] = 0 # 是否回傳目次(0=否,1=是) @__mcp_server__.tool() async def get_juan_html(params: GetJuanHTMLParams): try: url = "https://api.cbetaonline.cn/juans" async with httpx.AsyncClient() as client: resp = await client.get(url, params=params.dict()) resp.raise_for_status() data = resp.json() return success_response(data) except Exception as e: return error_response(f"CBETA API 請求失敗: {str(e)}")

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/tendayspace/CbetaMCP'

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