mcpField
T
Taiwan Jobs 台灣求職

Taiwan Jobs 台灣求職

本地服务
github.com商业与营销01 周前更新

关于 Taiwan Jobs 台灣求職

Taiwan Jobs 台灣求職是用于搜索台湾职位的只读 MCP 服务,面向使用中文或英语的求职者。它整合本地招聘网站与部分公司招聘页面,并提供职位、公司和薪资信息。

主要功能

  1. 01搜索 104、Yourator、Greenhouse、Lever 和 Workday
  2. 02按地点、薪资、经验等筛选
  3. 03获取职位和公司详情
  4. 04查看 104 申请者及薪资统计
  5. 05检查来源的实时可用性

适用场景

  1. 01按目标城市和薪资范围查找远程职位
  2. 02比较本地招聘网站与公司招聘页面的职位
  3. 03查看 104 职位的申请者背景
  4. 04根据匹配的 104 职位估算薪资

MCP 相关

向 MCP 客户端提供六个只读工具:`search_jobs`、`get_job`、`get_company`、`salary_overview`、`sources` 和 `lookup_code`。无需账户或 API 密钥。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"hsuanc0921-tw-jobs": {
"command": "uvx",
"args": [
"tw-jobs-mcp"
]
}
}
}
启动命令uvx tw-jobs-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypitw-jobs-mcp1.2.1

工具

6

收录的工具列表 · 更新于 1 周前

参数类型必填说明
areaarray否
pageinteger否
sortenum否relevance | newest | salary
jobcatarray否
sourceenum否104 | yourator | boards | workday | all
keywordstring否
job_typeenum否全職 | 兼職 | 高階 | 派遣
my_yearsinteger否
new_onlyboolean否
per_pageinteger否
educationenum否高中職 | 專科 | 大學 | 碩士 | 博士
keyword_enstring否
salary_mininteger否
remote_onlyboolean否
salary_unitenum否月薪 | 年薪 | 日薪 | 時薪

详细介绍

tw-jobs-mcp

英文 · 繁體中文

test PyPI License: MIT Python 3.11+

通过任意 AI 助手搜索台湾职位信息。tw-jobs-mcp 是一个只读的 MCP 服务,涵盖 104 人力银行、Yourator,以及外国公司自有招聘网站上的台湾职位(Greenhouse、Lever 和 38 家使用 Workday 的雇主)。用中文或英文直接提问;助手会将请求转换为精准筛选条件。

无需账号或 API 密钥。

claude mcp add tw-jobs -s user -- uvx tw-jobs-mcp

非官方。 本项目与 104 或其读取的任何其他网站均无关联,也未获其认可。它调用的网站公开接口与网站自身页面使用的接口相同。请保持较低的请求频率,并遵守各网站的条款。本项目不附带任何职位数据。

你可以询问

查找台北的 .NET 后端职位,月薪至少 50,000,并告诉我市场薪资水平。

我有两年工作经验。显示新北市的远程后端职位,阅读排名前三的职位,并比较这些公司。

这个职位值得申请吗?有多少人申请,他们的背景是什么?

哪些外国芯片公司正在新竹招聘硬件工程师?

这家公司有数据类职位吗?包括职位名称中没有相关字样的职位。

助手会在幕后串联这些工具。以下输出仅作示例;公司名称和 ID 均为虚构。

search_jobs(keyword="後端工程師", keyword_en="backend engineer", area=["台北市"], salary_min=50000)
共 812 筆,第 1/41 頁
id|company_id|職稱|公司|薪資|地點|學歷|技能|刊登
a1b2c|x9y8z7|後端工程師 Backend Engineer|甲科技股份有限公司|月55000~80000|台北市信義區|大學~碩士|C#/.NET/MS SQL|10-18
d3e4f|w6v5u4|資深後端工程師|乙數位股份有限公司|月70000~100000|台北市內湖區|大學|Go/PostgreSQL/Docker|10-17
…

get_job("a1b2c", applicants=true)
後端工程師 Backend Engineer|甲科技股份有限公司|電腦軟體服務業 50人
…
HR:2 天內處理過履歷
應徵分析(近兩週):至少 12 人(由比例推算)
學歷:大學 66.7%、碩士 33.3%
年資:1~3年 41.7%、3~5年 33.3%、無工作經驗 25%
技能:C# 58.3%、MS SQL 41.7%、Docker 25%

