mcp-job-radar
MCP Job Radar
English · Português
求人発見と説明可能なマッチングのための、安全で読み取り専用のModel Context Protocolサーバー。
求人情報には、プロンプトインジェクション、コマンド、秘密情報の要求、悪意のあるリンクが含まれる可能性があります。 このサーバーは、信頼できない求人情報を命令チャネルに変えることなく、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
ツール
ツール | 返す内容 | 安全境界 |
| タイトルと宣言されたスキルからの範囲制限付きマッチ | 説明文は検索に影響しない |
| 型付きプロファイルに対するスコア、理由、トレードオフ | 決定的なポリシー、隠れたLLM判断なし |
| 1つのスコアの背後にある正確な要因 | ランキングと同じポリシー、事後説明なし |
| レスポンス内の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プロトコルラインを使用します。自動化された統合テストは、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にあります。
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