MCP tools

Every MCP tool available to AI agents.

  • search_companiescompany

    Search companies by name, domain, industry, or size band.

    Filter the platform companies. All filters AND together.

    Parameters
    {
      "limit": "integer?",
      "query": "string?",
      "industry": "string?",
      "size_band": "string?"
    }
    Returns
    {
      "companies": "Company[]"
    }
    Example
    {"tool":"search_companies","input":{"industry":"saas","size_band":"50-200","limit":10}}
    
  • get_companycompany

    Fetch a single company with intelligence.

    Returns the full company with the latest intelligence snapshot.

    Parameters
    {
      "id": "string"
    }
    Returns
    {
      "company": "Company"
    }
  • create_companycompany

    Create or upsert a company.

    Entity-resolved on website and domain. Returns existing with created: false if matched.

    Parameters
    {
      "name": "string",
      "domain": "string?",
      "website": "string?"
    }
    Returns
    {
      "company": "Company",
      "created": "boolean"
    }
  • enrich_companycompany

    Force re-enrichment.

    Queues immediate re-enrichment. Emits company.enriched when done.

    Parameters
    {
      "id": "string"
    }
    Returns
    {
      "queued": "boolean",
      "company_id": "string"
    }
  • search_jobsjob

    Search published jobs.

    Full filter set for sourcing agents and job boards.

    Parameters
    {
      "limit": "integer?",
      "skills": "string[]?",
      "location": "string?",
      "seniority": "string?",
      "company_id": "string?"
    }
    Returns
    {
      "jobs": "Job[]"
    }
  • get_jobjob

    Fetch a single job with intelligence.

    Returns the full job with derived intelligence.

    Parameters
    {
      "id": "string"
    }
    Returns
    {
      "job": "Job"
    }
  • create_jobjob

    Create a job (defaults to draft).

    Default status is draft. Call publish_job to make it public.

    Parameters
    {
      "title": "string",
      "company_id": "string",
      "description": "string"
    }
    Returns
    {
      "job": "Job"
    }
  • publish_jobjob

    Publish a draft job.

    Idempotent — calling on an already-published job returns the same record.

    Parameters
    {
      "id": "string"
    }
    Returns
    {
      "job": "Job"
    }
  • search_candidatescandidate

    Search candidates.

    The primary tool for sourcing agents. Combine with find_matches for ranking.

    Parameters
    {
      "limit": "integer?",
      "query": "string?",
      "skills": "string[]?",
      "location": "string?",
      "seniority": "string?"
    }
    Returns
    {
      "candidates": "Candidate[]"
    }
  • get_candidatecandidate

    Fetch a candidate with intelligence.

    Returns the full candidate, including parsed experiences and intelligence.

    Parameters
    {
      "id": "string"
    }
    Returns
    {
      "candidate": "Candidate"
    }
  • create_candidatecandidate

    Create a candidate.

    Entity-resolved on email. Attach resume_upload_id to trigger parsing.

    Parameters
    {
      "email": "string?",
      "full_name": "string",
      "resume_upload_id": "string?"
    }
    Returns
    {
      "created": "boolean",
      "candidate": "Candidate"
    }
  • enrich_candidatecandidate

    Force re-parsing and re-enrichment.

    Queues a full re-parse + re-enrichment.

    Parameters
    {
      "id": "string"
    }
    Returns
    {
      "queued": "boolean",
      "candidate_id": "string"
    }
  • similar_candidatescandidate

    Find similar candidates (vector neighbors).

    Vector similarity over candidate embeddings.

    Parameters
    {
      "id": "string",
      "limit": "integer?"
    }
    Returns
    {
      "candidates": "Candidate[]"
    }
  • find_matchesmatching

    Return top-ranked candidates for a job.

    The ranking endpoint. Returns scored candidates with reasons.

    Parameters
    {
      "limit": "integer?",
      "job_id": "string",
      "min_score": "number?"
    }
    Returns
    {
      "matches": "Match[]"
    }
    Example
    {"tool":"find_matches","input":{"job_id":"job_01H","limit":10,"min_score":0.7}}
    
  • score_candidatematching

    Compute a match score for a (candidate, job) pair.

    Verify a single (candidate, job) pair before submitting an application.

    Parameters
    {
      "job_id": "string",
      "candidate_id": "string"
    }
    Returns
    {
      "score": "number",
      "reasons": "string[]"
    }
  • similar_jobsmatching

    Find similar jobs.

    Vector similarity over job embeddings.

    Parameters
    {
      "limit": "integer?",
      "job_id": "string"
    }
    Returns
    {
      "jobs": "Job[]"
    }
  • submit_applicationapplication

    Submit a candidate to a job.

    Records an application.submitted event. source defaults to agent from MCP.

    Parameters
    {
      "job_id": "string",
      "source": "string?",
      "candidate_id": "string"
    }
    Returns
    {
      "application": "Application"
    }
  • advance_applicationapplication

    Move an application to the next stage.

    Validates the target stage transition. Emits application.stage_changed.

    Parameters
    {
      "id": "string",
      "to_stage": "string"
    }
    Returns
    {
      "application": "Application"
    }
  • schedule_interviewinterview

    Schedule an interview.

    Creates an interview tied to an application. Emits interview.scheduled.

    Parameters
    {
      "kind": "string?",
      "scheduled_for": "string",
      "application_id": "string"
    }
    Returns
    {
      "interview": "Interview"
    }
  • record_placementplacement

    Record a placement.

    Records the hire. Emits placement.created.

    Parameters
    {
      "start_date": "string",
      "application_id": "string"
    }
    Returns
    {
      "placement": "Placement"
    }