为什么选择这个服务

  • 覆盖 104 找不到的职位。 外企经常只在自家招聘网站发布台湾职位。使用 source="all" 搜索一次,即可覆盖 104、Yourator、Greenhouse 和 Lever 招聘页面(Appier、Stripe、MongoDB、Pinkoi 等),以及芯片、硬件、制药和金融雇主的 Workday 网站(NVIDIA、Micron、Applied Materials、KLA、Cisco、Intel、NXP、GSK 等)。所有来源的结果会合并并统一排序。
  • 找到你依稀记得的职位。 根据职位名称和公司名称涵盖了多少个搜索词,对结果重新排序。在基于真实招聘信息构建的 40 次测试搜索中,目标职位有 35 次排名第一,而按 104 自身的排序只有 18 次。
  • 了解竞争情况。 对于 104 上的职位,get_job(applicants=true) 会报告过去两周的申请人数,并按学历、经验、年龄、专业、语言、技能和证书细分。每个职位都会显示雇主最近处理简历的时间,这可以合理地提示是否有人在看申请。
  • 真正有效的筛选条件。 关键词、地区、职位类别、最低薪资(月薪、年薪、日薪或时薪)、工作年限、学历、工作类型、远程办公,以及最近 7 天发布的职位。每项筛选都已针对实时网站进行验证;某个来源无法应用筛选条件时,会在结果下方说明。
  • 为能力出众的模型打造。 所有允许的取值都包含在架构中。服务说明阐述原则,而非罗列冗长的案例。服务只处理模型无法自行判断的内容:扩展含义模糊的地名,将无法匹配的职位类别转换为关键词;如果没有匹配结果,则逐项放宽筛选条件。每一项此类处理假设都会在结果下方列出。
  • 节省上下文。 回复采用精简表格,而非 JSON:20 个职位约占 2,000 个字符,不到相同数据以 JSON 呈现时的五分之一。全部六个工具定义合计不到 3,000 个字符。除非请求 full,否则会截短较长的文本。
  • 只读且礼貌。 服务不会登录、申请职位或保存任何内容。它会控制对各网站的请求频率(对 104 每秒一次),将响应缓存五分钟,并过滤掉 104 在每一页置顶的两条付费职位。

安装

需要 uv。这些命令会从 PyPI 运行已发布的软件包。它也已作为 io.github.HsuanC0921/tw-jobs-mcp 列入 官方 MCP Registry。

Claude Code

claude mcp add tw-jobs -s user -- uvx tw-jobs-mcp

OpenAI Codex CLI

codex mcp add tw-jobs -- uvx tw-jobs-mcp

或者在 ~/.codex/config.toml 中:

[mcp_servers.tw-jobs]
command = "uvx"
args = ["tw-jobs-mcp"]
startup_timeout_sec = 60   # the first run downloads dependencies

Claude Desktop:从 Releases 下载 tw-jobs-mcp-<version>.mcpb 并打开,或使用下方的 JSON。

Gemini CLI、Cursor、Windsurf、Cline 和其他 mcpServers 客户端:添加到 ~/.gemini/settings.json、~/.cursor/mcp.json、Windsurf 的 mcp_config.json 或客户端的对应配置文件中:

{
  "mcpServers": {
    "tw-jobs": { "command": "uvx", "args": ["tw-jobs-mcp"] }
  }
}

VS Code(GitHub Copilot):.vscode/mcp.json 使用 servers,并且需要一个 type:

{
  "servers": {
    "tw-jobs": { "type": "stdio", "command": "uvx", "args": ["tw-jobs-mcp"] }
  }
}

远程(HTTP)和 Docker,适用于通过 URL 连接的客户端,或由团队共享的服务:

uvx tw-jobs-mcp --transport streamable-http --port 8000   # http://127.0.0.1:8000/mcp
docker build -t tw-jobs-mcp . && docker run --rm -p 8000:8000 tw-jobs-mcp

HTTP 服务没有身份验证。请将其限制在 localhost 或专用网络中,或者在前面配置一个带身份验证的反向代理。

尚未发布的代码:uvx --from git+https://github.com/HsuanC0921/tw-jobs-mcp tw-jobs-mcp。

Agent 技能

服务已内置如何使用它的说明。skills/tw-jobs 为会加载技能的 Agent 提供更多指导:将请求转换为参数、选择来源、阅读说明,以及如实汇报。它遵循开放的 Agent Skills 格式。

  • Claude Code:先运行 /plugin marketplace add HsuanC0921/tw-jobs-mcp,再运行 /plugin install tw-jobs@tw-jobs-mcp(会一并安装服务和技能)。或者将 skills/tw-jobs 复制到 ~/.claude/skills/。
  • Codex 和其他支持技能的 Agent:将 skills/tw-jobs 复制到 ~/.agents/skills/。

工具

