@snokam/mcp-api 2.19.0 → 2.21.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@snokam/mcp-api",
3
- "version": "2.19.0",
3
+ "version": "2.21.0",
4
4
  "description": "MCP server exposing Snokam backend APIs as tools for Claude Code and other MCP clients",
5
5
  "type": "module",
6
6
  "bin": {
@@ -86,45 +86,37 @@
86
86
  ]
87
87
  }
88
88
  },
89
- "/v1.0/cvs/{email}": {
89
+ "/v1.0/cvs/{slug}": {
90
90
  "get": {
91
91
  "tags": [
92
92
  "CV"
93
93
  ],
94
- "summary": "Gets CV data for a specific employee by email",
95
- "description": "Retrieves CV data for a specific consultant from CvPartner by their email address.",
96
- "operationId": "GetEmployeeCvByEmail",
94
+ "summary": "Gets CV data for a specific employee by slug",
95
+ "description": "Retrieves CV data for a specific consultant from CvPartner by their Sanity slug (e.g. 'hakon-grotte').",
96
+ "operationId": "GetEmployeeCvBySlug",
97
97
  "parameters": [
98
98
  {
99
- "name": "email",
99
+ "name": "slug",
100
100
  "in": "path",
101
- "description": "The email address of the consultant to retrieve CV data for",
102
101
  "required": true,
103
102
  "schema": {
104
103
  "type": "string"
105
- },
106
- "x-ms-summary": "The email address of the employee"
104
+ }
107
105
  }
108
106
  ],
109
107
  "responses": {
110
108
  "200": {
111
- "description": "Consultant CV profile retrieved successfully",
109
+ "description": "Payload of ConsultantCv",
112
110
  "content": {
113
111
  "application/json": {
114
112
  "schema": {
115
113
  "$ref": "#/components/schemas/consultantCv"
116
114
  }
117
115
  }
118
- },
119
- "x-ms-summary": "Success"
120
- },
121
- "401": {
122
- "description": "User is not authorized",
123
- "x-ms-summary": "Unauthorized"
116
+ }
124
117
  },
125
118
  "404": {
126
- "description": "Employee not found in CvPartner",
127
- "x-ms-summary": "Not Found"
119
+ "description": "No description"
128
120
  }
129
121
  },
130
122
  "security": [
@@ -171,16 +163,16 @@
171
163
  ]
172
164
  }
173
165
  },
