@snokam/mcp-api 2.17.0 → 2.18.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.17.0",
3
+ "version": "2.18.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": {
@@ -2132,6 +2132,106 @@
2132
2132
  ]
2133
2133
  }
2134
2134
  },
2135
+ "/v1.0/tenders/{id}/consultants": {
2136
+ "post": {
2137
+ "tags": [
2138
+ "Tenders"
2139
+ ],
2140
+ "summary": "Assign a consultant to a tender. Idempotent: assigning the same email twice refreshes Name/Note but does not create duplicates.",
2141
+ "operationId": "AssignConsultant",
2142
+ "parameters": [
2143
+ {
2144
+ "name": "id",
2145
+ "in": "path",
2146
+ "required": true,
2147
+ "schema": {
2148
+ "type": "string"
2149
+ }
2150
+ }
2151
+ ],
2152
+ "requestBody": {
2153
+ "content": {
2154
+ "application/json": {
2155
+ "schema": {
2156
+ "$ref": "#/components/schemas/assignedConsultant"
2157
+ }
2158
+ }
2159
+ },
2160
+ "required": true
2161
+ },
2162
+ "responses": {
2163
+ "200": {
2164
+ "description": "Payload of Tender",
2165
+ "content": {
2166
+ "application/json": {
2167
+ "schema": {
2168
+ "$ref": "#/components/schemas/tender"
2169
+ }
2170
+ }
2171
+ }
2172
+ },
2173
+ "404": {
2174
+ "description": "No description"
2175
+ }
2176
+ },
2177
+ "security": [
2178
+ {
2179
+ "Implicit": [
2180
+ "api://7e877854-e62d-4637-a655-1da7141f7ac9/.default"
2181
+ ]
2182
+ }
2183
+ ]
2184
+ }
2185
+ },
2186
+ "/v1.0/tenders/{id}/consultants/{email}": {
2187
+ "delete": {
2188
+ "tags": [
2189
+ "Tenders"
2190
+ ],
2191
+ "summary": "Remove a consultant assignment from a tender. No-op if the email isn't assigned.",
2192
+ "operationId": "UnassignConsultant",
2193
+ "parameters": [
2194
+ {
2195
+ "name": "id",
2196
+ "in": "path",
2197
+ "required": true,
2198
+ "schema": {
2199
+ "type": "string"
2200
+ }
2201
+ },
2202
+ {
2203
+ "name": "email",
2204
+ "in": "path",
2205
+ "required": true,
2206
+ "schema": {
2207
+ "type": "string"
2208
+ }
2209
+ }
2210
+ ],
2211
+ "responses": {
2212
+ "200": {
2213
+ "description": "Payload of Tender",
2214
+ "content": {
2215
+ "application/json": {
2216
+ "schema": {
2217
+ "$ref": "#/components/schemas/tender"
2218
+ }
2219
+ }
2220
+ }
2221
+ },
2222
+ "404": {
2223
+ "description": "No description"
2224
+ }
2225
+ },
2226
+ "security": [
2227
+ {
2228
+ "Implicit": [
2229
+ "api://7e877854-e62d-4637-a655-1da7141f7ac9/.default"
2230
+ ]
2231
+ }
2232
+ ]
2233
+ }
2234
+ },
2135
2235
  "/v1.0/tenders/{id}/jobs": {
2136
2236
  "get": {
2137
2237
  "tags": [
@@ -2429,6 +2529,32 @@
2429
2529
  }
2430
2530
  }
2431
2531
  },
2532
+ "assignedConsultant": {
2533
+ "type": "object",
2534
+ "properties": {
2535
+ "email": {
2536
+ "type": "string",
2537
+ "nullable": true
2538
+ },
2539
+ "name": {
2540
+ "type": "string",
2541
+ "nullable": true
2542
+ },
2543
+ "assignedAt": {
2544
+ "type": "string",
2545
+ "format": "date-time",
2546
+ "nullable": true
2547
+ },
2548
+ "assignedBy": {
2549
+ "type": "string",
2550
+ "nullable": true
2551
+ },
2552
+ "note": {
2553
+ "type": "string",
2554
+ "nullable": true
2555
+ }
2556
+ }
2557
+ },
2432
2558
  "auditEvent": {
2433
2559
  "type": "object",
2434
2560
  "properties": {
@@ -3319,6 +3445,10 @@
3319
3445
  "Id": {
3320
3446
  "type": "string",
3321
3447
  "nullable": true
3448
+ },
3449
+ "Email": {
3450
+ "type": "string",
3451
+ "nullable": true
3322
3452
  }
3323
3453
  },
3324
3454
  "nullable": true
@@ -3425,6 +3555,13 @@
3425
3555
  },
3426
3556
  "nullable": true
3427
3557
  },
3558
+ "assignedConsultants": {
3559
+ "type": "array",
3560
+ "items": {
3561
+ "$ref": "#/components/schemas/assignedConsultant"
3562
+ },
3563
+ "nullable": true
3564
+ },
3428
3565
  "audit": {
3429
3566
  "$ref": "#/components/schemas/tenderAudit"
3430
3567
  },
