tw-jobs-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TW_JOBS_HOST | No | Bind address for the HTTP transports | 127.0.0.1 |
| TW_JOBS_PORT | No | Bind port for the HTTP transports | 8000 |
| TW_JOBS_BOARDS | No | Extra career boards, comma separated, e.g. `g:gitlab,l:kraken,-g:stripe` (`g:` Greenhouse, `l:` Lever, a leading `-` removes one). A board without Taiwan roles simply returns nothing. | built-in list |
| TW_JOBS_FORMAT | No | `json` returns every field as compact JSON instead of the text tables | text |
| TW_JOBS_CACHE_TTL | No | Seconds to keep responses; `0` turns the cache off | 300 |
| TW_JOBS_TRANSPORT | No | Transport for the server: `stdio`, `streamable-http` or `sse` (same as `--transport`) | stdio |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_jobsA | 搜尋職缺,回傳表格(id 給 get_job,company_id 給 get_company)。 source:104(預設,最完整)|yourator(新創、外商)|boards(外商官網職缺)|all(合併)。 後兩者只支援 keyword、area、sort=newest(boards 另支援 remote_only),其餘條件會在註記中說明未套用。 area/jobcat 填中文名稱(台北市、軟體工程師),對不到唯一結果會回候選。 salary_min 單位 salary_unit:月薪|年薪|日薪|時薪。education:高中職|專科|大學|碩士|博士。 my_years=你的年資,只列要求不超過的。job_type:全職|兼職|高階|派遣。 sort:relevance|newest|salary。per_page≤30。預設濾掉置頂廣告。 |
| get_jobA | 職缺完整內容(job_id 來自 search_jobs)。說明預設截斷,full=True 看全文。 |
| get_companyB | 公司簡介(company_id 來自搜尋結果或 get_job)。with_openings=True 附目前職缺。 |
| salary_overviewB | 薪資行情:取前 pages(1~5)頁有公開薪資的職缺,依單位統計筆數、最低、四分位、中位、最高。 參數同 search_jobs。樣本統計,非全站。 |
| sourcesA | 即時檢查 104、Yourator 與各外商職缺板目前哪些連得上,哪些被擋。 |
| lookup_codeA | 查地區(area)或職類(jobcat)代碼。name 留空則列 parent 的下一層(parent 也空=最上層)。 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| job_hunt | 依職稱與城市整理找工作簡報。 |
| compare_postings | 比較幾個職缺(job_ids 以逗號分隔)。 |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose: search_jobs lists listings, get_job/get_company fetch single-entity details, salary_overview aggregates statistics, sources checks connectivity, and lookup_code resolves codes. Although salary_overview shares parameters with search_jobs, its statistical output (quartiles/median) versus listing output makes the boundary obvious.
All names use snake_case, with a consistent get_ prefix for the two detail fetchers (get_job, get_company) and verb_noun elsewhere (search_jobs, lookup_code). Minor deviation: salary_overview and sources are noun-only rather than verb-led, but still readable and predictable.
Six tools is tightly scoped for a job-search server: search, job detail, company detail, salary statistics, source health, and code lookup each earn their place with no redundancy.
The surface covers the full read workflow: discovery (search_jobs), drill-down (get_job, get_company), analysis (salary_overview), and supporting utilities (sources, lookup_code). Only minor gaps exist, such as no fetching of multiple jobs by ID in one call, but agents can easily work around this.