工具功能
search_jobs搜索职位信息。返回一张表格,包含:id、company_id、职位名称、公司、薪资、地点、学历、技能、发布日期。
get_job查看完整的职位信息:描述、要求、薪资、工时、休假、福利,以及人资最近处理履历的时间。仅适用于 104:applicants=true 会额外返回应征人数和背景分布,similar=true 会额外返回相似职位。
get_company查看公司简介。with_openings=true 会额外返回目前的职位;keyword 仅列出匹配的职位,在 104 上也会匹配职位描述。
salary_overview统计 104 搜索结果中 1 至 5 页职位的薪资(中位数、四分位数、最低值、最高值),并按薪资单位分组。
sources实时检查各信息来源是否可访问或已被屏蔽。
lookup_code按名称查找 104 的地区或类别代码,或浏览树状目录。

search_jobs 参数均为可选项:

参数含义
keyword、keyword_en1 至 3 个简短词语。搜索 104 时,在 keyword 中填写中文;搜索国外网站时,在 keyword_en 中填写英文,两者互为翻译。助手会自动填写这两个参数,因此中文请求也能找到国外网站上的职位信息。
source104(默认)、yourator、boards、workday 或 all
area、jobcat中文名称,例如 ["台北市", "新北市"]、["軟體工程師"]
salary_min、salary_unit薪资下限及其单位:月薪(默认)、年薪、日薪、時薪
include_negotiable与 salary_min 配合使用时,也列出未注明薪资的职位(104 默认不列出)
my_years用户的工作经验年数;列出要求不超过该年数的职位,也包括經驗不拘的职位
education高中職、專科、大學、碩士、博士
job_type全職、兼職、高階、派遣
remote_only、new_only仅远程职位;7 天内发布
sortrelevance(默认)、newest、salary
page、per_page分页,每页最多 30 条

信息来源

source覆盖范围应用的筛选条件
104台湾最大的人力银行网站全部
yourator初创公司和外商办事处keyword、area、sort=newest
boards台湾公司在 Greenhouse 和 Lever 招聘网站上的职位keyword、area、remote_only
workday38 家使用 Workday 的外商在台湾的职位keyword、area
all合并并排序以上所有来源按来源应用筛选;某个来源失效时会注明,但不会导致整体失败

ID 表示职位信息所在的网站:不带前缀的 ID 来自 104,y: 来自 Yourator,g: / l: 分别来自 Greenhouse / Lever,w: 来自 Workday。请按原样传入这些 ID。

使用 TW_JOBS_BOARDS(g:gitlab,l:kraken,-g:stripe)和 TW_JOBS_WORKDAY(acme.wd1/External,-micron)添加或移除招聘网站;前缀 - 表示移除。每次 Workday 搜索会读取每家公司最前面的 60 条记录,因此进行深度搜索时请用关键词缩小范围。

有意不包含:1111(与 104 类型相同但规模较小的求职网站)、Cake(每次请求都会遇到 Cloudflare 验证)和 LinkedIn(其条款禁止自动访问)。

配置

变量默认值含义
TW_JOBS_TRANSPORTstdiostdio 或 streamable-http(与 --transport 相同)
TW_JOBS_HOST、TW_JOBS_PORT127.0.0.1、8000HTTP 绑定地址
TW_JOBS_CACHE_TTL300响应缓存秒数;0 表示关闭缓存
TW_JOBS_BOARDS、TW_JOBS_WORKDAY内置列表要添加或移除的招聘网站(参见“信息来源”)
TW_JOBS_FORMATtextjson 会将每个字段以紧凑 JSON 格式返回

工作原理及其局限

104 位于 Cloudflare 后方,Cloudflare 会向普通 HTTP 客户端返回 403。curl_cffi 会呈现真实的 Chrome TLS 指纹,从而通过验证。区域和类别名称会根据 104 的公开代码表在本地解析。

  • 只读。 不登录、不申请职位或收藏职位。把招聘网站密码交给 AI,风险不值得承担。
  • 不支持按公司名称搜索。 104 会阻止脚本访问该接口。可通过职位发布中的 company_id 查找公司,或将公司名称填入 keyword。
  • 申请人数为推算值。 104 只公布百分比,因此该人数是符合百分比的最小值,是下限而非精确数字。
  • salary_overview 会抽取相关性最高的职位,而非整个网站的职位;许多职位也不会公布薪资。

开发

uv sync
uv run pytest                  # offline unit and protocol tests
uv run pytest -m live          # against the real sites
uv run python scripts/update_codes.py   # refresh 104's area and category tables

许可证

MIT。按原样提供,不附带任何担保。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。