mcpField
L
Landed

Landed

远程服务
landed.jobs商业与营销42 天前更新

关于 Landed

Landed 是面向求职者的 MCP 服务,可搜索经过匹配评分的 AI 相关职位、查看真实申请表并获取面试准备资源。它连接 Landed 的持续更新职位库,也提供可自托管的代理服务。

主要功能

  1. 01按条件搜索并匹配职位
  2. 02获取职位申请表字段
  3. 03提供面试与作品集资源
  4. 04可复用的求职工作流提示词
  5. 05支持匿名访问和令牌认证

适用场景

  1. 01按职位、技能和地点筛选工作
  2. 02为目标职位准备申请答案
  3. 03获取特定角色的面试学习材料

MCP 相关

提供 Streamable HTTP 远程 MCP 服务,向客户端开放职位搜索、申请表和学习资源工具,以及引导式提示词。仓库也可自托管为代理,转发请求至 Landed API。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.landed.jobs/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

3
参数类型必填说明
rolestring否目标职位或职称类别,例如 "AI Engineer"、"RAG Engineer"、"Data Scientist"。
avoidarray否要避开的公司或行业。
limitinteger否要返回的职位数量。
querystring否用用户自己的措辞描述理想工作的自由文本。服务器端会将其解析为结构化筛选条件;也会用作语义提示。
remoteenum否工作模式偏好。remote | hybrid | onsite
skillsarray否该职位应涉及的核心技能/技术,例如 ["RAG", "LangChain", "Python"]。
minCompnumber否可接受的最低基本薪酬(数值)。
regionsarray否旧版的远程工作资格地区/国家(人类可读),例如 ["APAC", "India"]。已知时优先使用 regionCodes/countryCodes。
currencystring否minComp 的货币,例如 "USD"。
locationsarray否偏好的实际工作城市/国家,使用精确名称;对于名称有歧义的城市,请注明国家,例如 ["Bengaluru, India", "London, UK"]。服务器端会将其解析为稳定的地点 ID。
senioritystring否目标资历级别,例如 "junior"、"mid"、"senior"、"staff"、"lead"。
industriesarray否偏好的公司行业/领域。
regionCodesarray否规范的远程工作资格地区。
countryCodesarray否ISO 3166-1 alpha-2 国家代码,表示职位可能所在或符合远程工作资格的国家,例如 ["IN"]。
companyStagesarray否偏好的公司发展阶段,例如 ["seed", "series-a", "public"]。
workAuthorizationCountryCodesarray否候选人获准工作的国家代码(ISO 格式)。

详细介绍

Landed

Landed MCP 服务

License: MIT Model Context Protocol smithery badge Works with Claude Works with Cursor

通过任意 MCP 客户端搜索 AI 原生职位、准备申请并备战面试。 一个公开的 Model Context Protocol 服务,让 Claude、Cursor、VS Code 和任何支持 MCP 的 Agent 实时访问 Landed 中经过排名和匹配度评分的职位库。

由 Landed 维护——每日推荐 AI 原生职位,Agent 为每份申请提供帮助,并提供模拟面试准备。


这是什么?

Landed MCP 将你的 AI 助手连接到一个经过筛选且持续更新的 AI 原生职位库 (AI 工程师、ML 工程师、RAG 工程师、AI 产品经理、GTM 工程师等)。你的 Agent 无需将招聘网站上的内容复制粘贴到聊天中,就可以:

  • 🔎 搜索职位 — 根据结构化条件(职位、技能、资历、远程办公、薪酬、行业……)进行排名和匹配度评分,也可以根据自然语言描述搜索。
  • 📝 准备申请 — 获取职位的真实申请表,并按常规/筛选/EEO 字段分类,以便 Agent 在你申请前自动填写表单并起草回答。
  • 🎓 备战面试 — 获取免费的精选面试准备、作品集和路线图资源。

它使用 Streamable HTTP,兼容任何 MCP 客户端。几秒钟即可使用托管服务,也可以将此代码库连接到你自己的 Landed API 进行自托管。

免费开始。 匿名调用者共享免费额度——无需注册,也无需密钥。添加 API 令牌即可获取无限制、个性化的结果。


快速开始(托管服务)

托管服务地址:

https://mcp.landed.jobs/mcp

选择下方的客户端。所有功能开箱即用,无需身份验证——只需省略 Authorization 请求头。添加 Authorization: Bearer lnd_live_…(在 Landed → Settings → API tokens 中创建)即可进行无限制、根据个人条件定制的搜索。

Claude Code

一行命令(CLI):

# Anonymous (free tier)
claude mcp add --transport http landed-jobs https://mcp.landed.jobs/mcp

# Authenticated (unlimited, personalized)
claude mcp add --transport http landed-jobs https://mcp.landed.jobs/mcp \
  --header "Authorization: Bearer lnd_live_your_token_here"

