AI Dev Jobs
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
MCP for 8,700+ current AI jobs. 13 tools: search, match, salaries, companies, commerce quotes.
| Author | com.aidevboard |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2751 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"AI Dev Jobs": {
"url": "https://aidevboard.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (20)
search_jobsSearch 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.
Parameters:
tags— array — Tag filter (e.g. ['llm', 'pytorch']). Returns jobs with ANY of these tags.level— string — Experience levellimit— integer — Max results (default 10, max 25)query— string — Keyword query — matches title, description, company name, and tagscompany— string — Company slug (e.g. 'openai', 'anthropic') — returns only that company's jobsjob_type— string — Employment typelocation— string — Location substring (e.g. 'San Francisco')workplace— string — Filter by workplace typesalary_min— integer — Minimum salary in USD. Matches if job's max salary >= this value (range overlap).global_remote— boolean — Only roles explicitly open to candidates worldwide. Ambiguous or region-restricted remote jobs are excluded.posted_within_days— integer — 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.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_jobFetch full job posting by ID or slug: title, description, requirements, salary, workplace, tags, apply URL. Use after search_jobs to read a specific listing.
Parameters:
id(required) — string — Job ID (UUID) or slug
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
list_companiesReturns top AI/ML companies by active role count, optionally with average salary. Useful for discovering who is hiring in AI.
Parameters:
limit— integer — Max companies (default 20, max 50)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_companyGet 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.
Parameters:
slug(required) — string — Company slug (e.g. 'anthropic', 'openai', 'deepmind'). Use the slug from search_jobs or list_companies results.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_statsCurrent 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.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
match_jobsRank active AI/ML jobs against a candidate profile for free. Scoring combines tag overlap (+2 per match), salary overlap (+3), workplace/level/type/location matches, and description keyword hits. 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 these matches.
Parameters:
skills(required) — array — Candidate skills/tags (e.g. ['python','llm','pytorch'])level— stringlimit— integer — Max results (default 10)job_type— stringlocation— string — Location substring (e.g. 'San Francisco')workplace— stringsalary_max— integer — Maximum salary USDsalary_min— integer — Minimum salary USD
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_salary_dataSalary 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.
Parameters:
tag— string — Filter by tag (e.g. 'llm', 'pytorch', 'agents')level— string — Experience levelcompany— string — Company slug (e.g. 'anthropic', 'openai')workplace— string — Workplace type
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_similar_jobsGiven 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.
Parameters:
id(required) — string — Job ID (UUID) or slug — same identifier get_job acceptslimit— integer — Max results (default 5, max 20)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_trending_companiesCompanies 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.
Parameters:
days— integer — Look-back window in days (default 7, max 30)limit— integer — Max results (default 10, max 25)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
list_tagsReturns all available job tags/skills with the count of active jobs for each. Use to discover what tags are available for search_jobs filtering.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
analyze_application_readinessAnalyze 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.
Parameters:
job_id(required) — string — Active job UUID or slug returned by search_jobs or get_job.candidate_skills— array — Candidate-declared skills used to identify relevant public job language. Only verified evidence counts as coverage.evidence_bullets— array — Candidate-owned factual evidence. Raw text is processed transiently and is not retained in MCP analytics.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
compile_job_specific_resumeCompile a $0 candidate-controlled ATS-oriented plain-text Markdown resume for one active job using only candidate-verified evidence. Without identity, returns a transient non-persisted preview that cannot be approved or submitted. With a verified candidate key, saves an immutable draft hash plus a machine-readable candidate_review handoff and requires the agent to pause for explicit human review. Never submits or authorizes an application.
Parameters:
job_id(required) — string — Active job UUID or slug returned by search_jobs or get_job.evidence_bullets(required) — array — Candidate-owned factual evidence. Raw text is processed transiently and is not retained in MCP analytics.candidate_skills— array — Candidate-declared skills. The draft lists a skill as evidence-backed only when verified evidence supports it.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
approve_compiled_applicationCreate 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.
Parameters:
artifact_id(required) — string — Private artifact ID returned by compile_job_specific_resume.artifact_hash(required) — string — Exact SHA-256 artifact hash returned by compile_job_specific_resume.principal_authorized(required) — boolean — True only after the named candidate reviews and authorizes this exact artifact for its exact job.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
apply_to_jobSubmit 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.
Parameters:
job_id(required) — string — Active job UUID returned by search_jobs or get_job.principal_authorized(required) — boolean — True only after the named candidate explicitly authorizes this exact application.compiled_artifact_id(required) — string — Private artifact ID returned by compile_job_specific_resume.compiled_artifact_hash(required) — string — Exact SHA-256 hash of the candidate-approved compiled artifact.compiled_authorization_id(required) — string — Short-lived single-use authorization returned by approve_compiled_application.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
record_my_application_outcomeRecord one email-verified candidate's explicitly authorized, fixed-taxonomy application outcome for $0. The receipt is candidate-reported, not employer-verified, creates no acceptance-rate claim, and never changes organic ranking.
Parameters:
application_id(required) — string — Application ID returned by apply_to_job.outcome(required) — stringprincipal_authorized(required) — boolean — True only after the named candidate authorizes this exact self-report.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
list_my_interview_outcomesList employer-reported interview outcomes for applications submitted with the authenticated developer API key. No candidate fee is ever created.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
respond_to_interview_outcomeRecord the authenticated candidate's independent response to an employer-reported interview. Requires explicit principal authorization. Confirmation can make a fixed employer fee billable; candidates and agents pay $0.
Parameters:
outcome_id(required) — stringcandidate_confirms_interview(required) — booleanprincipal_authorized(required) — boolean — True only after the candidate authorizes this attestation.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
list_productsReturns 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.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
quote_productReturns the deterministic, outcome-only terms for AI Dev Board's Verified Interview Pilot. No candidate or agent is charged; legacy package, sponsorship, and Dossier product IDs are retired from agent commerce.
Parameters:
product_id— string — The only active value is aidevboard_verified_interview_pilot.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
start_checkoutReturns 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.
Parameters:
company— string — Verified Interview Pilot employer company.product_id— string — Product ID from list_products.work_email— string — Verified Interview Pilot work email. Included only in the returned review-request template; this MCP call does not submit it.employer_name— string — Verified Interview Pilot employer contact name. Included only in the returned review-request template; this MCP call does not submit it.pilot_role_reference— string — Public job URL, requisition ID, or exact role reference for the pilot.pilot_authority_asserted— boolean — True only after the principal explicitly authorizes requesting owner review for this exact employer and role.pilot_terms_acknowledged— boolean — True only after the employer principal acknowledges the canonical 30-day, $99-per-mutually-confirmed-interview, three-interview/$297-cap terms.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.