Back to the catalog

io.github.Testinat0r/otp-ojp

Validate, introspect, and parse talent profiles (OTP) and job postings (OJP)

Open source Open in the app JSON README (API)

About

Validate, introspect, and parse talent profiles (OTP) and job postings (OJP)

Details

Kind
MCP servers
Topic
No topic detected
Publisher
testinat0r
Origin
official
Category
ferramentas
Transport
local
Version
0.1.1
Last push
2026-03-05T19:29:13Z
Repository state
ativo
Language
TypeScript
Added
2026-08-29 03:02:16
Updated
2026-08-29 03:02:16
Origin id
io.github.Testinat0r/otp-ojp

README

# OTP/OJP MCP Server

An MCP server for the [Open Talent Protocol](https://opentalentprotocol.org) (OTP) and [Open Job Protocol](https://opentalentprotocol.org) (OJP) — open standards for structuring candidate profiles and job postings for AI agent reasoning.

## Tools

| Tool | Description |
|------|-------------|
| `otp_parse_resume` | Raw resume text → OTP skeleton with `_EXTRACT_*` placeholders for an LLM to fill |
| `otp_validate_profile` | Validate an OTP document against the JSON Schema |
| `otp_introspect_profile` | Extract an agent-friendly summary from an OTP document |
| `ojp_parse_job_posting` | Raw job posting text → OJP skeleton with `_EXTRACT_*` placeholders |
| `ojp_validate_job_posting` | Validate an OJP document against the JSON Schema |
| `ojp_introspect_job_posting` | Extract an agent-friendly summary from an OJP document |

## Key traits

- **Pure functions** — no LLM calls, no network calls, no API keys needed
- **JSON Schema draft 2020-12** validation via AJV
- **LLM-free parsers** — produce structured templates for the calling agent to complete
- **Zero config** — just install and run

## Install

```bash
npm install -g @opentalentprotocol/mcp-server
```

Or run directly with npx:

```bash
npx @opentalentprotocol/mcp-server
```

## Setup

### Claude Desktop

Add to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "otp-ojp": {
      "command": "npx",
      "args": ["-y", "@opentalentprotocol/mcp-server"]
    }
  }
}
```

### Claude Code

Add to your project or global MCP settings:

```json
{
  "mcpServers": {
    "otp-ojp": {
      "command": "npx",
      "args": ["-y", "@opentalentprotocol/mcp-server"]
    }
  }
}
```

### From source

```bash
git clone https://github.com/neogene-ai/otp-ojp-mcp-server.git
cd otp-ojp-mcp-server
npm install
npm run build
node dist/index.js
```

## How it works

### Parsing workflow

The parsers follow a **skeleton + fill** pattern:

1. Call `otp_parse_resume` (or `ojp_parse_job_posting`) with raw text
2. Get back a document skeleton with `_EXTRACT_*` annotations, confidence levels, and known gaps
3. The calling agent fills in the skeleton using its own reasoning
4. Call `otp_validate_profile` (or `ojp_validate_job_posting`) to verify the result

This keeps the MCP server LLM-free while giving agents structured guidance on what to extract.

### Introspection

The introspect tools flatten an OTP/OJP document into a normalized, agent-friendly object with an `agentSummary` string — ready for system prompts, retrieval-augmented context, or matching logic.

## Schemas

The JSON Schemas are bundled in the `schema/` directory:

- `schema/opentalent-protocol.schema.json` — OTP v0.1
- `schema/openjob-protocol.schema.json` — OJP v0.1

## Requirements

- Node.js >= 18

## License

MIT

More