然后在会话中输入:/mcp 确认已连接,并尝试 find_jobs 提示词。

Claude Desktop

打开 Settings → Developer → Edit Config(这会打开 claude_desktop_config.json),然后添加:

{
  "mcpServers": {
    "landed-jobs": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote", "https://mcp.landed.jobs/mcp",
        "--header", "Authorization: Bearer lnd_live_your_token_here"
      ]
    }
  }
}

重启 Claude Desktop。免费匿名使用时,请删除 --header 行。

Claude Desktop 通过 mcp-remote 转接远程 HTTP 服务。 如果你的版本支持原生 Custom Connectors(Settings → Connectors → Add custom connector),也可以 直接粘贴 https://mcp.landed.jobs/mcp。

Cursor

在项目中创建 .cursor/mcp.json(或在全局路径 ~/.cursor/mcp.json 创建):

{
  "mcpServers": {
    "landed-jobs": {
      "url": "https://mcp.landed.jobs/mcp",
      "headers": { "Authorization": "Bearer lnd_live_your_token_here" }
    }
  }
}

然后在 Settings → MCP 下启用 landed-jobs。免费使用时,请省略 headers。

VS Code(GitHub Copilot / Agent Mode)

创建 .vscode/mcp.json:

{
  "servers": {
    "landed-jobs": {
      "type": "http",
      "url": "https://mcp.landed.jobs/mcp",
      "headers": { "Authorization": "Bearer lnd_live_your_token_here" }
    }
  }
}

打开 Chat 视图 → Agent 模式 → 工具会显示在 🔧 选择器中。

Windsurf

编辑 ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "landed-jobs": {
      "serverUrl": "https://mcp.landed.jobs/mcp",
      "headers": { "Authorization": "Bearer lnd_live_your_token_here" }
    }
  }
}
Cline(VS Code 扩展)

打开 Cline → MCP Servers → Configure,或编辑 cline_mcp_settings.json:

{
  "mcpServers": {
    "landed-jobs": {
      "type": "streamableHttp",
      "url": "https://mcp.landed.jobs/mcp",
      "headers": { "Authorization": "Bearer lnd_live_your_token_here" }
    }
  }
}
Gemini CLI

编辑 ~/.gemini/settings.json(或项目中的 .gemini/settings.json):

{
  "mcpServers": {
    "landed-jobs": {
      "httpUrl": "https://mcp.landed.jobs/mcp",
      "headers": { "Authorization": "Bearer lnd_live_your_token_here" }
    }
  }
}

重启 gemini 并运行 /mcp 查看工具。免费版可省略 headers。

其他 MCP 客户端

使用 Streamable HTTP 传输方式连接到 https://mcp.landed.jobs/mcp。如果有令牌,请传入 Authorization: Bearer <token>。可在终端中快速验证:

curl -s -X POST https://mcp.landed.jobs/mcp \
  -H 'content-type: application/json' \
  -H 'accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
注册表

Landed 已列入 Official MCP Registry,名称为 io.github.landedjobs/landed;也已列入 Smithery,名称为 landedjobs/landed。支持读取上述任一注册表的客户端都可以发现并安装它,无需任何 手动配置。


工具

工具功能匿名使用成本
search_jobs按排名和匹配度评分筛选职位。支持实际城市/国家标签,以及用于远程工作资格的规范国家/地区代码;自由文本由服务端解析。每返回 1 个职位消耗 1 个单位
get_job_form获取 jobId 对应的申请表,按 standard/screening/eeo 分组,便于准备答案。免费
get_learning_content提供精选的面试准备、作品集和学习路线图资源。免费

提示词(引导式工作流)

MCP 提示词是可重复使用、由用户调用的技能,能指导 Agent 如何串联工具,并将结果整理成清晰的职位候选列表,而不是原始 JSON。在大多数客户端中,它们会显示为斜杠命令。

提示词参数引导内容
find_jobsdescribe?搜索并呈现按排名和匹配度评分的候选列表,以及后续步骤。
prepare_applicationjobId获取申请表;自动填写标准问题、起草筛选问题答案,并将 EEO 部分留给用户填写。
prep_for_rolerole?获取相关职位的学习资源并建议学习顺序。

服务还提供始终启用的 instructions(工具概览、呈现规则、免费增值行为),兼容的客户端会自动加载。

位置参数

位置资格采用结构化数据,而非关键词匹配:

  • locations:实际城市/国家;对于有歧义的城市,应包含国家,例如 ["Bengaluru, India"]
  • countryCodes:符合远程工作/工作地点资格的 ISO alpha-2 代码,例如 ["IN"]
  • regionCodes:apac、emea 或 americas
  • workAuthorizationCountryCodes:工作许可国家的 ISO alpha-2 代码
  • remote:工作模式(remote、hybrid 或 onsite)

托管 API 会将人类可读的城市标签解析为稳定的地点标识。调用方不得自行编造地点 ID。为兼容性,仍接受旧版 regions 字段。


