GitHub Hot Board

GitHub Hot Board · Archiwum repozytorium

ojcp-org/ojcp

Open Job Context Protocol -- an open standard for agent-consumable job feeds built on MCP (Opis pochodzi z samego repozytorium.)

Dane na October 25ojcp-org

Najlepsze miejsce

#264

Niedoceniane perełki

100

Wszystkich gwiazdek

6

Wszystkich forków

2

Dni w rankingach (30 d)

Status projektuLicencja: Apache-2.0Ostatni push: October 14Otwarte issues (z PR): 8

Zbierane od 2026-10-25; nieznane = jeszcze nie zebrane

Wklej odznakę do swojego README · ojcp-org/ojcp[![Wklej odznakę do swojego README](https://git.vaiox.xyz/api/badge/ojcp-org/ojcp.svg)](https://git.vaiox.xyz/pl/repo/ojcp-org/ojcp)
<a href="https://git.vaiox.xyz/pl/repo/ojcp-org/ojcp"><img src="https://git.vaiox.xyz/api/badge/ojcp-org/ojcp.svg" alt="Wklej odznakę do swojego README" height="20"></a>

Dokumentacja projektu

OJCP — Open Job Context Protocol

An open standard for agent-consumable job data, built on MCP.

Version 0.3 Spec License: Apache 2.0 License: CC BY 4.0


AI agents are beginning to search for jobs, evaluate opportunities, and submit applications on behalf of candidates. The infrastructure they're trying to use — job feeds, careers pages, ATS apply flows — was never designed for them.

OJCP defines how job opportunities, employer context, and application affordances are expressed so that AI agents can discover, reason over, and act on them. It composes with the Model Context Protocol (MCP), WebMCP, and schema.org/JobPosting.

OJCP — Candidate, Agent, Provider Journey


Governed by a founding steering committee

OJCP is a community standard, not a single-vendor project. It is governed by a nine-seat founding steering committee whose members share equal authority over the protocol's direction. Seats are held by people across the ecosystem — ATS vendors, job boards, auto-apply tools, agent platforms, and staffing — so that no single party can steer the spec to its own advantage.

Workday CrossCountry Healthcare Recruitics LoopCV Hiring.cafe aiApply scale.jobs Tink

Workday · CrossCountry Healthcare · Recruitics · LoopCV · Hiring.cafe · aiApply · scale.jobs · Tink, with an invited-expert seat held by Andrew Nolan (WebMCP co-creator).

See GOVERNANCE.md for the seat table, term rules, and how changes are decided, and ADOPTERS.md for organizations building on OJCP.


The OJCP project

Repo What it is
ojcp (this repo) The specification, JSON Schemas, examples, diagrams, and governance
conformance Test suite that validates a provider implementation against the published schemas
registry The provider registry — one reviewed JSON entry per provider, added by PR

What's in this repo

/spec
  ojcp-v0.1.bs              # Bikeshed spec source (compiles to spec.ojcp.dev)
/schemas
  README.md                 # $id convention + how to validate offline
  manifest.json             # ojcp.json manifest schema
  job-posting.json          # JobPosting JSON schema
  candidate-context.json    # CandidateContext JSON schema
  agent-declaration.json    # AgentDeclaration JSON schema
  agent-identity.json       # ojcp-agent.json delegated-signer document schema
  eeo-data.json             # EEO data schema (EEOC/OFCCP/GDPR)
  verification-step.json    # VerificationStep schema
  verification-proof.json   # VerificationProof schema
  verifier-manifest.json    # Verifier discovery manifest schema
  tools/                    # Tool input schemas
  responses/                # Tool response schemas
/examples                   # Worked manifests, job postings, tool responses,
                            #   and a signed agent request (agent-signed-request.http)
/diagrams                   # Mermaid diagram sources (*.mmd)
/content
  images/                   # Rendered diagram PNGs
  logos/                    # OJCP wordmark (ojcp-light/dark), icon, favicon,
                            #   GitHub avatar; SVG with PNG exports
  logos/members/            # Steering-member logos
/docs
  proposal.md               # Original proposal
  rfcs/                     # Design documents behind each feature
  decisions/                # Architecture Decision Records (ADRs)
GOVERNANCE.md               # Governance charter, steering committee, IP policy
CONTRIBUTING.md             # How to contribute, change process, DCO, licensing
CODE_OF_CONDUCT.md          # Contributor Covenant
ADOPTERS.md                 # Organizations using or evaluating OJCP
CHANGELOG.md                # Notable spec + governance changes

Quick Start

For job boards and employer career sites

Add a manifest at /.well-known/ojcp.json:

{
  "ojcp_version": "0.3",
  "provider": {
    "name": "Acme Corp Careers",
    "employer_id": "acme-corp"
  },
  "mcp_endpoint": "https://careers.acme.com/ojcp/mcp",
  "tools": ["search_jobs", "get_job_detail", "get_employer_context", "begin_application", "submit_application", "check_application_status"]
}

Then expose the standard OJCP tools via any MCP-compatible transport, and check your implementation against the conformance suite. See the full spec for tool and data schemas.

For browser-native agents (WebMCP)

OJCP supports WebMCP via two complementary APIs.

Imperative API — register OJCP tools directly on your careers page:

if ("modelContext" in document) {
  document.modelContext.registerTool({
    name: "search_jobs",
    description: "Search open roles at Acme Corp.",
    inputSchema: {
      type: "object",
      properties: {
        query: { type: "string", description: "Search query" },
        location: { type: "string", description: "Location filter" }
      },
      required: ["query"]
    },
    execute: async (params) => {
      const results = await fetchJobs(params);
      return { content: [{ type: "text", text: JSON.stringify(results) }] };
    }
  });
}

Declarative API — annotate apply forms so agents can submit applications natively:

<form toolname="begin_application"
      tooldescription="Apply to this role at Acme Corp."
      action="/apply" method="POST">
  <input name="full_name" toolparamdescription="Candidate full name" />
  <input name="email" type="email" toolparamdescription="Contact email" />
  <textarea name="cover_letter" toolparamdescription="Cover letter" />
  <button type="submit">Apply</button>
</form>

See the WebMCP integration section of the spec for the full guide.

For agent developers

Discover providers from the registry — a Git-backed directory with one reviewed JSON entry per provider. Each entry points at a provider's /.well-known/ojcp.json; from there, probe the manifest and call the standard OJCP tools over MCP. To be listed, open a PR adding your entry (domain control is proven per the registry README).


Core Concepts

Job Manifest — Every OJCP provider exposes /.well-known/ojcp.json declaring its tools, endpoints, apply paths, attribution policy, and which requests require a verified agent identity. Agents and browsers probe this to discover capabilities without navigating the full site.

Job Tools — MCP-compatible callable functions: search_jobs, get_job_detail, get_employer_context, begin_application, submit_application, check_application_status. Any MCP client can call them directly.

Apply Paths — A normalized taxonomy of how candidates can apply (ats_direct, provider_hosted, platform_native, email, external_redirect, custom), each declaring whether it supports_agent_submission.

Apply Path Types

Candidate Context — A minimal, consent-scoped candidate profile passed by agents for personalized search and fit scoring. PII-minimized by design.

Eligibility Gates — Postings state their hard gates (visa sponsorship, relocation, security clearance) in a structured eligibility block, so agents can filter before applying instead of wasting an application. A gate the posting didn't state is never read as "no".

Agent Identity — Agents prove who they are with verifiable request signatures, so providers can distinguish a real, accountable agent from an anonymous scraper without a central gatekeeper. OJCP uses HTTP Message Signatures on the Web Bot Auth wire profile: the agent publishes its keys at a signatures directory, signs each request (Ed25519 recommended), and names its key via the Signature-Agent header. An agent_id binds to the signing domain's namespace, or to signers its own domain delegates to. Providers declare which contexts require a verified identity under auth.agent_signatures in their manifest.

Agent Declaration — Agents identify themselves and who they act for on every application initiation. Enables employer audit trails, rate limiting, and abuse prevention.

User Mandates — A verified identity proves which software is calling, not that a person approved the action. A user_mandate closes that gap: a credential issued under the user's authority that binds the agent's signing key to one specific action — this job, this application, this exact candidate data — and can be used once.

Agent-Scoped Visibility — Providers can make individual jobs visible only to specific verified agents (restricted) or to authorized partner feeds (private). Non-visible jobs are never disclosed — not in results, counts, or lookups — and gating depends only on the agent, never on the candidate.

Attribution — Providers credit each application to the source that surfaced the job, from evidence they already hold: the caller's verified or authenticated identity and the jobs they showed it. Agents get credit without relaying tokens; a provider-issued attribution_ref covers hand-offs between agents, and apply URLs carry it for applications completed off-protocol. No fingerprinting, and no candidate tracking.

Identity Verification — For roles that require verified human identity (finance, government, healthcare), OJCP integrates with third-party verifiers like ID.me and CLEAR. Two delivery models are supported: provider-managed (verification embedded in the apply form, proof delivered directly to the provider) and agent-submitted (agent collects the proof and includes it in submit_application). Verifiers can also render inline in the conversation via MCP Apps. In every case a cryptographic proof is validated — no raw PII flows through the protocol.

How it works

OJCP Ecosystem Overview

An agent discovers a provider, searches for jobs, and initiates an application — all through standard MCP tool calls:

Agent Discovery Sequence

When the agent applies on behalf of a candidate, OJCP enforces a consent gate before submission:

Agent Apply Flow

When an agent proves its identity, the provider verifies the request signature, binds the agent_id to the signing domain, and enforces per-context signature policy:

Agent Identity Verification


Interoperability

Standard Relationship
MCP OJCP tools are valid MCP tools — callable by any MCP client
WebMCP Imperative API (document.modelContext.registerTool()) and declarative form annotations
HTTP Message Signatures / Web Bot Auth Verifiable agent identity (see Agent Identity)
MCP Apps Inline identity verification rendered in a sandboxed ui:// resource
SD-JWT VC Key-bound user mandates
schema.org/JobPosting OJCP extends it; existing structured data stays valid
Indeed / Zip XML Feeds OJCP layers over existing feeds via adapter; no replacement required

Status

Current release: 0.3 (2026-10-08). Minor releases are additive and backward-compatible: the schema namespace stays at /v0.1/, and implementations of earlier versions remain conforming. See CHANGELOG.md for release notes.

Specification — published at spec.ojcp.dev, with JSON Schemas for every data type and tool:

  • Job manifest, job tools, apply paths, and screening questions
  • JobPosting with multi-location support, eligibility gates, and the official_job_url trust anchor
  • Verifiable agent identity, with namespace and delegated binding
  • User mandates for action-level authorization
  • Agent-scoped job visibility
  • Provider-derived attribution
  • Identity verification, including inline rendering via MCP Apps
  • Provider trust (signed manifests) and resume upload

Ecosystem


Contributing

OJCP is built in the open, and external contributions are already shaping it. Several of the features and providers above came from the community. We especially welcome:

  • Job boards, aggregators & ATS vendors who want their inventory reachable by candidate agents
  • Agent & browser platform developers building the candidate-side experience
  • Employers with high-volume hiring who want their apply flows agent-ready

Start with CONTRIBUTING.md for the change process, DCO sign-off, and licensing. Validate implementations with the conformance suite, and add yourself to ADOPTERS.md.

Discuss: GitHub Discussions · ojcp-discuss@recruitics.com

Contributors

Thanks to everyone who has shaped OJCP: spec text, RFCs, implementations and review. To credit someone, comment @all-contributors please add @<username> for <contributions> on any issue or pull request (contribution types).

Austin Anderson
Austin Anderson

📖 🤔 🚧 👀
Andrew K Nolan
Andrew K Nolan

🐛 🤔 👀
Ilya Strelov
Ilya Strelov

📖 🤔 🔬
Mathieu Colla
Mathieu Colla

📖 🤔
Radu Stoian
Radu Stoian

📖 🤔
Tom Chevalier
Tom Chevalier

📖 🤔
FoundRole
FoundRole

📦 🐛 🤔
Lucas Simopoulos
Lucas Simopoulos

👀
recruiterguy
recruiterguy

🤔
reqspace.ai
reqspace.ai

📖

License

Dual-licensed by content type (see CONTRIBUTING.md):

OJCP was authored by Austin Anderson (CTO, Recruitics) and is now governed by its steering committee.

Aktualne miejsca

  • 264

    Niedoceniane perełki

    100 gwiazdek · 6 fork · Gwiazdki ogółem (rosnąco)

    Niedoceniane →

Przebieg z 30 dni

Skumulowane gwiazdki

Przebieg miejsc

← Powrót do rankingów