Skip to main content
Glama
RaphaelCerri

mcp-job-radar

by RaphaelCerri

MCP Job Radar

English · Português

一个安全、只读的 Model Context Protocol 服务器,用于职位发现和可解释的匹配。

CI Python 3.11+ MCP 2026-07-28 License MIT

职位描述可能包含提示注入、命令、秘密请求和恶意链接。该服务器向 AI 主机暴露职位搜索能力,而不会将不可信的列表变成指令通道。每个工具都是类型化、有界、可审计、只读的,并通过真实的进程内 MCP 客户端进行测试。

审阅者可以在三分钟内验证的内容

uv sync --extra dev
uv run pytest
uv run mcp-job-radar-demo

该演示将一个官方 MCP 客户端连接到服务器,通过 tools/list 发现工具,调用 search_jobs,并打印其结构化结果。测试覆盖工具发现、JSON Schema、确定性排序、类型化错误、超时、重试、熔断和对抗性内容。

Related MCP server: LinkedIn Jobs MCP Server

工具

工具

返回内容

安全边界

search_jobs

来自标题和声明技能的有界匹配

描述不影响搜索

rank_jobs

针对类型化配置文件的分数、原因和权衡

确定性策略,无隐藏 LLM 判断

explain_match

单个分数背后的确切因素

与排序相同的策略,无事后解释

export_shortlist

响应中的 Markdown 或 JSON

无文件系统写入或职位申请

所有输入和输出都使用严格的 Pydantic 模型。无效、缺失、重复或过量的输入会产生稳定的机器可读错误,而不是实现回溯。

架构

flowchart LR
    H[AI host] -->|MCP| M[MCP adapter]
    M --> A[Safe audit boundary]
    A --> S[Typed job service]
    S --> R[Deterministic ranker]
    S --> G[Untrusted-content gateway]
    S --> D[Timeout, retry, circuit breaker]
    D --> F[(Normalized fixtures)]
    G -->|bounded and redacted| M

MCP 适配器不包含排序逻辑。应用服务拥有用例,安全网关拥有信任边界,仓库拥有源韧性。这种分离使协议可替换,关键策略可独立测试。

阅读完整的架构和威胁模型以及对抗性测试矩阵

安全控制

  • 职位描述在进入代理上下文之前会被限制、规范化、扫描和编辑。

  • 提示注入短语、秘密请求、命令和嵌入 URL 会成为明确的发现项。

  • 列表 URL 必须使用公共 HTTPS,不能包含凭据或指向本地/私有主机。

  • 结果数量和批次 ID 上限为 25。

  • 源访问具有超时、有界重试和进程内熔断器。

  • 审计事件包含工具名称、状态、持续时间和错误类型,绝不包含参数或结果主体。

  • 有意不提供命令执行、任意抓取、本地文件读取、自动申请或持久化导出能力。

示例请求

{
  "job_ids": ["remoteok-1001", "remotive-3003"],
  "profile": {
    "target_titles": ["AI Engineer", "AI Solutions Architect"],
    "skills": ["Python", "RAG", "LLM", "MCP"],
    "remote_required": true,
    "seniority": "senior",
    "minimum_salary_brl": 20000
  },
  "limit": 10
}

结果携带数值分数以及正面信号和明确的权衡。解释由相同的评分函数生成,因此它们不会偏离排序。

作为 MCP 服务器运行

默认传输是 stdio:

uv run mcp-job-radar

示例主机配置:

{
  "mcpServers": {
    "job-radar": {
      "command": "uv",
      "args": ["--directory", "ABSOLUTE_PATH_TO_REPOSITORY", "run", "mcp-job-radar"]
    }
  }
}

该项目使用官方 Python SDK v2 及其当前的 MCP 2026-07-28 协议线。自动化集成测试使用 Client(mcp)(SDK 的进程内客户端),而不是直接调用 Python 函数。

radar-de-vagas 的关系

radar-de-vagas 负责从六个公共源摄取、两层相关性过滤、规范化、全局去重和优先级排序。mcp-job-radar 增加了面向代理的契约和安全边界。其检入的规范化数据集使测试具有确定性,并使 CI 独立于抓取、凭据、速率限制和第三方中断。

可测量的行为

验收套件验证:

  • 恰好四个可发现的 MCP 工具;

  • 结构化的 MCP 结果和生成的输入模式;

  • 可重复的排序和匹配解释;

  • 所有定义的敌对内容类别都被编辑;

  • 不安全的 URL 类别被拒绝;

  • 格式错误和缓慢的源作为类型化的可重试失败返回;

  • 无自动申请或持久化写入表面。

覆盖率在 CI 中强制执行 85%。README 仅报告仓库断言的的行为,而非生产流量或合成的业务准确性声明。

验证驱动的调整

  • 在集成测试验证了移动的 ToolError 边界和类型化的 list_tools() 响应信封后,实现与已安装的 MCP SDK v2 API 对齐。

  • 在检查构建的 wheel 后,规范化夹具被移入 Python 包内。这防止了仅从可编辑源检出才能工作的演示。

  • 只读、非破坏性、幂等和封闭世界的注解在所有四个发现的工具上被断言,因此发布的元数据被检查而不仅仅是记录。

限制和后续步骤

  • 演示数据是合成的且已规范化。它证明了代理边界,而非实时源可用性。

  • 排序是基于词汇和策略的;语义等价和职业细微差别仍不在 v0.1 范围内。

  • 熔断器是进程本地的。分布式部署需要共享状态和指标。

  • 实时适配器应消费来自 radar-de-vagas 的版本化规范化输出,而不是导入其脚本或复制特定源的抓取。

  • 身份验证和 Streamable HTTP 部署有意不在这个本地 stdio 演示中。只有在将服务器暴露给可信主机之外时才需要它们。

AI 辅助披露

该仓库是使用 AI 辅助实现和审查开发的。架构、安全声明、测试、限制和发布的工件都对照可执行行为进行了检查。作者责任和最终技术决策仍由 Raphael Caveagna 承担。

A
license - permissive license
A
quality
C
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
    Not graded
    quality
    D
    maintenance
    Enables AI agents to search and analyze LinkedIn jobs with advanced filters, salary requirements, and market insights through natural language.
    21
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to discover, filter, and track job openings based on the user's local resume, without uploading data to the cloud.
    12
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to search live jobs, view full details, save and track applications in a Kanban board, set follow-up reminders, and subscribe to job alerts—no account needed for searching.
    20
    269
    MIT

View all related MCP servers

Related MCP Connectors

  • Semantic search over 3.5M+ live US job postings pulled straight from company ATSes. Read-only.

  • Job platform for AI agents. Track tech jobs from companies that match your stack.

  • AI job search for Claude, ChatGPT, Cursor. 170K+ jobs, 3,800+ companies. OAuth or stdio.

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/RaphaelCerri/mcp-job-radar'

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