身份验证与定价

套餐方式可用内容
匿名不带请求头免费职位单位额度,每天 00:00 UTC 重置。根据 IP 和签发的 X-Landed-Anon 令牌综合计量(每个响应都会返回此令牌;重新发送该令牌即可在不同会话间保留额度)。
已认证Authorization: Bearer lnd_live_…无限搜索,并根据你保存的职位需求简述和个人资料进行个性化定制。在 Landed → Settings → API tokens 创建令牌。

每条结果都包含 freemium 数据块,让 Agent 可以查看剩余额度以及如何提高额度上限。


架构

此仓库是一个轻量、可自托管的代理。它使用 MCP 并转发请求至托管的 Landed API——它不包含数据库、排名引擎或职位数据。

   MCP client                 landed-mcp (this repo)              Landed API
 ┌─────────────┐   HTTP    ┌────────────────────────┐  HTTPS   ┌────────────────────────┐
 │ Claude /    │ ───────▶  │ • MCP protocol + tools │ ──────▶  │ • search engine        │
 │ Cursor /    │  /mcp     │ • forwards caller creds│          │ • job corpus + forms   │
 │ VS Code …   │ ◀───────  │ • local learning list  │ ◀──────  │ • auth · freemium meter│
 └─────────────┘           └────────────────────────┘          └────────────────────────┘

代理本身不进行解析:它会将调用方的 API 令牌(或匿名 ID)转发至 Landed API,由后者验证令牌、执行搜索、计量用量,并返回结果和 freemium 数据块,代理会原样转发该数据块。get_learning_content 目录是静态的,保存在此仓库中 (src/mcp/catalog/learning.ts)——此工具无需任何后端即可使用。


自托管

运行自己的代理,连接 Landed API(或你自行部署的 Landed API)。

前提条件
  • Node.js ≥ 20
  • pnpm(npm i -g pnpm)
  • Landed API 基础 URL 和对应的共享内部密钥
运行
git clone [email protected]:landedjobs/landed-mcp.git
cd landed-mcp
pnpm install
cp .env.example .env       # then fill in the values below
pnpm dev                   # hot-reload dev server
# → [mcp] listening on :8090 — POST /mcp → https://api.landed.jobs/api/v1

生产环境请运行:pnpm start。

Stdio 和 Docker

对于将服务器作为进程启动的客户端,pnpm start:stdio 使用 stdio 而非 HTTP 传输 MCP。设置 LANDED_API_TOKEN 即可使用你自己的 API 令牌;如果不设置,则可使用匿名免费额度。

docker build -t landed-mcp .
docker run -i --rm landed-mcp

该镜像会运行 stdio 服务,并连接托管的 API。

环境变量
变量必填默认值描述
LANDED_API_BASE✓http://localhost:8000/api/v1托管的 Landed API 基础 URL,必须包含 /api/v1 前缀。
LANDED_INTERNAL_SECRET✓—用于验证此代理与 API 身份的共享密钥(必须与服务器的 INTERNAL_SERVICE_SECRET 一致)。
PORT8090监听的 HTTP 端口。
CORS_ORIGINS*以逗号分隔的来源许可列表,或 *。
RATE_LIMIT_PER_MIN60每个 IP 的第一道请求频率上限。API 的免费增值额度才是真正的经济上限。
端点
方法路径用途
POST/mcpMCP Streamable HTTP 端点(无状态)。
GET/healthz存活探针({ "ok": true })。

开发

pnpm dev           # watch + reload
pnpm check-types   # tsc --noEmit
pnpm test          # deterministic input-contract tests
pnpm start         # run once

仓库在 server.json 中包含官方 MCP Registry 元数据。该文件描述公开的 Streamable HTTP 端点,但不代表此服务器已提交至或被任何外部注册表接受。

项目布局

src/
├── index.ts                 # bootstrap: start the HTTP server
├── config/                  # env → typed config
├── http/                    # express shell + per-IP rate limiter
├── services/api-client.ts   # typed fetch client → Landed API
├── types.ts                 # the API response contract (owned here)
└── mcp/
    ├── server.ts            # instructions + tool/prompt registration
    ├── prompts.ts           # find_jobs / prepare_application / prep_for_role
    ├── catalog/learning.ts  # static, public learning resources
    └── tools/               # search_jobs · get_job_form · get_learning_content

技术栈:TypeScript · Express · @modelcontextprotocol/sdk · Zod。无需数据库,也无需构建步骤(使用 tsx 运行)。


贡献

欢迎提交问题和 PR,尤其欢迎修复错误、新增客户端设置指南和补充学习目录。 提交 PR 前,请运行 pnpm check-types 和 pnpm test。如需私下报告漏洞, 请参阅 SECURITY.md。

许可证

MIT © Landed

评论

支持 Markdown

第一次接触 MCP?

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

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