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

> Source: <https://ojcp.dev/>
> Published: 2026-08-12 15:27:14+00:00

# 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](/governance), and designed to compose with the broader agentic web.

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. Agents self-declare identity.

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.

Specification

## Schemas & Tools

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

[Job Manifest](https://spec.ojcp.dev/#manifest)

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

`ojcp_version`

`provider`

`tools`

`mcp_endpoint`

`auth`

`rate_limits`

[JobPosting](https://spec.ojcp.dev/#schema-job-posting)

Extends schema.org/JobPosting with agent-specific fields

`ojcp_id`

`skills_required`

`experienceLevel`

`apply_paths`

`urgency`

[CandidateContext](https://spec.ojcp.dev/#schema-candidate-context)

Consent-scoped candidate profile for personalized results

`consent_scope`

`skills`

`experience_years`

`employment_type_preference`

[AgentDeclaration](https://spec.ojcp.dev/#schema-agent-declaration)

Agent self-identification for audit trails

`agent_id`

`acting_on_behalf_of`

`interaction_mode`

`user_consent_token`

[VerificationStep](https://spec.ojcp.dev/#identity-session-initiation)

Identity verification action for human completion

`step_id`

`type`

`verifier_id`

`verification_url`

`human_required`

[VerificationProof](https://spec.ojcp.dev/#identity-proof-format)

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](https://spec.ojcp.dev/#identity-discovery)

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

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

Apply Paths

## Normalized application taxonomy

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

| Type | Description | Agent Submission |
|---|---|---|
`ats_direct` | Apply directly via ATS (Workday, Greenhouse, Lever, etc.) | Varies |
`provider_hosted` | Provider controls the apply flow and delivers to ATS | Full Support |
`platform_native` | Third-party platform owns the flow (e.g., Indeed Apply, Easy Apply) | Limited |
`email` | Legacy email-based application | Not Supported |
`external_redirect` | Redirect to opaque external page | Not Supported |
`custom` | Catch-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.

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 v0.1 specification covers tools, schemas, apply paths, and security requirements.

[View Specification](https://spec.ojcp.dev/)

Explore Schemas

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

[Browse Schemas](https://github.com/ojcp-org/ojcp/tree/main/schemas)

Contribute

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

[Open an Issue](https://github.com/ojcp-org/ojcp/issues)

Join the Discussion

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

[Get Involved](https://github.com/ojcp-org/ojcp/discussions)
