jd-intel 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +69 -44
- package/package.json +12 -2
- package/registry/ashby.json +14 -1
- package/registry/greenhouse.json +33 -1
- package/registry/lever.json +8 -1
package/README.md
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
[](LICENSE)
|
|
4
4
|
[](https://nodejs.org)
|
|
5
5
|
[](https://www.npmjs.com/package/jd-intel)
|
|
6
|
+
[](https://www.npmjs.com/package/jd-intel-mcp)
|
|
7
|
+
[](https://github.com/prPMDev/jd-intel/stargazers)
|
|
6
8
|
|
|
7
9
|
> **Stop pasting job descriptions into AI assistants. Let your AI fetch them directly.**
|
|
8
10
|
|
|
@@ -16,13 +18,17 @@ Your AI assistant already knows a lot about you. Your resume is in its memory. Y
|
|
|
16
18
|
|
|
17
19
|
So you copy-paste.
|
|
18
20
|
|
|
19
|
-
A JD from
|
|
21
|
+
A JD from one company. Another from the next. A half-dozen more from your target list. Half have broken HTML. Salary info dies in translation. Links get stripped. And for every role, the dance starts over.
|
|
20
22
|
|
|
21
23
|
You could wait for the job boards to ship their own MCPs. They'll get there eventually. On their timeline. Filtered through their priorities, not yours. Tied to their query abstractions.
|
|
22
24
|
|
|
23
25
|
jd-intel skips that wait. Raw JDs, fetched directly by your AI, on your terms. One level below the curated layer.
|
|
24
26
|
|
|
25
|
-
|
|
27
|
+
Try asking your AI:
|
|
28
|
+
|
|
29
|
+
> "Find AI/ML engineering jobs posted this week."
|
|
30
|
+
> "What product designer roles are open at fintechs right now?"
|
|
31
|
+
> "Pull the staff PM roles posted in the last 7 days."
|
|
26
32
|
|
|
27
33
|
Done.
|
|
28
34
|
|
|
@@ -30,10 +36,10 @@ Done.
|
|
|
30
36
|
|
|
31
37
|
## What you can do with it
|
|
32
38
|
|
|
33
|
-
-
|
|
39
|
+
- Look up open roles at any company directly from your AI, no copy-paste
|
|
34
40
|
- Tailor your resume across ten roles in one conversation
|
|
35
41
|
- Rank openings by fit with your background
|
|
36
|
-
- Scan a whole sector: "Pull
|
|
42
|
+
- Scan a whole sector: "Pull open roles at fintech companies posted this week"
|
|
37
43
|
- Research teams by reading their JDs in bulk
|
|
38
44
|
|
|
39
45
|
The toolkit fetches. Your AI thinks.
|
|
@@ -42,58 +48,77 @@ The toolkit fetches. Your AI thinks.
|
|
|
42
48
|
|
|
43
49
|
## Install
|
|
44
50
|
|
|
45
|
-
|
|
51
|
+
Works with MCP-aware AI clients: Claude Desktop, Claude Code, Cursor, Windsurf. ChatGPT, Gemini, and other non-MCP clients don't support this yet. They use different tool-calling systems. (We wish they did. The protocol works the same way regardless of which AI you talk to.)
|
|
46
52
|
|
|
47
|
-
|
|
53
|
+
You'll need [Node.js 18 or newer](https://nodejs.org/). To check: open a terminal and run `node --version`. If it's missing or older, install from nodejs.org first.
|
|
48
54
|
|
|
49
|
-
|
|
50
|
-
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
|
|
55
|
+
### For Claude Desktop (one command)
|
|
51
56
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
"jd-intel": {
|
|
56
|
-
"command": "npx",
|
|
57
|
-
"args": ["-y", "jd-intel-mcp"]
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
```
|
|
57
|
+
1. **Open a terminal.** It's just a text window. Nothing destructive happens here.
|
|
58
|
+
- **macOS:** Spotlight (`⌘ Space`), type "Terminal", hit Enter.
|
|
59
|
+
- **Windows:** Start menu, type "PowerShell", hit Enter.
|
|
62
60
|
|
|
63
|
-
|
|
61
|
+
2. **Paste this and hit Enter:**
|
|
62
|
+
```bash
|
|
63
|
+
npx jd-intel-mcp install
|
|
64
|
+
```
|
|
64
65
|
|
|
65
|
-
**
|
|
66
|
-
```bash
|
|
67
|
-
npx jd-intel-mcp install
|
|
68
|
-
```
|
|
66
|
+
3. **Quit and reopen Claude Desktop.** The tools appear automatically.
|
|
69
67
|
|
|
70
|
-
|
|
68
|
+
Try: *"Find product roles at devtools companies."*
|
|
71
69
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
70
|
+
If something goes wrong or you'd rather edit the config file directly, see [Manual install](#manual-install-fallback) below.
|
|
71
|
+
|
|
72
|
+
### For Cursor and Windsurf
|
|
73
|
+
|
|
74
|
+
These clients have their own MCP setup flows. Follow their docs:
|
|
75
|
+
- Cursor: [docs.cursor.com](https://docs.cursor.com)
|
|
76
|
+
- Windsurf: [docs.windsurf.com](https://docs.windsurf.com)
|
|
77
|
+
|
|
78
|
+
Use this server config: `command: "npx"`, `args: ["-y", "jd-intel-mcp"]`.
|
|
75
79
|
|
|
76
|
-
|
|
80
|
+
### For developers
|
|
77
81
|
|
|
78
82
|
```bash
|
|
79
|
-
|
|
83
|
+
npm install jd-intel
|
|
80
84
|
```
|
|
81
85
|
|
|
82
|
-
Or import as a library:
|
|
83
|
-
|
|
84
86
|
```js
|
|
85
|
-
import { fetchJobs
|
|
87
|
+
import { fetchJobs } from 'jd-intel';
|
|
86
88
|
|
|
87
89
|
const jobs = await fetchJobs({
|
|
88
|
-
company: '
|
|
89
|
-
titleFilter: '
|
|
90
|
+
company: '<your-target-company>',
|
|
91
|
+
titleFilter: 'designer',
|
|
90
92
|
postedWithinDays: 14,
|
|
91
93
|
limit: 50,
|
|
92
94
|
});
|
|
93
95
|
```
|
|
94
96
|
|
|
97
|
+
CLI usage: `npx jd-intel fetch <company-slug> --title-filter "engineer" --posted-within-days 14`. Full filter reference [below](#filters-quick-reference).
|
|
98
|
+
|
|
95
99
|
Node.js 18+. No API keys. No configuration.
|
|
96
100
|
|
|
101
|
+
### Manual install (fallback)
|
|
102
|
+
|
|
103
|
+
If `npx jd-intel-mcp install` fails, edit the config directly.
|
|
104
|
+
|
|
105
|
+
**Config file location:**
|
|
106
|
+
- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
107
|
+
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
|
|
108
|
+
|
|
109
|
+
```json
|
|
110
|
+
{
|
|
111
|
+
"mcpServers": {
|
|
112
|
+
"jd-intel": {
|
|
113
|
+
"command": "npx",
|
|
114
|
+
"args": ["-y", "jd-intel-mcp"]
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Restart Claude Desktop.
|
|
121
|
+
|
|
97
122
|
---
|
|
98
123
|
|
|
99
124
|
## MCP tools
|
|
@@ -115,14 +140,14 @@ Every job normalizes to one schema, across every platform:
|
|
|
115
140
|
```json
|
|
116
141
|
{
|
|
117
142
|
"id": "a1b2c3d4e5f6",
|
|
118
|
-
"company": "
|
|
119
|
-
"title": "Senior
|
|
120
|
-
"department": "
|
|
121
|
-
"location": "
|
|
122
|
-
"locationType": "
|
|
123
|
-
"salary": { "min": 180000, "max":
|
|
124
|
-
"description": "
|
|
125
|
-
"url": "https://boards.
|
|
143
|
+
"company": "Example Co",
|
|
144
|
+
"title": "Senior Software Engineer, Platform",
|
|
145
|
+
"department": "Engineering",
|
|
146
|
+
"location": "Remote - US",
|
|
147
|
+
"locationType": "remote",
|
|
148
|
+
"salary": { "min": 180000, "max": 240000, "currency": "USD" },
|
|
149
|
+
"description": "Design and build the API surface our customers integrate against...",
|
|
150
|
+
"url": "https://boards.example.com/jobs/12345",
|
|
126
151
|
"postedAt": "2026-04-10T14:30:00Z"
|
|
127
152
|
}
|
|
128
153
|
```
|
|
@@ -181,7 +206,7 @@ All filters AND together. Deep dive on patterns and gotchas: [docs/filters.md](d
|
|
|
181
206
|
- Greenhouse, Ashby, Lever adapters
|
|
182
207
|
- Title, topic, location, and date filters
|
|
183
208
|
- Salary extraction from JD text
|
|
184
|
-
- Verified company registry (
|
|
209
|
+
- Verified company registry (100+ companies)
|
|
185
210
|
|
|
186
211
|
**Next**
|
|
187
212
|
- Anthropic MCP marketplace submission
|
|
@@ -208,7 +233,7 @@ All filters AND together. Deep dive on patterns and gotchas: [docs/filters.md](d
|
|
|
208
233
|
|
|
209
234
|
## Built by
|
|
210
235
|
|
|
211
|
-
**[Prashant R](https://prashantrana.xyz)**. PM who builds. I
|
|
236
|
+
**[Prashant R](https://prashantrana.xyz)**. PM who builds. I try out and build what really matters below the AI hype.
|
|
212
237
|
|
|
213
238
|
- Portfolio and writing: [prashantrana.xyz](https://prashantrana.xyz)
|
|
214
239
|
- [LinkedIn](https://www.linkedin.com/in/prashant-rana)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jd-intel",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Fetch and normalize job descriptions across every major ATS (Greenhouse, Lever, Ashby) — for your AI assistant, no copy-paste.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.js",
|
|
@@ -28,7 +28,17 @@
|
|
|
28
28
|
"ai",
|
|
29
29
|
"claude",
|
|
30
30
|
"hiring",
|
|
31
|
-
"careers"
|
|
31
|
+
"careers",
|
|
32
|
+
"model-context-protocol",
|
|
33
|
+
"anthropic",
|
|
34
|
+
"cursor",
|
|
35
|
+
"windsurf",
|
|
36
|
+
"ai-tools",
|
|
37
|
+
"ai-assistant",
|
|
38
|
+
"job-search",
|
|
39
|
+
"applicant-tracking-system",
|
|
40
|
+
"developer-tools",
|
|
41
|
+
"nodejs"
|
|
32
42
|
],
|
|
33
43
|
"author": "Prashant R",
|
|
34
44
|
"license": "MIT",
|
package/registry/ashby.json
CHANGED
|
@@ -12,5 +12,18 @@
|
|
|
12
12
|
{"slug": "shiftkey", "name": "ShiftKey", "sector": "healthcare staffing"},
|
|
13
13
|
{"slug": "gorgias", "name": "Gorgias", "sector": "customer support"},
|
|
14
14
|
{"slug": "zapier", "name": "Zapier", "sector": "integration platform"},
|
|
15
|
-
{"slug": "clickup", "name": "ClickUp", "sector": "productivity"}
|
|
15
|
+
{"slug": "clickup", "name": "ClickUp", "sector": "productivity"},
|
|
16
|
+
{"slug": "higharc", "name": "Higharc", "sector": "architecture tech"},
|
|
17
|
+
{"slug": "mural", "name": "Mural", "sector": "collaboration"},
|
|
18
|
+
{"slug": "ironcladhq", "name": "Ironclad", "sector": "legal tech"},
|
|
19
|
+
{"slug": "wrapbook", "name": "Wrapbook", "sector": "entertainment payroll"},
|
|
20
|
+
{"slug": "Tabs", "name": "Tabs", "sector": "fintech"},
|
|
21
|
+
{"slug": "vibe", "name": "Vibe", "sector": "saas"},
|
|
22
|
+
{"slug": "unicourt", "name": "UniCourt", "sector": "legal tech"},
|
|
23
|
+
{"slug": "meridianlink", "name": "MeridianLink", "sector": "fintech"},
|
|
24
|
+
{"slug": "Hippocratic AI", "name": "Hippocratic AI", "sector": "healthcare ai"},
|
|
25
|
+
{"slug": "scan-com", "name": "Scan.com", "sector": "healthcare imaging"},
|
|
26
|
+
{"slug": "hiive", "name": "Hiive", "sector": "marketplaces"},
|
|
27
|
+
{"slug": "virtuous", "name": "Virtuous", "sector": "nonprofit crm"},
|
|
28
|
+
{"slug": "jasper ai", "name": "Jasper", "sector": "ai writing"}
|
|
16
29
|
]
|
package/registry/greenhouse.json
CHANGED
|
@@ -43,5 +43,37 @@
|
|
|
43
43
|
{"slug": "braze", "name": "Braze", "sector": "marketing tech"},
|
|
44
44
|
{"slug": "appsflyer", "name": "AppsFlyer", "sector": "marketing tech"},
|
|
45
45
|
{"slug": "attentive", "name": "Attentive", "sector": "marketing tech"},
|
|
46
|
-
{"slug": "iterable", "name": "Iterable", "sector": "marketing tech"}
|
|
46
|
+
{"slug": "iterable", "name": "Iterable", "sector": "marketing tech"},
|
|
47
|
+
{"slug": "nextroll", "name": "NextRoll", "sector": "adtech"},
|
|
48
|
+
{"slug": "cloudbeds", "name": "Cloudbeds", "sector": "hospitality tech"},
|
|
49
|
+
{"slug": "headspacesourcing", "name": "Headspace (Sourcing)", "sector": "mental health"},
|
|
50
|
+
{"slug": "fleetio", "name": "Fleetio", "sector": "fleet management"},
|
|
51
|
+
{"slug": "engine", "name": "Engine", "sector": "travel tech"},
|
|
52
|
+
{"slug": "axon", "name": "Axon", "sector": "public safety"},
|
|
53
|
+
{"slug": "sparrow", "name": "Sparrow", "sector": "hr tech"},
|
|
54
|
+
{"slug": "remotecom", "name": "Remote", "sector": "hr tech"},
|
|
55
|
+
{"slug": "weedmaps77", "name": "Weedmaps", "sector": "cannabis"},
|
|
56
|
+
{"slug": "patterndata", "name": "Pattern", "sector": "ecommerce data"},
|
|
57
|
+
{"slug": "tubitv", "name": "Tubi", "sector": "streaming"},
|
|
58
|
+
{"slug": "future", "name": "Future", "sector": "fitness"},
|
|
59
|
+
{"slug": "eltropyinc", "name": "Eltropy", "sector": "fintech"},
|
|
60
|
+
{"slug": "ziprecruiter", "name": "ZipRecruiter", "sector": "recruiting tech"},
|
|
61
|
+
{"slug": "cognitiv", "name": "Cognitiv", "sector": "adtech"},
|
|
62
|
+
{"slug": "maintainx", "name": "MaintainX", "sector": "industrial saas"},
|
|
63
|
+
{"slug": "betterhelpcom", "name": "BetterHelp", "sector": "mental health"},
|
|
64
|
+
{"slug": "shopmonkey", "name": "Shopmonkey", "sector": "automotive saas"},
|
|
65
|
+
{"slug": "ezcaterinc", "name": "ezCater", "sector": "food tech"},
|
|
66
|
+
{"slug": "trivelta", "name": "TriVelta", "sector": "saas"},
|
|
67
|
+
{"slug": "firstconnectinsurance", "name": "First Connect Insurance", "sector": "insurtech"},
|
|
68
|
+
{"slug": "justworks", "name": "Justworks", "sector": "hr tech"},
|
|
69
|
+
{"slug": "starrez", "name": "StarRez", "sector": "property management"},
|
|
70
|
+
{"slug": "upstart", "name": "Upstart", "sector": "fintech"},
|
|
71
|
+
{"slug": "affirm", "name": "Affirm", "sector": "fintech"},
|
|
72
|
+
{"slug": "houseaccount", "name": "House Account", "sector": "saas"},
|
|
73
|
+
{"slug": "appdirect", "name": "AppDirect", "sector": "cloud commerce"},
|
|
74
|
+
{"slug": "rubrik", "name": "Rubrik", "sector": "security"},
|
|
75
|
+
{"slug": "asana", "name": "Asana", "sector": "productivity"},
|
|
76
|
+
{"slug": "instacart", "name": "Instacart", "sector": "grocery delivery"},
|
|
77
|
+
{"slug": "discord", "name": "Discord", "sector": "social"},
|
|
78
|
+
{"slug": "hs", "name": "Headspace", "sector": "mental health"}
|
|
47
79
|
]
|
package/registry/lever.json
CHANGED
|
@@ -6,5 +6,12 @@
|
|
|
6
6
|
{"slug": "clari", "name": "Clari", "sector": "sales tech"},
|
|
7
7
|
{"slug": "netflix", "name": "Netflix", "sector": "media"},
|
|
8
8
|
{"slug": "lever", "name": "Lever", "sector": "recruiting tech"},
|
|
9
|
-
{"slug": "postman",
|
|
9
|
+
{"slug": "postman", "name": "Postman", "sector": "developer tools"},
|
|
10
|
+
{"slug": "agiloft", "name": "Agiloft", "sector": "contract management"},
|
|
11
|
+
{"slug": "gohighlevel", "name": "HighLevel", "sector": "marketing saas"},
|
|
12
|
+
{"slug": "veeva", "name": "Veeva Systems", "sector": "life sciences"},
|
|
13
|
+
{"slug": "caremessage", "name": "CareMessage", "sector": "healthcare communications"},
|
|
14
|
+
{"slug": "rover", "name": "Rover", "sector": "pet care"},
|
|
15
|
+
{"slug": "LuminDigital", "name": "Lumin Digital", "sector": "fintech (banking)"},
|
|
16
|
+
{"slug": "redoxengine", "name": "Redox", "sector": "healthcare interop"}
|
|
10
17
|
]
|