opendata-campus-mcp
This server provides a compliant navigation layer for discovering, browsing, and reading public Taiwanese educational resources through three core tools:
discover_education_sources: Find official Taiwanese educational platforms (e.g., NTU OCW, 均一教育平台, 教育大市集) by keyword, education stage (小學/國中/高中/大學/技職/全階段), and subject. Returns up to 5 ranked platforms with URLs, categories, and applicable stages — prioritizing a built-in catalog of 10 verified platforms before falling back to the TWCampus directory.browse_education_source: Search for learning resources (courses, materials) on a specific platform by name or URL. Returns up to 5 results per query with title, URL, summary, and source info — without attempting login or bypassing access controls.read_education_resource: Extract key metadata from a single public resource page, including title, summary (≤500 characters), publisher, education stage, subject, and license. Does not store full content.
Compliance safeguards include rate limiting (3 requests/min per domain), a maximum of 2 pages per request, no recursive crawling or full-text storage, and structured error responses (rate_limited, policy_violated, source_unavailable, login_required) for graceful error handling.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@opendata-campus-mcpfind NTU open courses on information management"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
opendata-campus-mcp
教育資源導航 MCP — 以 TWCampus 作為目錄入口,路由至台灣官方教育平台,即時搜尋並讀取公開學習資源。
An MCP server that lets LLMs navigate Taiwan's official education platforms without guessing URLs or scraping entire sites. It routes queries through a compliant, auditable layer — discover the right platform, browse it for resources, then read a single summary — with rate limits and access-control guardrails enforced at the domain level.
讓 LLM 不用自己亂猜網址、也不會把整個教育網站爬回來,而是經由一個合規、可稽核的導航層:先從本地目錄(必要時補 TWCampus)找到正確的官方平台 → 在平台上搜尋 → 讀取單一資源摘要。
📖 文件導覽
完整內容依主題拆分於 docs/,依需求檢索:
文件 | 內容 |
安裝步驟、在 Claude Desktop / Claude Code 中設定、測試指令 | |
| |
分層架構圖、運作原理、專案結構、SDD 規格、擴充指南 | |
內建 10 個平台目錄、來源 live 健康度實測 | |
瀏覽政策護欄、已知問題、合規聲明 | |
Playwright 後備取捨、Browserbase / 雲端無頭瀏覽服務評估 |
Related MCP server: libretexts-mcp
特色
flowchart LR
A[Claude / Agent] --> D[discover 找平台]
D --> B[browse 搜資源]
B --> R[read 讀摘要]
D -.-> L[(本地目錄)]
B --> G[合規護欄]三段式導航:
discover(找平台)→browse(搜資源)→read(讀摘要),對應 LLM 真實的查找心智流程。本地目錄優先:內建 10 個已驗證的台灣官方教育平台,先查本地、不足才補 TWCampus,最小化對 TWCampus 的請求。
教育大市集官方 API:
教育大市集使用OFFICIAL_API;未設定EDUMARKET_API_KEY時在 HTTP request 前回傳source_unavailable,不降級到已知失效的 web search;設定 key 後回傳官方 API 的結構化學制與領域欄位(見設定說明)。CIRN canonical host:CIRN 使用已驗證的
https://cirn.k12ea.gov.tw,來源目錄與搜尋 URL 保持一致;各來源的最新 smoke 狀態見來源健康度。共用 runtime assembly:MCP server、live smoke 與教育大市集 E2E 共用同一份 adapter registry,並在 server lifespan 結束時關閉由 runtime 擁有的 HTTP clients。
合規護欄寫死於 domain 層:每域 3 req/min、每次請求最多 2 頁、不排程、不遞迴、不存全文、不繞過存取控制。
乾淨分層 + DI 邊界:
contracts.py定義所有跨層 DTO / Protocol,新增平台或存取策略不需動到核心邏輯。降級不中斷:TWCampus 故障時靜默降級回本地目錄,工具永遠回傳結構化結果或明確的
error物件。SDD 驅動:附 DDD 領域模型(
spec/erm.dbml)與 5 組 BDD Gherkin feature,規格即文件。
快速開始
需求:Python 3.11+
git clone https://github.com/trionnemesis/opendataCampus-MCP.git
cd opendataCampus-MCP
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"接入 Claude Code:
claude mcp add opendata-campus -- /絕對路徑/opendataCampus-MCP/.venv/bin/opendata-campus-mcp其他 client 設定、Playwright 後備安裝、測試指令見 安裝與設定。
MCP 工具
工具 | 用途 |
| 找到相關官方教育平台 |
| 在指定平台搜尋學習資源 |
| 讀取單一資源頁面摘要 |
| 找升學考古題(CEEC 學測 / 分科測驗)的官方下載連結 |
參數細節、回傳範例與錯誤回傳見 MCP 工具 API。
合規護欄
護欄寫死於 domain/browser_policy.py,無法由請求參數放寬:
政策 | 值 |
每次請求最多頁數 | 2 頁 |
同域每分鐘請求上限 | 3 次(滑動視窗,per-domain) |
排程爬取 / 遞迴導航 / 全文儲存 / 向量索引 | 全部停用 |
無頭瀏覽器(Playwright) | 預設 停用,需明確 |
登入 / 繞過存取控制 | 永不嘗試 |
本工具僅存取公開教育資源並遵守來源服務條款;TWCampus 僅作路由目錄,所有抓取均由使用者即時查詢觸發。完整聲明與已知限制見 合規與限制。
Related projects
g0VMCP — 政府採購標案情報 MCP
healthcare-opendata-mcp — 醫療健保開放資料 MCP
授權
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseCqualityDmaintenanceProvides comprehensive Taiwan stock market data and analysis through MCP tools. Enables querying real-time stock prices, historical data, company information, technical analysis, and market overviews for TWSE and TPEx listed companies.Last updated815MIT
- Flicense-qualityDmaintenanceMCP server that enables searching, fetching, and navigating LibreTexts open textbooks in physics, math, chemistry, engineering, biology, statistics, and geosciences.Last updated
- Alicense-qualityBmaintenanceAn open-source MCP server that aggregates Taiwan public data sources (data.gov.tw, TWSE, MOEA, CWA, etc.) and exposes them through the Model Context Protocol, enabling AI agents to query Taiwan data with a single configuration line.Last updated1Apache 2.0
- AlicenseAqualityDmaintenanceEnables searching and retrieving Taiwan judicial judgments, including full-text search, document details, PDF download, and legal term lookup via MCP tools.Last updated4MIT
Related MCP Connectors
Academic research MCP server for paper search, citation checks, graphs, and deep research.
data.gov.ie MCP — Ireland's national open-data portal (CKAN API).
dati.gov.it MCP — Italy's national open-data portal (CKAN API).
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/trionnemesis/opendataCampus-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server