Skip to main content
Glama
strelov1

freehire

by strelov1

freehire MCP 服务器

一个基于 freehire 职位 API 的 MCP 服务器。它让任何 MCP 宿主——Claude Desktop、Claude Code 或兼容的智能体——无需浏览器即可搜索、筛选和申请 IT 职位,并使用个人 API 密钥进行认证。职位发布直接抓取自公司招聘官网——覆盖 294K 家公司的 3.3M+ 个在招职位,规范化为统一结构,并标记了技术栈、资历、地区和工作模式(实时数据)。

它与 freehire CLI 保持一致:相同的 API、相同的凭据,只是以 MCP 工具而非 shell 命令的形式暴露。

安装

无需全局安装——宿主通过 npx 运行它。将其添加到宿主的 MCP 配置中(Claude Desktop → 设置 → 开发者 → 编辑配置,或 Claude Code 的 ~/.claude.json):

{
  "mcpServers": {
    "freehire": {
      "command": "npx",
      "args": ["-y", "freehire-mcp"],
      "env": { "FREEHIRE_TOKEN": "fhk_xxxxxxxx" }
    }
  }
}

在 Web 应用中创建 fhk_… 密钥(freehire.me → 账户菜单 → API 密钥)。如果你已经在使用 freehire CLI(freehire auth login),你可以省略 env——服务器会读取相同的 ~/.freehire/creds.json

Related MCP server: job-monitor

认证

令牌和 API 基础 URL 按以下优先级解析:环境变量 → ~/.freehire/creds.json → 默认 https://freehire.me

项目

来源

令牌

FREEHIRE_TOKEN → 凭据文件

API 基础 URL

FREEHIRE_API_URL → 凭据文件 → https://freehire.me

服务器只读取凭据文件(绝不写入——登录仍是 CLI 的职责)。如果未配置令牌,工具会返回明确的“未认证”错误,而不是让服务器启动失败。

工具

Tool

Purpose

whoami

当前登录用户(验证密钥)。

facets

筛选器/技能词汇表:每个维度的实时值及计数。请先调用。

search

关键字 + 维度职位搜索;返回职位 及其完整描述(markdown 格式) 和匹配总数。

market_fit

根据实时市场需求为技能列表打分(覆盖情况 + 差距)。

job

按 slug 获取单个职位的完整内容。

company

按 slug 获取公司及其在招职位。

apply

将职位标记为已申请。

save / unsave

添加书签 / 移除书签。

stage

设置申请阶段(服务器校验)。

note

附加一条自由文本备注。

my

调用者跟踪的职位(全部/已查看/已保存/已申请),包含阶段和备注。

cv_tailor

开始(或重新打开)针对空缺职位的定制;返回其他 cv_* 工具所需的 CV id。

cv_list

调用者定制过的 CV,以及每个 CV 所针对的空缺职位。

cv_context

定制 CV 应重新聚焦的匹配度分析(missing_have 与 missing_gap)。

cv_get

定制 CV 的完整文档。

cv_edit

以原子方式对定制 CV 应用一批按路径寻址的编辑(服务器校验;无引用依据的陈述会被拒绝)。

cv_render

将定制 CV 渲染为 PDF,以 base64 application/pdf 资源返回。

experience_list

候选人的经历库,包含每项成就的来源cv_editevidence_id 来自这里。

experience_add_employment / experience_add_achievement

记录一个工作地点,或一条证据。

experience_update_employment / experience_update_achievement

更正其中一项。字段级:未指定的内容将保留。

experience_remove_employment / experience_remove_achievement

删除其中一项。不可撤销;工作地点必须为空才能删除。

submit

提交空缺职位以供审核。

my_submissions

调用者的提交记录及状态。

jobs_add / jobs_edit

审核员:创建 / 编辑职位(无此角色返回 403)。

submissions_pending

审核员:待审核队列。

submission_approve / submission_reject

审核员:对提交做出决定。

