hirelayer-mcp 1.1.0 → 1.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/dist/server.js +10 -6
- package/package.json +1 -1
package/dist/server.js
CHANGED
|
@@ -24,7 +24,11 @@ const criterion = z.object({
|
|
|
24
24
|
rationale: z.string().min(1).describe('Why the criterion matters for the job.'),
|
|
25
25
|
});
|
|
26
26
|
// The tools only read and analyse data; they never change anything in the user's systems.
|
|
27
|
-
const
|
|
27
|
+
const readOnly = { readOnlyHint: true, destructiveHint: false, openWorldHint: true };
|
|
28
|
+
// Directories (Claude, ChatGPT) read the human-readable name from annotations.title.
|
|
29
|
+
function annotations(title) {
|
|
30
|
+
return { title, ...readOnly };
|
|
31
|
+
}
|
|
28
32
|
export function createServer(client) {
|
|
29
33
|
const server = new McpServer({
|
|
30
34
|
name: 'hirelayer',
|
|
@@ -59,7 +63,7 @@ export function createServer(client) {
|
|
|
59
63
|
.optional()
|
|
60
64
|
.describe('true: HireLayer does not keep the file after parsing.'),
|
|
61
65
|
},
|
|
62
|
-
annotations,
|
|
66
|
+
annotations: annotations('Parse a resume'),
|
|
63
67
|
}, ({ file_path, file_url, application_id, do_not_store_data }, extra) => run(extra, (signal) => client.parseResume({ filePath: file_path, fileUrl: file_url }, { applicationId: application_id, doNotStoreData: do_not_store_data, signal })));
|
|
64
68
|
server.registerTool('extract_job_criteria', {
|
|
65
69
|
title: 'Extract job criteria',
|
|
@@ -67,7 +71,7 @@ export function createServer(client) {
|
|
|
67
71
|
inputSchema: {
|
|
68
72
|
job_text: z.string().min(1).max(50000).describe('Full job description.'),
|
|
69
73
|
},
|
|
70
|
-
annotations,
|
|
74
|
+
annotations: annotations('Extract job criteria'),
|
|
71
75
|
}, ({ job_text }, extra) => run(extra, (signal) => client.extractJobCriteria(job_text, { signal })));
|
|
72
76
|
server.registerTool('match_candidate', {
|
|
73
77
|
title: 'Match a candidate to a job',
|
|
@@ -80,7 +84,7 @@ export function createServer(client) {
|
|
|
80
84
|
.default([])
|
|
81
85
|
.describe('Criteria to evaluate, usually from extract_job_criteria.'),
|
|
82
86
|
},
|
|
83
|
-
annotations,
|
|
87
|
+
annotations: annotations('Match a candidate to a job'),
|
|
84
88
|
}, (args, extra) => run(extra, (signal) => client.matchCandidate(args, { signal })));
|
|
85
89
|
server.registerTool('rank_candidates', {
|
|
86
90
|
title: 'Rank candidates for a job',
|
|
@@ -95,7 +99,7 @@ export function createServer(client) {
|
|
|
95
99
|
.min(1)
|
|
96
100
|
.max(10),
|
|
97
101
|
},
|
|
98
|
-
annotations,
|
|
102
|
+
annotations: annotations('Rank candidates for a job'),
|
|
99
103
|
}, (args, extra) => run(extra, (signal) => client.rankCandidates(args, { signal })));
|
|
100
104
|
server.registerTool('resolve_skills', {
|
|
101
105
|
title: 'Resolve skills',
|
|
@@ -104,7 +108,7 @@ export function createServer(client) {
|
|
|
104
108
|
text: z.string().min(1).max(5000).describe('Free text containing one or more skills.'),
|
|
105
109
|
language: z.enum(['fr', 'en']).optional().describe('Language of the labels returned: fr (default) or en.'),
|
|
106
110
|
},
|
|
107
|
-
annotations,
|
|
111
|
+
annotations: annotations('Resolve skills'),
|
|
108
112
|
}, ({ text, language }, extra) => run(extra, (signal) => client.resolveSkills(text, language, { signal })));
|
|
109
113
|
server.registerPrompt('screen_candidates', {
|
|
110
114
|
title: 'Screen candidates for a job',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hirelayer-mcp",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"mcpName": "co.hirelayer/hirelayer",
|
|
5
5
|
"description": "Official HireLayer MCP server: resume and CV parsing, job criteria extraction, candidate matching and ranking, and skills normalization for AI agents in Claude, Cursor, VS Code and other MCP clients.",
|
|
6
6
|
"type": "module",
|