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