jobstack-mcp

Unified jobs search over official feeds + ATS boards (USAJOBS, Adzuna, Muse, Greenhouse, Lever...)

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
95%
命名质量
100%
投毒风险
80%
权限匹配度
100%
协议合规性
100%

发现(2)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains suspicious base64-like encoded string在 search_jobs 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~712token 数(工具定义)
~2.1 KB典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 0.56%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "jobstack-mcp": {
      "url": "https://jobstack-mcp.vercel.app/mcp"
    }
  }
}

远程端点

https://jobstack-mcp.vercel.app/mcpstreamable-http

它能做什么

工具清单

工具(2)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢search_jobs(keywords, location, remote, sources, limit, ...)

Search job postings across every configured source and merge the results into one flat Job shape. Fans out in parallel to USAJOBS, Adzuna, Jooble, The Muse, Reed, and the ats engine (Greenhouse/Lever/Ashby/Workable/SmartRecruiters), then merges + sorts by postedDate (newest first) and paginates the combined set. Each Job has id, source, title, company, location, remote, url, description, postedDate, salaryMin, salaryMax, salaryCurrency, department, and employmentType. The response envelope carries meta, the echoed query, sources_requested, an optional sources_errored map, total, count, limit, offset, and results. Use sources= to restrict to specific engines.

输入模式

{
  "type": "object",
  "properties": {
    "keywords": {
      "description": "Free-text search terms (job title, skill, company, etc.). Optional — omit to browse the latest postings.",
      "type": "string"
    },
    "location": {
      "description": "Free-text location filter (e.g. \"Washington, DC\" or \"London\"). Applied upstream where the source supports it.",
      "type": "string"
    },
    "remote": {
      "description": "Filter to remote roles when true. Only sources that expose an explicit remote signal apply it; others ignore it.",
      "type": "boolean"
    },
    "sources": {
      "description": "Comma-separated engine keys to restrict the fan-out to. Any of: usajobs, adzuna, jooble, themuse, reed, ats. Omit for all six.",
      "type": "string"
    },
    "limit": {
      "description": "Max results in the merged page, clamped 1-100. Default 20.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "description": "Zero-based offset into the merged result set for pagination. Default 0.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_job(source, id)

Fetch one job posting by its source engine and native id, returned as { meta, job } with the same flat Job shape search_jobs yields. The id is the native upstream id as returned by that source in search results (NOT prefixed with the source name). Exception: for source="ats" the id is a composite "board:company:nativeId" string (e.g. "greenhouse:airbnb:7995153") so the lookup can round-trip to the right ATS board. Not every source supports single-job lookup — a search-only source returns a not_supported / not_found error.

输入模式

{
  "type": "object",
  "properties": {
    "source": {
      "type": "string",
      "enum": [
        "usajobs",
        "adzuna",
        "jooble",
        "themuse",
        "reed",
        "ats"
      ],
      "description": "The engine that produced the job (matches the Job.source field from search_jobs)."
    },
    "id": {
      "type": "string",
      "description": "Native upstream job id as returned by that source. For source=\"ats\", the composite \"board:company:nativeId\" string."
    }
  },
  "required": [
    "source",
    "id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本2 个工具
已验证未记录版本2 个工具
已验证未记录版本2 个工具