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 →

Search teacher-recruitment exam papers (TJSE)

tw_search_teacher_recruit

TW-specificMIT

**關鍵字 / Keywords**: 教甄 教師甄選 縣市聯合甄選 teacher recruitment 教師甄試 國中小

以關鍵字 + 過濾條件,檢索台灣**教師甄選 (教甄)** 試卷.

Corpus: 各縣市政府教育局/處主辦, 民國 ~112-115. Phase 1 已收 5 縣市/
聯盟: taipei / tainan / kaohsiung / hsinchu / midtea (中策聯盟,
~10 縣市共用試題).

**與 tw_search_teacher_exam 區隔**:
  - tw_search_teacher_exam    = 教育部 教師資格考試 (教檢, 取得「教師證」)
  - tw_search_teacher_recruit = 各縣市 教師甄選 (教甄, 取得「正式教職」)
  兩者主管機關不同、法源不同、目的不同, 故拆分 corpus.
  教檢 = 資格證明 (執業執照); 教甄 = 求職甄試 (應徵工作).

參數:
    query: subject_name / county 子字串 (paper 級無 embedding, 走 keyword)
    county: 縣市 slug (taipei / tainan / kaohsiung / hsinchu / midtea)
    stage: 階段別 (es=國小, jh=國中, ki=幼兒園, sh=高中)
    subject_contains: 科目名子字串 (例「國語」「音樂」「特殊教育」).
                      subject_name 含 stage 前綴: es_音樂 / jh_國語.
    year_from / year_to: 西元年範圍
    limit: top-K (1..100, 預設 20)

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

後續取單一試卷 全部題目 + 答案: tw_get_teacher_recruit_paper(paper_id=...)
題目級語意檢索: tw_search_teacher_recruit_questions("白話 query", ...)

典型用法:
    tw_search_teacher_recruit(county="taipei", year_from=2024)
    tw_search_teacher_recruit(subject_contains="音樂", stage="es")
    tw_search_teacher_recruit(query="特殊教育")

Input schema

{
  "properties": {
    "query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Query"
    },
    "county": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "County"
    },
    "stage": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Stage"
    },
    "subject_contains": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Subject 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"
    },
    "limit": {
      "default": 20,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "tw_search_teacher_recruitArguments",
  "type": "object"
}

How to call

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

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

# It will call:
tw_search_teacher_recruit(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