{"serverId":"pulsemcp/ai-dev-jobs","tools":[{"name":"analyze_application_readiness","fixed":{"name":"analyze_application_readiness","description":"Analyze candidate-verified evidence against one active job for $0 without requiring identity. The transient response reports covered and unsupported public job signals without an acceptance probability, does not persist candidate evidence, does not submit an application, and rejects hidden screening-model instructions.","inputSchema":{"type":"object","required":["job_id"],"properties":{"job_id":{"type":"string","description":"Active job UUID or slug returned by search_jobs or get_job."},"candidate_skills":{"type":"array","items":{"type":"string"},"maxItems":50,"description":"Candidate-declared skills used to identify relevant public job language. Only verified evidence counts as coverage."},"evidence_bullets":{"type":"array","items":{"type":"object","required":["id","text","skills","verified"],"properties":{"id":{"type":"string","description":"Candidate-controlled stable evidence reference."},"text":{"type":"string","description":"One factual, single-line resume bullet. Hidden text and screening-model instructions are rejected."},"skills":{"type":"array","items":{"type":"string"},"maxItems":20},"verified":{"type":"boolean","description":"True only when the candidate has verified this claim and its provenance."}}},"maxItems":50,"description":"Candidate-owned factual evidence. Raw text is processed transiently and is not retained in MCP analytics."}}},"annotations":{"readOnlyHint":true},"title":"Analyze Application Readiness"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":397,"tokensAfter":397},{"name":"apply_to_job","fixed":{"name":"apply_to_job","description":"Submit only the exact, visible compiled artifact after the email-verified human principal approves its hash. Requires the single-use approval authorization, an API key, and principal_authorized=true. Candidates and agents are never charged.","inputSchema":{"type":"object","required":["job_id","principal_authorized","compiled_artifact_id","compiled_artifact_hash","compiled_authorization_id"],"properties":{"job_id":{"type":"string","description":"Active job UUID returned by search_jobs or get_job."},"compiled_artifact_id":{"type":"string","description":"Private artifact ID returned by compile_job_specific_resume."},"principal_authorized":{"type":"boolean","description":"True only after the named candidate explicitly authorizes this exact application."},"compiled_artifact_hash":{"type":"string","description":"Exact SHA-256 hash of the candidate-approved compiled artifact."},"compiled_authorization_id":{"type":"string","description":"Short-lived single-use authorization returned by approve_compiled_application."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Submit a Confirmed Job Application"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":296,"tokensAfter":296},{"name":"approve_compiled_application","fixed":{"name":"approve_compiled_application","description":"Create a short-lived, single-use authorization for one email-verified candidate, one exact compiled artifact hash, and one unchanged active job. Requires principal_authorized=true, costs the candidate $0, and does not submit an application.","inputSchema":{"type":"object","required":["artifact_id","artifact_hash","principal_authorized"],"properties":{"artifact_id":{"type":"string","description":"Private artifact ID returned by compile_job_specific_resume."},"artifact_hash":{"type":"string","description":"Exact SHA-256 artifact hash returned by compile_job_specific_resume."},"principal_authorized":{"type":"boolean","description":"True only after the named candidate reviews and authorizes this exact artifact for its exact job."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Approve an Exact Compiled Application"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":221,"tokensAfter":221},{"name":"get_company","fixed":{"name":"get_company","description":"Get detailed profile for an AI company: total open roles, salary range, top tags/skills, workplace distribution, and apply URL. Use after list_companies or search_jobs to learn more about a specific employer.","inputSchema":{"type":"object","required":["slug"],"properties":{"slug":{"type":"string","description":"Company slug (e.g. 'anthropic', 'openai', 'deepmind'). Use the slug from search_jobs or list_companies results."}}},"annotations":{"readOnlyHint":true},"title":"Get Company Profile"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":130,"tokensAfter":130},{"name":"get_job","fixed":{"name":"get_job","description":"Fetch full job posting by ID or slug: title, description, requirements, salary, workplace, tags, apply URL. Use after search_jobs to read a specific listing.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"Job ID (UUID) or slug"}}},"annotations":{"readOnlyHint":true},"title":"Get Job Details"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":89,"tokensAfter":89},{"name":"get_salary_data","fixed":{"name":"get_salary_data","description":"Salary benchmarks for AI/ML roles. Filter by tag (e.g. 'llm', 'pytorch'), experience level, workplace type, or company. Returns average, median, p25, p75, min, max, and sample count. Useful for compensation research and negotiation.","inputSchema":{"type":"object","properties":{"tag":{"type":"string","description":"Filter by tag (e.g. 'llm', 'pytorch', 'agents')"},"level":{"enum":["junior","mid","senior","lead","principal"],"type":"string","description":"Experience level"},"company":{"type":"string","description":"Company slug (e.g. 'anthropic', 'openai')"},"workplace":{"enum":["remote","hybrid","onsite"],"type":"string","description":"Workplace type"}}},"annotations":{"readOnlyHint":true},"title":"Get Salary Benchmarks"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":196,"tokensAfter":196},{"name":"get_similar_jobs","fixed":{"name":"get_similar_jobs","description":"Given a job ID or slug, return active jobs that match on tag overlap, same workplace, level, and job type. Ranked by similarity score (tag overlap weighted 3x). Use after search_jobs to surface nearby roles — matches the /jobs/{id}/similar REST endpoint.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"Job ID (UUID) or slug — same identifier get_job accepts"},"limit":{"type":"integer","maximum":20,"minimum":1,"description":"Max results (default 5, max 20)"}}},"annotations":{"readOnlyHint":true},"title":"Get Similar Jobs"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":155,"tokensAfter":155},{"name":"get_stats","fixed":{"name":"get_stats","description":"Current AI Dev Jobs index statistics: total active jobs, companies hiring, median salary, new jobs today / this week, and the top 10 trending tags across jobs posted in the last 7 days. This is free index data and does not create a payment handoff.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true},"title":"Get Index Stats"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":93,"tokensAfter":93},{"name":"get_trending_companies","fixed":{"name":"get_trending_companies","description":"Companies posting the most AI/ML jobs in the last N days. Complements get_stats trending_tags_7d — while that answers 'what skills are trending', this answers 'who's hiring most aggressively'. Returns company name/slug/logo plus the count of new jobs in the window.","inputSchema":{"type":"object","properties":{"days":{"type":"integer","maximum":30,"minimum":1,"description":"Look-back window in days (default 7, max 30)"},"limit":{"type":"integer","maximum":25,"minimum":1,"description":"Max results (default 10, max 25)"}}},"annotations":{"readOnlyHint":true},"title":"Get Trending Companies"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":160,"tokensAfter":160},{"name":"list_companies","fixed":{"name":"list_companies","description":"Returns top AI/ML companies by active role count, optionally with average salary. Useful for discovering who is hiring in AI.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","maximum":50,"minimum":1,"description":"Max companies (default 20, max 50)"}}},"annotations":{"readOnlyHint":true},"title":"List Top Hiring Companies"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":89,"tokensAfter":89},{"name":"list_my_interview_outcomes","fixed":{"name":"list_my_interview_outcomes","description":"List employer-reported interview outcomes for applications submitted with the authenticated developer API key. No candidate fee is ever created.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true},"title":"List My Interview Confirmations"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":69,"tokensAfter":69},{"name":"list_products","fixed":{"name":"list_products","description":"Returns AI Dev Board's only agent-readable commercial offer: the employer-funded Verified Interview Pilot. Candidates and agents pay $0; job discovery and the evidence-backed application workflow are free. The pilot is billable only after an owner-approved program, a verified candidate-authorized application, and independent employer and candidate interview confirmation. It never changes organic ranking.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true},"title":"List Outcome-Based Employer Pilot"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":138,"tokensAfter":138},{"name":"list_tags","fixed":{"name":"list_tags","description":"Returns all available job tags/skills with the count of active jobs for each. Use to discover what tags are available for search_jobs filtering.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true},"title":"List Available Tags"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":64,"tokensAfter":64},{"name":"search_jobs","fixed":{"name":"search_jobs","description":"Search curated AI/ML engineering roles for free. Filter by tags (e.g. llm, pytorch), workplace (remote/hybrid/onsite), global remote eligibility, experience level, salary range, or keyword. After selecting a role, candidates may use compile_job_specific_resume for a $0 transient ATS-oriented preview without identity; a verified key is required only to save an approval-bound artifact. The employer outcome pilot never affects organic results.","inputSchema":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"string"},"description":"Tag filter (e.g. ['llm', 'pytorch']). Returns jobs with ANY of these tags."},"level":{"enum":["junior","mid","senior","lead","principal"],"type":"string","description":"Experience level"},"limit":{"type":"integer","maximum":25,"minimum":1,"description":"Max results (default 10, max 25)"},"query":{"type":"string","description":"Keyword query — matches title, description, company name, and tags"},"company":{"type":"string","description":"Company slug (e.g. 'openai', 'anthropic') — returns only that company's jobs"},"job_type":{"enum":["full-time","part-time","contract","freelance"],"type":"string","description":"Employment type"},"location":{"type":"string","description":"Location substring (e.g. 'San Francisco')"},"workplace":{"enum":["remote","hybrid","onsite"],"type":"string","description":"Filter by workplace type"},"salary_min":{"type":"integer","description":"Minimum salary in USD. Matches if job's max salary >= this value (range overlap)."},"global_remote":{"type":"boolean","description":"Only roles explicitly open to candidates worldwide. Ambiguous or region-restricted remote jobs are excluded."},"posted_within_days":{"type":"integer","maximum":90,"minimum":1,"description":"Only return jobs posted within the last N days. Useful for polling agents that check for new listings — try 1 for daily, 7 for weekly."}}},"annotations":{"readOnlyHint":true},"title":"Search AI/ML Jobs"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":537,"tokensAfter":537},{"name":"start_checkout","fixed":{"name":"start_checkout","description":"Returns a non-charging owner-review request template for the Verified Interview Pilot only. It creates no request, program, candidate action, invoice, or charge. Employer identity, exact-role authority, and acknowledgement of the capped 30-day terms are required before a separate review request may be submitted.","inputSchema":{"type":"object","properties":{"company":{"type":"string","description":"Verified Interview Pilot employer company."},"product_id":{"type":"string","description":"Product ID from list_products."},"work_email":{"type":"string","description":"Verified Interview Pilot work email. Included only in the returned review-request template; this MCP call does not submit it."},"employer_name":{"type":"string","description":"Verified Interview Pilot employer contact name. Included only in the returned review-request template; this MCP call does not submit it."},"pilot_role_reference":{"type":"string","description":"Public job URL, requisition ID, or exact role reference for the pilot."},"pilot_authority_asserted":{"type":"boolean","description":"True only after the principal explicitly authorizes requesting owner review for this exact employer and role."},"pilot_terms_acknowledged":{"type":"boolean","description":"True only after the employer principal acknowledges the canonical 30-day, $99-per-mutually-confirmed-interview, three-interview/$297-cap terms."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Request Outcome-Based Employer Pilot Review"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":399,"tokensAfter":399}],"toolsChanged":15,"tokensSaved":0,"todo":[{"tool":"match_jobs","params":["level","job_type","workplace"]},{"tool":"record_my_application_outcome","params":["outcome"]},{"tool":"respond_to_interview_outcome","params":["outcome_id","candidate_confirms_interview"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}