OJCPOJCP
v0.1 Draft Specification

The open standard for
agent-consumable job feeds

OJCP defines how AI agents discover, reason over, and act on job opportunities. Built on MCP. Interoperable with schema.org. Designed for the 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 four core schemas and five MCP-compatible tools. Providers MUST implement search_jobs; all others are recommended.

MCP Tools

search_jobs *
get_job_detail
get_employer_context
begin_application
check_application_status

* Required for conformance

Job Manifest

manifest.json

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

  • ojcp_version
  • provider
  • tools
  • mcp_endpoint
  • apply_paths

JobPosting

job-posting.json

Extends schema.org/JobPosting with agent-specific fields

  • ojcp_id
  • fit_score
  • skills_required
  • apply_paths
  • team_context

CandidateContext

candidate-context.json

Consent-scoped candidate profile for personalized results

  • consent_scope
  • skills
  • years_experience
  • resume_embedding_hash

AgentDeclaration

agent-declaration.json

Agent self-identification for audit trails

  • agent_id
  • acting_on_behalf_of
  • interaction_mode
  • user_consent_token

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.1",
  "provider": {
    "name": "Acme Careers",
    "url": "https://careers.acme.com",
    "contact_email": "api@acme.com"
  },
  "mcp_endpoint": "https://api.acme.com/mcp",
  "tools": [
    "search_jobs",
    "get_job_detail",
    "get_employer_context",
    "begin_application",
    "check_application_status"
  ],
  "apply_paths": ["ats_direct", "adaptive_apply"],
  "auth": {
    "type": "bearer",
    "token_url": "https://api.acme.com/oauth/token"
  }
}

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
adaptive_applyConfigurable, brandable, agent-ready apply flow
Full Support
apply_anywhereEnd-to-end apply flow with ATS delivery
Full Support
indeed_applyIndeed's native apply flow
Limited
email_applyLegacy email-based application
Not Supported
external_urlRedirect to 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 v0.1 specification covers tools, schemas, apply paths, 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