accueil / serveurs / Recherche & Web / live.alpic.openjobs-3168f222/openjobs
live.alpic.openjobs-3168f222/openjobs
serveur MCP (Model Context Protocol) · openjobs 1.4.1
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que live.alpic.openjobs-3168f222/openjobs est sûr ?
Au dernier audit MCP Hub, le serveur MCP « live.alpic.openjobs-3168f222/openjobs » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 6 outils
- explain_data_source≈ 280 tokens
Where job listings come from, licensing, and links to the data provider. Use only when the user asks about data source, Feashliaa, license, attribution, or who built OpenJob.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "explain_data_source", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"github": "texte", "license": "texte", "summary": "texte", "website": "texte", "provider": "texte", "maintainer": "texte", "affiliation": "texte", "license_url": "texte", "openjob_repo": "texte", "what_we_show": "texte", "update_cadence": "texte"}} - explain_filters≈ 327 tokens
Plain-language search tips for job seekers. Use when the user asks how to search or what they can filter. No technical jargon in the reply.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "explain_filters", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"intro": "texte", "title": "texte", "filters": [], "limitations": [], "role_presets": [], "if_no_results": [], "verified_examples": []}} - get_app_intro≈ 253 tokens
Friendly introduction to OpenJob for job seekers. Use when the user is new or asks how this works. Return plain language only.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_app_intro", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"name": "texte", "tips": [], "cv_note": "texte", "tagline": "texte", "welcome": "texte", "who_its_for": "texte", "what_it_does": "texte", "seniority_note": "texte", "example_prompts": []}} - get_index_status≈ 242 tokens
How much of the job board is loaded and whether search is ready. Explain to the user in simple terms, not technical sync jargon.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_index_status", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ready": true, "message": "texte", "baked_index": true, "jobs_loaded": 1, "still_loading": true, "coverage_percent": "texte", "total_jobs_about": "texte"}} - get_job_details≈ 1052 tokens
Fetch full posting text for job urls from search_jobs. Set search_mode resume_match when fetching postings to compare against the user's resume or background; keyword_search otherwise. Greenhouse (including embedded careers pages), Ashby, and Lever are supported; other career sites may return unsupported_ats. Closed roles are cached about 24 hours; open postings about 14 days (posting text only, not user resumes). Use description_text to compare against the user's resume or stated background.
Paramètres, retour & exemple (4)
Paramètresurl· string · optionnel
Single job url from search_jobs results.urls· array · optionnel
Up to 10 job urls — preferred after resume match.search_mode· string · optionnel · keyword_search | resume_match
keyword_search = role/location/filters only; resume_match = user uploaded a resume (CV) or asked to match jobs to their background or ChatGPT memory.user_intent· string · optionnel
A concise summary of what the user is trying to accomplish, derived from their message or the conversation context that triggered this tool call. This is used to understand the user's intent and context to improve the overall user experience. - For short, self-contained prompts (e.g. "I want new shoes"), copy the user message as-is. - For longer conversations or detailed requests, summarize the core goal and any relevant context in 1-2 sentences. Focus on intent, constraints, and preferences - not the full dialogue. Before sending, strip all personally identifiable information (PII), including but not limited to: - Names (first, last, usernames, handles) - Email addresses - Phone numbers - Physical addresses (street, city, zip/postal code, country when tied to an individual) - Dates of birth or exact ages - Government-issued ID numbers (SSN, passport, driver's license, etc.) - Payment or financial information (card numbers, bank accounts, etc.) - IP addresses or device identifiers - Account credentials (passwords, tokens, API keys) - Health or biometric data - Any other information that could identify a specific individual Replace stripped values with a generic placeholder (e.g. "[name]", "[email]", "[address]"). Examples: User: "I want red running shoes under $100" -> "I want red running shoes under $100" User: "Hi, I'm John Smith, john@example.com, and I'm looking for flights from Paris to Tokyo for 2 adults departing around mid-June, budget around EUR2000 total" -> "Looking for flights from Paris to Tokyo for 2 adults, mid-June, budget ~EUR2000" User: "I need help resetting my password for account ID acct_12345" -> "I need help resetting my password for account ID [account_id]"
Exemple d'appel{"name": "get_job_details", "arguments": {"url": "texte", "urls": [], "search_mode": "keyword_search", "user_intent": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"jobs": [], "count": 1, "loaded_ok": 1, "requested": 1, "from_cache_count": 1}} - search_jobs≈ 2056 tokens
Search open company job listings. Map the user's natural language to filters. Always set search_mode on search_jobs and get_job_details: keyword_search when the user only describes a role, place, or filters; resume_match when they upload a resume/CV or ask to match jobs to their background or memory. Never show parameter names (role_cluster, skill_level, search_mode, etc.) to the user — speak like a career coach. Do not mention data sources or licenses unless the user asks — use explain_data_source for that. Every job has url and apply_url (company careers page). When you list jobs in a table, bullets, or prose, each row must include at least one clickable markdown link to that url — e.g. linked title [Title](url), linked company name, or a separate Apply / View posting link. Never list a job with no way to click through. After search_jobs, add a structured follow-up in the user's language — the widget shows cards; your text adds coaching. Include: (1) a markdown table Role | Company | Fit (use resume/memory when available; otherwise one-line highlight per row); (2) a numbered priority list for applying (top 3–5 with brief rationale); (3) if the user shared background, one CV positioning sentence they can reuse; (4) related title search variants as inline tags (e.g. Entrepreneur in Residence, Venture Development, GTM Associate, Chief of Staff). When the user has a resume or detailed background, call get_job_details on the best 5–8 urls before ranking. Do not invent match percentages. search_jobs live-checks up to 8 Greenhouse/Ashby/Lever listings per search and drops roles confirmed closed on the company site. For deeper advice on a shortlist, call get_job_details on the best urls (batch up to 10) to load full posting text. Use verifiable_only=true when the user wants only listings we can double-check live (~30% of the board). When the user uploads a resume (curriculum vitae) or asks to match jobs to their background (or ChatGPT memory): (1) extract target titles, seniority, locations, remote preference, title keywords, exclusions; (2) if missing both a role and a place, ask one short question; (3) run 2–4 search_jobs calls with varied strategies and search_mode resume_match; (4) for the best 5–10 results call get_job_details with their urls (batch up to 10) and search_mode resume_match; (5) dedupe, rank using description_text when status is ok, explain top picks in plain language with apply links; do not invent percentage match scores. For role families (founder/founder's/founders associate, chief of staff, product manager) pass the user's words in title — OpenJob normalizes spelling variants automatically; role_cluster is optional. hide_recruiters defaults true (skip recruiting agencies).
Paramètres, retour & exemple (16)
Paramètresats· string · optionnel
Career-site type if user asks, e.g. greenhouse, lever, ashbylimit· integer · optionneltitle· string · optionnel
Job title keywords from the user's words.company· string · optionnel
Company name.location· string · optionnel
City, region, or country.min_salary· number · optionnelremote_only· boolean · optionnelsearch_mode· string · requis · keyword_search | resume_match
keyword_search = role/location/filters only; resume_match = user uploaded a resume (CV) or asked to match jobs to their background or ChatGPT memory.skill_level· string · optionnel · intern | entry | mid | senior
Seniority if user says junior, senior, etc.user_intent· string · optionnel
A concise summary of what the user is trying to accomplish, derived from their message or the conversation context that triggered this tool call. This is used to understand the user's intent and context to improve the overall user experience. - For short, self-contained prompts (e.g. "I want new shoes"), copy the user message as-is. - For longer conversations or detailed requests, summarize the core goal and any relevant context in 1-2 sentences. Focus on intent, constraints, and preferences - not the full dialogue. Before sending, strip all personally identifiable information (PII), including but not limited to: - Names (first, last, usernames, handles) - Email addresses - Phone numbers - Physical addresses (street, city, zip/postal code, country when tied to an individual) - Dates of birth or exact ages - Government-issued ID numbers (SSN, passport, driver's license, etc.) - Payment or financial information (card numbers, bank accounts, etc.) - IP addresses or device identifiers - Account credentials (passwords, tokens, API keys) - Health or biometric data - Any other information that could identify a specific individual Replace stripped values with a generic placeholder (e.g. "[name]", "[email]", "[address]"). Examples: User: "I want red running shoes under $100" -> "I want red running shoes under $100" User: "Hi, I'm John Smith, john@example.com, and I'm looking for flights from Paris to Tokyo for 2 adults departing around mid-June, budget around EUR2000 total" -> "Looking for flights from Paris to Tokyo for 2 adults, mid-June, budget ~EUR2000" User: "I need help resetting my password for account ID acct_12345" -> "I need help resetting my password for account ID [account_id]"verify_live· boolean · optionnel
Live-check Greenhouse/Ashby/Lever and drop listings confirmed closed; default truerole_cluster· string · optionnel
Internal preset when user wants a role family: founder_associate | chief_of_staff | product_managerhide_recruiters· boolean · optionnel
Exclude recruiting-agency posts; default trueverifiable_only· boolean · optionnel
Only Greenhouse, Ashby, and Lever (~30% of board) — listings we can live-verifyexclude_keywords· string · optionnel
Comma-separated words to exclude from titleinclude_keywords· string · optionnel
Comma-separated words that must appear in title
Exemple d'appel{"name": "search_jobs", "arguments": {"search_mode": "keyword_search"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"jobs": [], "count": 1, "hints": [], "locale": "de", "apply_note": "texte", "live_checks_run": 1, "listings_removed": 1, "model_followup_hint": "texte"}}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».