@@ -2132,6 +2132,106 @@
2132
2132
  ]
2133
2133
  }
2134
2134
  },
2135
+ "/v1.0/tenders/{id}/consultants": {
2136
+ "post": {
2137
+ "tags": [
2138
+ "Tenders"
2139
+ ],
2140
+ "summary": "Assign a consultant to a tender. Idempotent: assigning the same email twice refreshes Name/Note but does not create duplicates.",
2141
+ "operationId": "AssignConsultant",
2142
+ "parameters": [
2143
+ {
2144
+ "name": "id",
2145
+ "in": "path",
2146
+ "required": true,
2147
+ "schema": {
2148
+ "type": "string"
2149
+ }
2150
+ }
2151
+ ],
2152
+ "requestBody": {
2153
+ "content": {
2154
+ "application/json": {
2155
+ "schema": {
2156
+ "$ref": "#/components/schemas/assignedConsultant"
2157
+ }
2158
+ }
2159
+ },
2160
+ "required": true
2161
+ },
2162
+ "responses": {
2163
+ "200": {
2164
+ "description": "Payload of Tender",
2165
+ "content": {
2166
+ "application/json": {
2167
+ "schema": {
2168
+ "$ref": "#/components/schemas/tender"
2169
+ }
2170
+ }
2171
+ }
2172
+ },
2173
+ "404": {
2174
+ "description": "No description"
2175
+ }
2176
+ },
2177
+ "security": [
2178
+ {
2179
+ "Implicit": [
2180
+ "api://d7f15838-af74-4048-88b3-503089de0064/.default"
2181
+ ]
2182
+ }
2183
+ ]
2184
+ }
2185
+ },
2186
+ "/v1.0/tenders/{id}/consultants/{email}": {
2187
+ "delete": {
2188
+ "tags": [
2189
+ "Tenders"
2190
+ ],
2191
+ "summary": "Remove a consultant assignment from a tender. No-op if the email isn't assigned.",
2192
+ "operationId": "UnassignConsultant",
2193
+ "parameters": [
2194
+ {
2195
+ "name": "id",
2196
+ "in": "path",
2197
+ "required": true,
2198
+ "schema": {
2199
+ "type": "string"
2200
+ }
2201
+ },
2202
+ {
2203
+ "name": "email",
2204
+ "in": "path",
2205
+ "required": true,
2206
+ "schema": {
2207
+ "type": "string"
2208
+ }
2209
+ }
2210
+ ],
2211
+ "responses": {
2212
+ "200": {
2213
+ "description": "Payload of Tender",
2214
+ "content": {
2215
+ "application/json": {
2216
+ "schema": {
2217
+ "$ref": "#/components/schemas/tender"
2218
+ }
2219
+ }
2220
+ }
2221
+ },
2222
+ "404": {
2223
+ "description": "No description"
2224
+ }
2225
+ },
2226
+ "security": [
2227
+ {
2228
+ "Implicit": [
2229
+ "api://d7f15838-af74-4048-88b3-503089de0064/.default"
2230
+ ]
2231
+ }
2232
+ ]
2233
+ }
2234
+ },
2135
2235
  "/v1.0/tenders/{id}/jobs": {
2136
2236
  "get": {
2137
2237
  "tags": [
@@ -2429,6 +2529,32 @@
2429
2529
  }
2430
2530
  }
2431
2531
  },
2532
+ "assignedConsultant": {
2533
+ "type": "object",
2534
+ "properties": {
2535
+ "email": {
2536
+ "type": "string",
2537
+ "nullable": true
2538
+ },
2539
+ "name": {
2540
+ "type": "string",
2541
+ "nullable": true
2542
+ },
2543
+ "assignedAt": {
2544
+ "type": "string",
2545
+ "format": "date-time",
2546
+ "nullable": true
2547
+ },
2548
+ "assignedBy": {
2549
+ "type": "string",
2550
+ "nullable": true
2551
+ },
2552
+ "note": {
2553
+ "type": "string",
2554
+ "nullable": true
2555
+ }
2556
+ }
2557
+ },
2432
2558
  "auditEvent": {
2433
2559
  "type": "object",
2434
2560
  "properties": {
@@ -3319,6 +3445,10 @@
3319
3445
  "Id": {
3320
3446
  "type": "string",
3321
3447
  "nullable": true
3448
+ },
3449
+ "Email": {
3450
+ "type": "string",
3451
+ "nullable": true
3322
3452
  }
3323
3453
  },
3324
3454
  "nullable": true
@@ -3425,6 +3555,13 @@
3425
3555
  },
3426
3556
  "nullable": true
3427
3557
  },
3558
+ "assignedConsultants": {
3559
+ "type": "array",
3560
+ "items": {
3561
+ "$ref": "#/components/schemas/assignedConsultant"
3562
+ },
3563
+ "nullable": true
3564
+ },
3428
3565
  "audit": {
3429
3566
  "$ref": "#/components/schemas/tenderAudit"
3430
3567
  },