Show HN: OJCP – an open protocol for agent-consumable job data

fraywing3 pts0 comments

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...

ojcp tools json agent apply agents

Related Articles