{
  "markdown": "# OTP/OJP MCP Server\n\nAn 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.\n\n## Tools\n\n| Tool | Description |\n|------|-------------|\n| `otp_parse_resume` | Raw resume text &rarr; OTP skeleton with `_EXTRACT_*` placeholders for an LLM to fill |\n| `otp_validate_profile` | Validate an OTP document against the JSON Schema |\n| `otp_introspect_profile` | Extract an agent-friendly summary from an OTP document |\n| `ojp_parse_job_posting` | Raw job posting text &rarr; OJP skeleton with `_EXTRACT_*` placeholders |\n| `ojp_validate_job_posting` | Validate an OJP document against the JSON Schema |\n| `ojp_introspect_job_posting` | Extract an agent-friendly summary from an OJP document |\n\n## Key traits\n\n- **Pure functions** — no LLM calls, no network calls, no API keys needed\n- **JSON Schema draft 2020-12** validation via AJV\n- **LLM-free parsers** — produce structured templates for the calling agent to complete\n- **Zero config** — just install and run\n\n## Install\n\n```bash\nnpm install -g @opentalentprotocol/mcp-server\n```\n\nOr run directly with npx:\n\n```bash\nnpx @opentalentprotocol/mcp-server\n```\n\n## Setup\n\n### Claude Desktop\n\nAdd to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"otp-ojp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@opentalentprotocol/mcp-server\"]\n    }\n  }\n}\n```\n\n### Claude Code\n\nAdd to your project or global MCP settings:\n\n```json\n{\n  \"mcpServers\": {\n    \"otp-ojp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@opentalentprotocol/mcp-server\"]\n    }\n  }\n}\n```\n\n### From source\n\n```bash\ngit clone https://github.com/neogene-ai/otp-ojp-mcp-server.git\ncd otp-ojp-mcp-server\nnpm install\nnpm run build\nnode dist/index.js\n```\n\n## How it works\n\n### Parsing workflow\n\nThe parsers follow a **skeleton + fill** pattern:\n\n1. Call `otp_parse_resume` (or `ojp_parse_job_posting`) with raw text\n2. Get back a document skeleton with `_EXTRACT_*` annotations, confidence levels, and known gaps\n3. The calling agent fills in the skeleton using its own reasoning\n4. Call `otp_validate_profile` (or `ojp_validate_job_posting`) to verify the result\n\nThis keeps the MCP server LLM-free while giving agents structured guidance on what to extract.\n\n### Introspection\n\nThe 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.\n\n## Schemas\n\nThe JSON Schemas are bundled in the `schema/` directory:\n\n- `schema/opentalent-protocol.schema.json` — OTP v0.1\n- `schema/openjob-protocol.schema.json` — OJP v0.1\n\n## Requirements\n\n- Node.js >= 18\n\n## License\n\nMIT\n",
  "bytes": 2807,
  "sha": "ce0f25d908560e52fd6411229faa8a1984bc359a4f6e624f104620bd764b03cf",
  "repo_slug": "neogene-ai/otp-ojp-mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_testinat0r_otp_ojp_9009ddbe/readme"
}