mcp-job-radar
MCP Job Radar
English · Português
一个安全、只读的 Model Context Protocol 服务器,用于职位发现和可解释的匹配。
职位描述可能包含提示注入、命令、秘密请求和恶意链接。该服务器向 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
工具
工具 | 返回内容 | 安全边界 |
| 来自标题和声明技能的有界匹配 | 描述不影响搜索 |
| 针对类型化配置文件的分数、原因和权衡 | 确定性策略,无隐藏 LLM 判断 |
| 单个分数背后的确切因素 | 与排序相同的策略,无事后解释 |
| 响应中的 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| MMCP 适配器不包含排序逻辑。应用服务拥有用例,安全网关拥有信任边界,仓库拥有源韧性。这种分离使协议可替换,关键策略可独立测试。
安全控制
职位描述在进入代理上下文之前会被限制、规范化、扫描和编辑。
提示注入短语、秘密请求、命令和嵌入 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 承担。
Maintenance
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
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to securely query VAST Data databases for schema, metadata, and sample data via read-only SQL and MCP resources.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to search and analyze LinkedIn jobs with advanced filters, salary requirements, and market insights through natural language.21MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to discover, filter, and track job openings based on the user's local resume, without uploading data to the cloud.12MIT

FoundRole MCPofficial
AlicenseAqualityBmaintenanceEnables 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.20269MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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