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クライアントを通じて実行されます。

レビュアーが3分で検証できること

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

1つのスコアの背後にある正確な要因

ランキングと同じポリシー、事後説明なし

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プロトコルラインを使用します。自動化された統合テストは、Python関数を直接呼び出すのではなく、SDKのインメモリクライアントであるClient(mcp)を使用します。

radar-de-vagasとの関係

radar-de-vagasは、6つの公開ソースからの取り込み、2層の関連性フィルタリング、正規化、グローバルな重複排除、および優先順序付けを担当します。mcp-job-radarは、エージェント向けのコントラクトとセキュリティ境界を追加します。チェックインされた正規化データセットにより、テストは決定的になり、CIはスクレイピング、認証情報、レート制限、および第三者サービスの停止から独立します。

測定された動作

受け入れスイートは以下を検証します:

  • 正確に4つの発見可能なMCPツール;

  • 構造化されたMCP結果と生成された入力スキーマ;

  • 再現可能なランキングとマッチングの説明;

  • 定義されたすべての敵対的コンテンツクラスが編集されること;

  • 安全でないURLクラスが拒否されること;

  • 不正な形式および低速なソースが型付きリトライ可能な失敗として返されること;

  • 自動応募または永続的書き込みのサーフェスがないこと。

カバレッジはCIで85%に enforced されています。READMEは、リポジトリによって検証された動作のみを報告し、本番トラフィックや合成されたビジネス精度の主張は報告しません。

検証駆動の調整

  • 統合テストで移動されたToolError境界と型付きlist_tools()レスポンスエンベロープが検証された後、実装はインストールされているMCP SDK v2 APIに合わせて調整されました。

  • ビルドされたホイールを検査した後、正規化されたフィクスチャはPythonパッケージ内に移動されました。これにより、編集可能なソースチェックアウトからしか動作しないデモを防ぎます。

  • 読み取り専用、非破壊的、冪等、および閉世界アノテーションが4つの発見されたツールすべてに対して検証されるため、公開されたメタデータは単に文書化されるだけでなくチェックされます。

制限事項と次のステップ

  • デモデータは合成かつ正規化されています。これはエージェント境界を証明するものであり、ライブソースの稼働時間を証明するものではありません。

  • ランキングは語彙ベースおよびポリシーベースです。意味的等価性とキャリアのニュアンスは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