174
- "/v1.0/cvs/{email}/pdf": {
166
+ "/v1.0/cvs/{slug}/pdf": {
175
167
  "get": {
176
168
  "tags": [
177
169
  "CV"
178
170
  ],
179
- "summary": "Downloads a specific consultant's CV as PDF by email",
180
- "operationId": "GetEmployeeCvPdfByEmail",
171
+ "summary": "Downloads a specific consultant's CV as PDF by slug",
172
+ "operationId": "GetEmployeeCvPdfBySlug",
181
173
  "parameters": [
182
174
  {
183
- "name": "email",
175
+ "name": "slug",
184
176
  "in": "path",
185
177
  "required": true,
186
178
  "schema": {
@@ -1273,17 +1265,12 @@
1273
1265
  "type": "string",
1274
1266
  "nullable": true
1275
1267
  },
1276
- "customer_name": {
1277
- "type": "string",
1278
- "nullable": true
1279
- },
1280
- "description": {
1268
+ "owner_id": {
1281
1269
  "type": "string",
1282
1270
  "nullable": true
1283
1271
  },
1284
- "deadline": {
1272
+ "status": {
1285
1273
  "type": "string",
1286
- "format": "date-time",
1287
1274
  "nullable": true
1288
1275
  }
1289
1276
  }
@@ -1317,7 +1304,7 @@
1317
1304
  "flowcaseProposal": {
1318
1305
  "type": "object",
1319
1306
  "properties": {
1320
- "_id": {
1307
+ "id": {
1321
1308
  "type": "string",
1322
1309
  "nullable": true
1323
1310
  },
@@ -1325,59 +1312,70 @@
1325
1312
  "type": "string",
1326
1313
  "nullable": true
1327
1314
  },
1328
- "customer_name": {
1315
+ "api_owner_id": {
1329
1316
  "type": "string",
1330
1317
  "nullable": true
1331
1318
  },
1332
- "description": {
1319
+ "api_owner_name": {
1333
1320
  "type": "string",
1334
1321
  "nullable": true
1335
1322
  },
1336
- "deadline": {
1323
+ "owner_id": {
1337
1324
  "type": "string",
1338
- "format": "date-time",
1339
1325
  "nullable": true
1340
1326
  },
1341
- "created_at": {
1327
+ "owner_name": {
1342
1328
  "type": "string",
1343
- "format": "date-time",
1344
1329
  "nullable": true
1345
1330
  },
1346
- "updated_at": {
1331
+ "status": {
1347
1332
  "type": "string",
1348
- "format": "date-time",
1349
1333
  "nullable": true
1350
1334
  },
1351
1335
  "archived": {
1352
1336
  "type": "boolean",
1353
1337
  "nullable": true
1338
+ },
1339
+ "created_at": {
1340
+ "type": "string",
1341
+ "format": "date-time",
1342
+ "nullable": true
1343
+ },
1344
+ "updated_at": {
1345
+ "type": "string",
1346
+ "format": "date-time",
1347
+ "nullable": true
1354
1348
  }
1355
1349
  }
1356
1350
  },
1357
1351
  "flowcaseTailoredCv": {
1358
1352
  "type": "object",
1359
1353
  "properties": {
1360
- "_id": {
1354
+ "id": {
1361
1355
  "type": "string",
1362
1356
  "nullable": true
1363
1357
  },
1364
- "cv_id": {
1358
+ "user_id": {
1365
1359
  "type": "string",
1366
1360
  "nullable": true
1367
1361
  },
1368
- "user_id": {
1362
+ "proposal_id": {
1363
+ "type": "string",
1364
+ "nullable": true
1365
+ },
1366
+ "name": {
1369
1367
  "type": "string",
1370
1368
  "nullable": true
1371
1369
  },
1372
- "user_name": {
1370
+ "email": {
1373
1371
  "type": "string",
1374
1372
  "nullable": true
1375
1373
  },
1376
- "user_email": {
1374
+ "title": {
1377
1375
  "type": "string",
1378
1376
  "nullable": true
1379
1377
  },
1380
- "proposal_id": {
1378
+ "status": {
1381
1379
  "type": "string",
1382
1380
  "nullable": true
1383
1381
  },
@@ -1385,6 +1383,11 @@
1385
1383
  "type": "string",
1386
1384
  "format": "date-time",
1387
1385
  "nullable": true
1386
+ },
1387
+ "updated_at": {
1388
+ "type": "string",
1389
+ "format": "date-time",
1390
+ "nullable": true
1388
1391
  }
1389
1392
  }
1390
1393
  },
@@ -2832,21 +2835,12 @@
2832
2835
  "type": "string",
2833
2836
  "nullable": true
2834
2837
  },
2835
- "customer_name": {
2836
- "type": "string",
2837
- "nullable": true
2838
- },
2839
- "description": {
2840
- "type": "string",
2838
+ "archived": {
2839
+ "type": "boolean",
2841
2840
  "nullable": true
2842
2841
  },
2843
- "deadline": {
2842
+ "status": {
2844
2843
  "type": "string",
2845
- "format": "date-time",
2846
- "nullable": true
2847
- },
2848
- "archived": {
2849
- "type": "boolean",
2850
2844
  "nullable": true
2851
2845
  }
2852
2846
  }
@@ -86,45 +86,37 @@
86
86
  ]
87
87
  }
88
88
  },
89
- "/v1.0/cvs/{email}": {
89
+ "/v1.0/cvs/{slug}": {
90
90
  "get": {
91
91
  "tags": [
92
92
  "CV"
93
93
  ],
94
- "summary": "Gets CV data for a specific employee by email",
95
- "description": "Retrieves CV data for a specific consultant from CvPartner by their email address.",
96
- "operationId": "GetEmployeeCvByEmail",
94
+ "summary": "Gets CV data for a specific employee by slug",
95
+ "description": "Retrieves CV data for a specific consultant from CvPartner by their Sanity slug (e.g. 'hakon-grotte').",
96
+ "operationId": "GetEmployeeCvBySlug",
97
97
  "parameters": [
98
98
  {
99
- "name": "email",
99
+ "name": "slug",
100
100
  "in": "path",
101
- "description": "The email address of the consultant to retrieve CV data for",
102
101
  "required": true,
103
102
  "schema": {
104
103
  "type": "string"
105
- },
106
- "x-ms-summary": "The email address of the employee"
104
+ }
107
105
  }
108
106
  ],
109
107
  "responses": {
110
108
  "200": {
111
- "description": "Consultant CV profile retrieved successfully",
109
+ "description": "Payload of ConsultantCv",
112
110
  "content": {
113
111
  "application/json": {
114
112
  "schema": {
115
113
  "$ref": "#/components/schemas/consultantCv"
116
114
  }
117
115
  }
118
- },
119
- "x-ms-summary": "Success"
120
- },
121
- "401": {
122
- "description": "User is not authorized",
123
- "x-ms-summary": "Unauthorized"
116
+ }
124
117
  },
125
118
  "404": {
126
- "description": "Employee not found in CvPartner",
127
- "x-ms-summary": "Not Found"
119
+ "description": "No description"
128
120
  }
129
121
  },
130
122
  "security": [
@@ -171,16 +163,16 @@
171
163
  ]
172
164
  }
173
165
  },
174
- "/v1.0/cvs/{email}/pdf": {
166
+ "/v1.0/cvs/{slug}/pdf": {
175
167
  "get": {
176
168
  "tags": [
177
169
  "CV"
178
170
  ],
179
- "summary": "Downloads a specific consultant's CV as PDF by email",
180
- "operationId": "GetEmployeeCvPdfByEmail",
171
+ "summary": "Downloads a specific consultant's CV as PDF by slug",
172
+ "operationId": "GetEmployeeCvPdfBySlug",
181
173
  "parameters": [
182
174
  {
183
- "name": "email",
175
+ "name": "slug",
184
176
  "in": "path",
185
177
  "required": true,
186
178
  "schema": {
@@ -1273,17 +1265,12 @@
1273
1265
  "type": "string",
1274
1266
  "nullable": true
1275
1267
  },
1276
- "customer_name": {
1277
- "type": "string",
1278
- "nullable": true
1279
- },
1280
- "description": {
1268
+ "owner_id": {
1281
1269
  "type": "string",
1282
1270
  "nullable": true
1283
1271
  },
1284
- "deadline": {
1272
+ "status": {
1285
1273
  "type": "string",
1286
- "format": "date-time",
1287
1274
  "nullable": true
1288
1275
  }
1289
1276
  }
@@ -1317,7 +1304,7 @@
1317
1304
  "flowcaseProposal": {
1318
1305
  "type": "object",
1319
1306
  "properties": {
1320
- "_id": {
1307
+ "id": {
1321
1308
  "type": "string",
1322
1309
  "nullable": true
1323
1310
  },
@@ -1325,59 +1312,70 @@
1325
1312
  "type": "string",
1326
1313
  "nullable": true
1327
1314
  },
1328
- "customer_name": {
1315
+ "api_owner_id": {
1329
1316
  "type": "string",
1330
1317
  "nullable": true
1331
1318
  },
1332
- "description": {
1319
+ "api_owner_name": {
1333
1320
  "type": "string",
1334
1321
  "nullable": true
1335
1322
  },
1336
- "deadline": {
1323
+ "owner_id": {
1337
1324
  "type": "string",
1338
- "format": "date-time",
1339
1325
  "nullable": true
1340
1326
  },
1341
- "created_at": {
1327
+ "owner_name": {
1342
1328
  "type": "string",
1343
- "format": "date-time",
1344
1329
  "nullable": true
1345
1330
  },
1346
- "updated_at": {
1331
+ "status": {
1347
1332
  "type": "string",
1348
- "format": "date-time",
1349
1333
  "nullable": true
1350
1334
  },
1351
1335
  "archived": {
1352
1336
  "type": "boolean",
1353
1337
  "nullable": true
1338
+ },
1339
+ "created_at": {
1340
+ "type": "string",
1341
+ "format": "date-time",
1342
+ "nullable": true
1343
+ },
1344
+ "updated_at": {
1345
+ "type": "string",
1346
+ "format": "date-time",
1347
+ "nullable": true
1354
1348
  }
1355
1349
  }
1356
1350
  },
1357
1351
  "flowcaseTailoredCv": {
1358
1352
  "type": "object",
1359
1353
  "properties": {
1360
- "_id": {
1354
+ "id": {
1361
1355
  "type": "string",
1362
1356
  "nullable": true
1363
1357
  },
1364
- "cv_id": {
1358
+ "user_id": {
1365
1359
  "type": "string",
1366
1360
  "nullable": true
1367
1361
  },
1368
- "user_id": {
1362
+ "proposal_id": {
1363
+ "type": "string",
1364
+ "nullable": true
1365
+ },
1366
+ "name": {
1369
1367
  "type": "string",
1370
1368
  "nullable": true
1371
1369
  },
1372
- "user_name": {
1370
+ "email": {
1373
1371
  "type": "string",
1374
1372
  "nullable": true
1375
1373
  },
1376
- "user_email": {
1374
+ "title": {
1377
1375
  "type": "string",
1378
1376
  "nullable": true
1379
1377
  },
1380
- "proposal_id": {
1378
+ "status": {
1381
1379
  "type": "string",
1382
1380
  "nullable": true
1383
1381
  },
@@ -1385,6 +1383,11 @@
1385
1383
  "type": "string",
1386
1384
  "format": "date-time",
1387
1385
  "nullable": true
1386
+ },
1387
+ "updated_at": {
1388
+ "type": "string",
1389
+ "format": "date-time",
1390
+ "nullable": true
1388
1391
  }
1389
1392
  }
1390
1393
  },
@@ -2832,21 +2835,12 @@
2832
2835
  "type": "string",
2833
2836
  "nullable": true
2834
2837
  },
2835
- "customer_name": {
2836
- "type": "string",
2837
- "nullable": true
2838
- },
2839
- "description": {
2840
- "type": "string",
2838
+ "archived": {
2839
+ "type": "boolean",
2841
2840
  "nullable": true
2842
2841
  },
2843
- "deadline": {
2842
+ "status": {
2844
2843
  "type": "string",
2845
- "format": "date-time",
2846
- "nullable": true
2847
- },
2848
- "archived": {
2849
- "type": "boolean",
2850
2844
  "nullable": true
2851
2845
  }
2852
2846
  }