筛选器。 searchmarket_fitfacets 共享相同的市场筛选参数:remoteregioncountrycitycompanycategoryroleseniorityemployment_typeenglish_levelexclude_skillsalary_minvisa,外加一个通用的 facets 映射({"source": "greenhouse"}),用于词汇表中的任何其他维度。使用 facets 工具发现有效值——不要凭空臆造。在 search 中,skills 是筛选条件;在 market_fit 中,skills 是被评估的集合。

地理范围会扩大。 regioncountrycity 是一个“或”分组:region: ["eu"] 搭配 country: ["IT"] 表示“在欧洲意大利”,并返回仅用 region 时本应返回的所有结果。要搜索单个国家,请传入 country 并省略 region。这三个参数命名的是同一个概念——地点——因此同时选择两个地点会被理解为“任一”,这正是 region: ["eu"] 搭配 country: ["BR"](“欧洲或巴西”)之所以有用的原因。没有可切换的 AND:_mode=and 不适用于地理范围。

未识别的参数会被忽略,而不是被拒绝。 API 无法识别的筛选键不会使请求失败,而是会扩大请求范围。此类键会出现在结果的 ignored 列表中;如果只是语法上的单复数错误,还会附带 did_you_meansearch 会将它与 total 一起报告;facetsmarket_fit 返回的是单个对象,因此它们会将其包装为 {data, ignored}——并且仅在这种情况下,保持干净调用的返回结构不变。任何带有 ignored 的结果中的数字,所回答的问题都比原问题更宽泛——在报告之前,请先用建议的名称重试。

描述。 search 读取 API 的 agent 端点,因此每条命中结果都已带有渲染为 markdown 的完整职位描述——宿主无需对每条命中调用 job 即可筛选结果集。描述很长,所以请将 limit 保持在适中的值。

证据规则。 经历库中的每项成就都记录了断言者。cv_importstated_in_chatmanual 表示由候选人本人断言,可以在 CV 中引用;agent_inferred 表示由模型读入记录,不得引用。cv_edit 会拒绝任何没有 evidence_id 指向可引用证据的关于候选人的陈述,这正是 experience_list 是让 cv_edit 真正可用的工具的原因。

更正一项成就不会改变该标签:agent_inferred 的成就无论怎样改写都仍然不可引用。使其可引用的唯一方法是询问候选人,然后用 experience_add_achievement 记录他们所说的话。

删除是最终的——经历库没有撤销功能。一个工作地点必须先清空才能删除,因为删除它会带走其下所有成就。将两项成就合并为一项并保留两者的数字,这一操作在网站上完成。

每个工具都以 JSON 文本形式返回原始 API data;API 错误会变成带有 HTTP 状态的 isError 结果(401 会附加认证提示)。

开发

npm install
npm test        # vitest: config, client (mock server), facets, tool dispatch
npm run build   # tsc → dist/

许可证

MIT——参见 LICENSE。freehire 后端和 CLI 同样是 MIT 许可。

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    -
    quality
    A
    maintenance
    MCP server for job search and application tracking, enabling AI agents to search jobs, get details, manage applications, and find contacts across 128K+ jobs and 1,900+ companies.
    1,296
    2
    MIT
  • A
    license
    -
    quality
    C
    maintenance
    Searches LinkedIn, Indeed, USAJobs, and Google Jobs from the command line, deduplicates across sources, and optionally finds hiring manager emails; also runs as an MCP server for AI agents.
    MIT
  • F
    license
    -
    quality
    B
    maintenance
    Enables job search on LinkedIn through MCP tools, including keyword and location search, filtering by remote, easy apply, experience level, job type, and date, and retrieving job details.
  • A
    license
    -
    quality
    C
    maintenance
    Enables to interact with job application workflows through MCP, allowing users to find jobs, generate non-trivial applications with proof-maps, and build offline dashboards, all without auto-submitting.
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • Search live startup jobs from Claude, Cursor, or ChatGPT via MCP. Free, no account needed.

  • GetJobzi MCP server for job search, application tracking, and career forecasting.

  • RemoteOK MCP — remote-work job board (tech-heavy), keyless.

View all MCP Connectors

Latest Blog Posts

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/strelov1/freehire-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server