OJCP — Open Job Context Protocol
v0.1 Draft Specification
The open standard for<br>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.<br>Read the SpecView on GitHub
Founding Members<br>Built by a coalition, not a vendor<br>OJCP is shaped by employers, ATS vendors, job boards, staffing agencies, and agent platforms — each holding one seat, none holding a veto.
Why OJCP<br>Built for the agentic web<br>A shared protocol so AI agents and job providers speak the same language — structured, discoverable, privacy-respecting.
MCP-Native Tools<br>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<br>Providers expose a manifest at /.well-known/ojcp.json. Agents discover capabilities, tools, and apply paths automatically.
Normalized Apply Paths<br>A standard taxonomy of application mechanisms — from ATS-direct to agent-ready flows — so agents know exactly how to apply.
Consent-First Privacy<br>Candidate data is opt-in and scoped. Resume embeddings enable fit-scoring without transmitting PII. Agents self-declare identity.
Agent-Aware Ranking<br>Pass CandidateContext for personalized results. Providers return fit_score and fit_rationale alongside standard job data.
WebMCP Ready<br>Browser-native agents can access OJCP tools via navigator.modelContext. Same schemas, same tools, new surface.
Specification<br>Schemas & Tools<br>OJCP defines seven 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).
MCP Tools<br>search_jobs (required)<br>get_job_detail<br>get_employer_context<br>begin_application<br>submit_application<br>check_application_status
Job Manifestmanifest.json
Discovery endpoint at /.well-known/ojcp.json
ojcp_version
provider
tools
mcp_endpoint
auth
rate_limits
JobPostingjob-posting.json
Extends schema.org/JobPosting with agent-specific fields
ojcp_id
skills_required
experienceLevel
apply_paths
urgency
CandidateContextcandidate-context.json
Consent-scoped candidate profile for personalized results
consent_scope
skills
experience_years
employment_type_preference
AgentDeclarationagent-declaration.json
Agent self-identification for audit trails
agent_id
acting_on_behalf_of
interaction_mode
user_consent_token
VerificationStepverification-step.json
Identity verification action for human completion
step_id
type
verifier_id
verification_url
human_required
VerificationProofverification-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
VerifierManifestverifier-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)
How It Works<br>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<br>See it in action<br>From discovery to application — real OJCP payloads your agents can use today.
DiscoverSearchApplyVerify<br>→ /.well-known/ojcp.json
"ojcp_version": "0.1",<br>"provider": {<br>"name": "Acme Careers",<br>"employer_id": "acme",<br>"description": "Global leader in industrial innovation",<br>"industries": ["manufacturing", "engineering"],<br>"hq_location": { "city": "Chicago", "state": "IL", "country": "US" }<br>},<br>"mcp_endpoint": "https://careers.acme.com/ojcp/mcp",<br>"tools": [<br>"search_jobs",<br>"get_job_detail",<br>"get_employer_context",<br>"begin_application",<br>"check_application_status"<br>],<br>"apply_paths": ["ats_direct", "provider_hosted"],<br>"auth": {<br>"required": true,<br>"optional_scopes": ["apply", "candidate_data"]<br>},<br>"rate_limits": {<br>"anonymous_rps": 10,<br>"authenticated_rps": 50,<br>"burst_limit": 100
Expand code
Apply Paths<br>Normalized application taxonomy<br>OJCP standardizes the fragmented landscape of application mechanisms into a taxonomy agents can reason over.
TypeDescriptionAgent Submissionats_directApply directly via ATS (Workday, Greenhouse, Lever, etc.)Varies<br>provider_hostedProvider controls the apply flow and delivers to ATSFull Support<br>platform_nativeThird-party platform...