OJCPOJCP
Version 0.3

The open standard for
|

OJCP defines how AI agents discover, reason over, and act on job opportunities. Built on MCP. Interoperable with schema.org. Governed by an independent steering committee, and designed to compose with the broader agentic web.

Founding Members

Built by a coalition, not a vendor

OJCP is shaped by employers, ATS vendors, job boards, staffing agencies, and agent platforms — each holding one seat on the steering committee, none holding a veto.

WorkdayCrossCountry HealthcareRecruiticsLoopCVHiring.cafeaiApplyscale.jobsTink

Why OJCP

Built for the agentic web

A shared protocol so AI agents and job providers speak the same language — structured, discoverable, privacy-respecting.

MCP-Native Tools

OJCP tools are valid MCP tools. Any MCP client can call search_jobs, get_job_detail, and begin_application out of the box.

Structured Discovery

Providers expose a manifest at /.well-known/ojcp.json. Agents discover capabilities, tools, and apply paths automatically.

Normalized Apply Paths

A standard taxonomy of application mechanisms — from ATS-direct to agent-ready flows — so agents know exactly how to apply.

Consent-First Privacy

Candidate data is opt-in and scoped. Resume embeddings enable fit-scoring without transmitting PII. Visa, relocation, and clearance eligibility is stated explicitly, and an unstated gate is never read as a no.

Agent-Aware Ranking

Pass CandidateContext for personalized results. Providers return fit_score and fit_rationale alongside standard job data.

WebMCP Ready

Browser-native agents can access OJCP tools via navigator.modelContext. Same schemas, same tools, new surface.

Verified Agent Identity

Agents sign requests and bind agent_id to their own namespace, with delegated signing for third-party hosts. User mandates prove that a person authorized one specific action.

Agent-Scoped Visibility

Providers mark jobs public, restricted, or private and enforce visibility server-side against a verified agent_id. Gating depends on the agent, never on the candidate.

Provider-Derived Attribution

Providers credit each application from evidence they already hold — an issued attribution_ref or the agent's last impression of the job. No relaying, no fingerprinting.

Specification

Schemas & Tools

OJCP defines eight core schemas and six standard MCP tools. Providers MUST implement search_jobs; all others are recommended. Custom tools use namespaced names (e.g., acme:get_referral_link).

Job Manifest
manifest.json

Discovery endpoint at /.well-known/ojcp.json

  • ojcp_version
  • provider
  • tools
  • mcp_endpoint
  • auth
  • rate_limits
JobPosting
job-posting.json

Extends schema.org/JobPosting with agent-specific fields

  • ojcp_id
  • skills_required
  • experienceLevel
  • jobLocation (one or many)
  • apply_paths
  • urgency
  • visibility
  • eligibility
CandidateContext
candidate-context.json

Consent-scoped candidate profile for personalized results

  • consent_scope
  • skills
  • experience_years
  • employment_type_preference
AgentDeclaration
agent-declaration.json

Agent identification, signed requests, and user mandates

  • agent_id
  • acting_on_behalf_of
  • interaction_mode
  • user_consent_token
  • user_mandate
VerificationStep
verification-step.json

Identity verification action for human completion

  • step_id
  • type
  • verifier_id
  • verification_url
  • ui_resource (MCP Apps)
  • human_required
VerificationProof
verification-proof.json

JWS proof with required claims: iss, aud, sub, iat, exp, nonce — no PII

  • step_id
  • verifier_id
  • proof_token (JWS)
  • subject_hash (SHA-256)
  • issued_at
  • expires_at
VerifierManifest
verifier-manifest.json

Discovery document hosted at /.well-known/ojcp-verifier.json

  • verifier_id
  • verification_types
  • proof_delivery_methods
  • proof_format (jws|jws+jwe)
  • signing_algorithms
  • public_keys_url (JWKS)
AgentIdentity
agent-identity.json

Delegated signing document hosted at /.well-known/ojcp-agent.json

  • agent_id
  • signers

How It Works

Four steps from discovery to application

Discover

Agent probes /.well-known/ojcp.json or queries the OJCP Registry to find providers. The manifest declares available tools, apply paths, and authentication requirements.

Search & Evaluate

Agent calls search_jobs with optional candidate_context for personalized ranking. Each result includes fit_score, apply paths, and structured metadata.

Apply

Agent calls begin_application with an agent_declaration and the candidate's consent token. The provider returns required fields and a session for multi-step flows.

Track

Agent calls check_application_status to monitor progress. Providers emit structured status updates throughout the hiring pipeline.

Examples

See it in action

From discovery to application — real OJCP payloads your agents can use today.

→ /.well-known/ojcp.json
{
  "ojcp_version": "0.3",
  "provider": {
    "name": "Acme Careers",
    "employer_id": "acme",
    "description": "Global leader in industrial innovation",
    "industries": ["manufacturing", "engineering"],
    "hq_location": { "city": "Chicago", "state": "IL", "country": "US" }
  },
  "mcp_endpoint": "https://careers.acme.com/ojcp/mcp",
  "tools": [
    "search_jobs",
    "get_job_detail",
    "get_employer_context",
    "begin_application",
    "check_application_status"
  ],
  "apply_paths": ["ats_direct", "provider_hosted"],
  "auth": {
    "required": true,
    "optional_scopes": ["apply", "candidate_data"]
  },
  "rate_limits": {
    "anonymous_rps": 10,
    "authenticated_rps": 50,
    "burst_limit": 100
  }
}

Apply Paths

Normalized application taxonomy

OJCP standardizes the fragmented landscape of application mechanisms into a taxonomy agents can reason over.

TypeDescriptionAgent Submission
ats_directApply directly via ATS (Workday, Greenhouse, Lever, etc.)
Varies
provider_hostedProvider controls the apply flow and delivers to ATS
Full Support
platform_nativeThird-party platform owns the flow (e.g., Indeed Apply, Easy Apply)
Limited
emailLegacy email-based application
Not Supported
external_redirectRedirect to opaque external page
Not Supported
customCatch-all for non-standard apply mechanisms (homegrown, conversational, etc.)
Varies

Live Playground

Try the OJCP API

This site is a live OJCP provider. Fire real tool calls against mock data — the same endpoint MCP clients connect to.

MCP: /api/mcp
Manifest: /.well-known/ojcp.json

Get Started

Build with OJCP

Whether you're a job board, ATS, or agent developer — the spec is open and contributions are welcome.

Read the Spec

The full OJCP specification covers tools, schemas, apply paths, agent identity, and security requirements.

View Specification

Explore Schemas

JSON Schemas for JobPosting, CandidateContext, AgentDeclaration, and the Manifest.

Browse Schemas

Contribute

OJCP is open. File issues, propose changes, or build a reference implementation.

Open an Issue

Join the Discussion

Shape the future of agent-ready hiring. We welcome ATS vendors, job boards, and agent developers.

Get Involved