io.github.prPMDev/jd-intel-mcp
NPM · JD-INTEL-MCP · SCANNED AUG 3
Your AI fetches and reads full job descriptions across seven ATS platforms, no copy-paste.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security87
- No malware found by supply-chain analysis.Pass
- Only part of the dependency tree could be resolved (96 of 100), so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (96 of 100), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 36 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability74
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1330 tokens (~332/item across 4 items; 3 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
- Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · jd-intel-mcp
claude mcp add prpmdev-jd-intel-mcp -- npx -y jd-intel-mcp
codex mcp add prpmdev-jd-intel-mcp -- npx -y jd-intel-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"prpmdev-jd-intel-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"jd-intel-mcp"
],
"enabled": true
}
}
} openclaw mcp add prpmdev-jd-intel-mcp --command npx --arg -y --arg jd-intel-mcp
mcp_servers:
prpmdev-jd-intel-mcp:
command: "npx"
args: ["-y", "jd-intel-mcp"] {
"mcpServers": {
"prpmdev-jd-intel-mcp": {
"command": "npx",
"args": [
"-y",
"jd-intel-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Aug 26 +44
- Provenance: unverified → fail ▼ security
- Known CVEs: unverified → partial ▲ security
- Install scripts: unverified → pass ▲ security
- Malware scan: unverified → pass ▲ security
- Security disclosure: fail → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Schema quality: 100 → unverified ▼ functional
- Maintenance: unverified → pass ▲ functional
- License: unverified → pass ▲ functional
- Stability: unverified → 0.20 ▲ functional
- Dependency health: unverified → partial ▲ functional
- Schema quality: unverified → excellent ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Licence: MIT functional
- 31 Jul 26 −26
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 +26
- Tool coverage: unverified → 100 ▲ functional
- Schema quality: unverified → 100 ▲ functional
- 28 Jul 26 −26
- Tool coverage: 100 → unverified ▼ functional
- Schema quality: 100 → unverified ▼ functional
- 27 Jul 26 50
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Analysed npm/[email protected]
Provenance none
Ecosystem: npm · Outcome: none
Dependencies 96 packages
96 packages in the resolved dependency tree · 95 deprecated · 29 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
detect_ats Detect which ATS a company uses ~262
Detect which ATS platform (Greenhouse, Lever, Ashby, SmartRecruiters, Teamtailor, Recruitee) a company uses by probing. Workday is registry-only and never returned here; find Workday-hosted companies via search_registry or fetch_jobs (which auto-detects from the registry). USE WHEN: user asks about the ATS platform explicitly ("What ATS does Stripe use?") or for debugging. DON'T USE WHEN: you want to fetch jobs. Call fetch_jobs directly (it auto-detects internally). ARGUMENT GUIDE: company: company name or slug. Hyphens and spaces stripped automatically ("Cockroach Labs" → "cockroachlabs"). RESPONSE: { status, data: "greenhouse" | "lever" | "ashby" | "smartrecruiters" | "teamtailor" | "recruitee" | null, metadata }. data === null means none of the probeable ATS host this company (Workday is registry-only and never detected here). "partial" status means some probes failed. Result may be incomplete. ERROR CODES: - invalid_args: company arg missing - partial_failure: some probes failed
| Name | Type | Req | Description |
|---|---|---|---|
| company | string | yes | Company name or slug |
No output schema declared.
No examples provided.
fetch_jobs Fetch jobs from a company ATS ~749
Fetch open job postings from a specific company's ATS (Greenhouse, Lever, Ashby, SmartRecruiters, Teamtailor, Recruitee, Workday). USE WHEN: the user asks about roles at a known company ("Is Stripe hiring?", "What's open at Figma?"). DON'T USE WHEN: - User doesn't know the company → read the registry Resource or call search_registry - User only asks which ATS a company uses → call detect_ats ARGUMENT GUIDE: company: lowercase slug, no spaces (e.g. "stripe", "cockroachlabs"). Hyphens and spaces auto-stripped. title_filter: JavaScript-compatible regex matched against TITLE ONLY. Case-insensitive by default. Do NOT use inline flags like (?i) (not supported by V8). Use for role identity ("product manager", "staff engineer"). Does NOT match description text. That's the distinction from filter. filter: JavaScript-compatible regex matched across title + department + description. Case-insensitive by default. Do NOT use inline flags like (?i). Use for topic/scope ("integrations", "growth"). AND'd with title_filter. posted_within_days: number. "recent" or "new" → 30. "this week" → 7. "today" → 1. location_includes: array of keywords. Case-insensitive substring match; short codes (US, UK) use word-boundary matching automatically. For US queries prefer ["United States", "US", "Remote - US"]. Avoid bare "Remote". It matches Remote-EMEA, Remote-LatAm. location_excludes: array. Drop jobs whose location contains any keyword. Use as refinement on top of includes. limit: default 100. Reduce for high-volume companies. workday: optional { tenant, env, site }. Use ONLY for a Workday company not in the registry when the user gives a careers URL. Derive from https://{tenant}.{env}.myworkdayjobs.com/{site}: tenant is the first label, env is the part like wd108, site is the path segment. Overrides the registry for that fetch. Never guess or fabricate these values; use only what the user supplied or what is literally in the careers URL. Omit this argument entirely if you do not h…
| Name | Type | Req | Description |
|---|---|---|---|
| company | string | yes | Company slug or name (e.g. "stripe") |
| filter | string | — | Regex matched across title, department, description — topic/scope |
| limit | integer | — | Cap results (default 100) |
| location_excludes | array | — | Drop jobs whose location contains any keyword |
| location_includes | array | — | Keep jobs whose location contains any keyword |
| posted_within_days | integer | — | Only jobs posted within N days |
| title_filter | string | — | Regex matched against title only — role identity |
| workday | object | — | Override the registry for a Workday board not indexed. Derive all three from the careers URL https://{tenant}.{env}.myworkdayjobs.com/{site}. Never guess these. |
No output schema declared.
No examples provided.
search_registry Search the company registry ~217
Find companies in the indexed registry by name or sector. USE WHEN: targeted lookups ("Is Stripe in your index?", "Show me fintech companies"). DON'T USE WHEN: - User wants a broad survey of the catalog → read the registry://jd-intel/all Resource instead (one fetch vs repeated tool calls) - User asks about a specific company's jobs → call fetch_jobs directly ARGUMENT GUIDE: query: optional. Substring match (case-insensitive) against company name. sector: optional. Match against sector field. Examples: "fintech", "developer tools", "marketing tech". At least one argument required. Returns companies matching either. RESPONSE: { status, data: [{ slug, name, sector, ats }], metadata }. Each result includes the ATS platform for that company. ERROR CODES: - invalid_args: both query and sector missing
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | — | Substring match against company name |
| sector | string | — | Match against sector (e.g. "fintech", "developer tools") |
No output schema declared.
No examples provided.