Twinkle HubTwinkle Hub
Sign in

📌 2026-08-17 added: ⚖️ Taiwan statute time machine — historical article text · revision history · full-text search · citation graph (935 datasets · 35,454+ rows)

View full changelog →

Semantic exam paper search (MOEX)

tw_search_exam

TW-specificMIT

**關鍵字 / Keywords**: 國考 考選部 高普考 律師 司法官 醫師 會計師 exam paper 試卷 civil-service

以自然語言檢索台灣國家考試試卷 (dataset 170565,考選部,OGDL).

Corpus: 民國 101-114 (西元 2012-2025), 64,815 份試卷, ~320K 題目.
涵蓋: 律師 / 司法官 / 會計師 / 技師 / 公務員高普初考 / 醫師 / 護理師 / 等
(考選部主辦之國家考試; 試卷之主辦機關欄位 = 考選部)
每件試卷的 raw text 餵 Qwen3-Embedding-4B 做 paper-level semantic search.

**不在 corpus 內**:
  - 教師資格考試 (教檢/教資考): 教育部主辦 (受託國立政治大學等),
    非考選部 OGDL, 試題在 https://tqa.rcpet.edu.tw/, 規劃 backlog 加入.
  - 升學考試 (學測/指考/統測/會考): 大考中心/心測中心, 非 OpenData.
  - 各校研究所考試: 各校自命題, 非 OpenData.

參數:
    query: 自然語言, 例如「土壤液化技術」「公司法 董事責任」
    exam_name_contains: 試別名稱子字串, 例「律師」「會計師」「高等考試」
    year_from / year_to: 西元年範圍 (內部會 -1911 轉民國)
    subject_contains: 科目名子字串, 例「民法」「行政法」「微積分」
    question_type: "測驗" / "申論" 過濾
    limit: top-K (1..100, 預設 20)

回傳 schema:
    {n_corpus, n_returned, query,
     hits: [{paper_id, exam_year (民國), exam_year_西元,
             exam_name, subject_name, question_type,
             question_count, question_pdf_url, answer_pdf_url,
             similarity}, ...]}

後續取單一試卷的題目 + 答案: tw_get_exam_paper(paper_id=...)

典型用法:
    tw_search_exam("公司法 董事會決議", subject_contains="公司法", limit=10)
    tw_search_exam("環境影響評估", exam_name_contains="技師")
    tw_search_exam("土壤液化", year_from=2020)

Input schema

{
  "properties": {
    "query": {
      "title": "Query",
      "type": "string"
    },
    "exam_name_contains": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Exam Name Contains"
    },
    "year_from": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Year From"
    },
    "year_to": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Year To"
    },
    "subject_contains": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Subject Contains"
    },
    "question_type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Question Type"
    },
    "limit": {
      "default": 20,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "query"
  ],
  "title": "tw_search_examArguments",
  "type": "object"
}

How to call

Once your Twinkle Hub MCP client is configured, your agent will see tw_search_exam. Just ask it to call — example:

# Ask Claude / any MCP client:
請用 tw_search_exam 處理 "…"。

# It will call:
tw_search_exam(input="…")

Haven't set up a client yet?

Claude Desktop in 3 minutes — download the .mcpb and double-click, or see docs for other clients.

See user docs