@norbix.ai/mcp 0.7.0 → 0.8.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/README.md CHANGED
@@ -166,7 +166,9 @@ NORBIX_HUB_URL=https://hub.norbix.ai norbix-mcp --http --port 3010
166
166
  `norbix_test_integration`, `norbix_get_code_functions`, `norbix_get_code_function_qualifiers`,
167
167
  `norbix_invoke_code_function`, `norbix_get_code_function_event_sample`,
168
168
  `norbix_get_code_function_runs`, `norbix_get_marketplace_integrations`,
169
- `norbix_save_marketplace_integration`, `norbix_get_database_schemas`,
169
+ `norbix_save_marketplace_integration`, `norbix_test_marketplace_integration`,
170
+ `norbix_invoke_marketplace_function`, `norbix_get_marketplace_function_runs`,
171
+ `norbix_get_database_schemas`,
170
172
  `norbix_find_documents`, `norbix_find_one_document`, `norbix_insert_document`,
171
173
  `norbix_update_document`, `norbix_get_taxonomy_terms`, `norbix_get_roles`, `norbix_get_policies`,
172
174
  `norbix_get_logs`, `norbix_list_service_api_keys`.
@@ -203,6 +205,16 @@ envelope itself (`CodeFunctionEventDto`: `specVersion`, `event`, `source`,
203
205
  `context.runAs.accessToken`, `data.{database,user,file,payment,ai,task,payload}`,
204
206
  `config`) is in `norbix_describe_endpoint("getCodeFunctionEventSample")`.
205
207
 
208
+ **Marketplace** (`@norbix.ai/ts` 4.21.0): `norbix_save_marketplace_integration`
209
+ enables a listing as a connection (empty `integration.viewId` → the answer's `id`
210
+ is the minted `int_…`), `norbix_test_marketplace_integration` runs its validation
211
+ steps (`steps[]`; functions can be added once every `requiredForFunctions` step
212
+ succeeded), `norbix_invoke_marketplace_function` calls a function by hand
213
+ (`functionViewId`, `payload`), and `norbix_get_marketplace_function_runs` lists
214
+ the last runs of a trigger or task. Listings, functions (`saveMarketplaceFunction`
215
+ with `arguments` and `inputs`) and the rest of the 23 routes are reached with
216
+ `norbix_search_endpoints("marketplace")`.
217
+
206
218
  ## Database tools
207
219
 
208
220
  Six shortcuts cover the everyday database work. Everything else in the
@@ -212,6 +212,16 @@
212
212
  "name": "resolver",
213
213
  "type": "TokenMappingResolverType",
214
214
  "optional": false
215
+ },
216
+ {
217
+ "name": "secretKeys",
218
+ "type": "string[]",
219
+ "optional": true
220
+ },
221
+ {
222
+ "name": "secretFormat",
223
+ "type": "SecretValueFormat",
224
+ "optional": true
215
225
  }
216
226
  ]
217
227
  },
@@ -3312,6 +3322,11 @@
3312
3322
  "name": "payload",
3313
3323
  "type": "{ [index: string]: string }",
3314
3324
  "optional": true
3325
+ },
3326
+ {
3327
+ "name": "runAsUserId",
3328
+ "type": "string",
3329
+ "optional": true
3315
3330
  }
3316
3331
  ]
3317
3332
  },
@@ -5623,6 +5638,41 @@
5623
5638
  }
5624
5639
  ]
5625
5640
  },
5641
+ "MarketplaceValidationStepResultDto": {
5642
+ "base": null,
5643
+ "fields": [
5644
+ {
5645
+ "name": "key",
5646
+ "type": "string",
5647
+ "optional": false
5648
+ },
5649
+ {
5650
+ "name": "label",
5651
+ "type": "string",
5652
+ "optional": false
5653
+ },
5654
+ {
5655
+ "name": "requiredForFunctions",
5656
+ "type": "boolean",
5657
+ "optional": false
5658
+ },
5659
+ {
5660
+ "name": "succeeded",
5661
+ "type": "boolean",
5662
+ "optional": false
5663
+ },
5664
+ {
5665
+ "name": "skipped",
5666
+ "type": "boolean",
5667
+ "optional": false
5668
+ },
5669
+ {
5670
+ "name": "message",
5671
+ "type": "string",
5672
+ "optional": true
5673
+ }
5674
+ ]
5675
+ },
5626
5676
  "MarketplaceIntegrationDto": {
5627
5677
  "base": "IntegrationDto",
5628
5678
  "fields": [
@@ -5655,36 +5705,41 @@
5655
5705
  "name": "config",
5656
5706
  "type": "IReadOnlyDictionary<string, string>",
5657
5707
  "optional": false
5708
+ },
5709
+ {
5710
+ "name": "lastValidationSteps",
5711
+ "type": "MarketplaceValidationStepResultDto[]",
5712
+ "optional": true
5658
5713
  }
5659
5714
  ]
5660
5715
  },
5661
- "MarketplaceTokenMappingDto": {
5716
+ "MarketplaceFunctionParameterDto": {
5662
5717
  "base": null,
5663
5718
  "fields": [
5664
5719
  {
5665
- "name": "token",
5720
+ "name": "name",
5666
5721
  "type": "string",
5667
5722
  "optional": false
5668
5723
  },
5669
5724
  {
5670
- "name": "resolver",
5671
- "type": "MarketplaceTokenResolverKind",
5725
+ "name": "type",
5726
+ "type": "string",
5672
5727
  "optional": false
5673
5728
  },
5674
5729
  {
5675
- "name": "value",
5730
+ "name": "description",
5676
5731
  "type": "string",
5677
5732
  "optional": true
5678
5733
  },
5679
5734
  {
5680
- "name": "secretKeys",
5681
- "type": "string[]",
5682
- "optional": true
5735
+ "name": "isRequired",
5736
+ "type": "boolean",
5737
+ "optional": false
5683
5738
  },
5684
5739
  {
5685
- "name": "format",
5686
- "type": "MarketplaceSecretValueFormat",
5687
- "optional": false
5740
+ "name": "defaultValue",
5741
+ "type": "string",
5742
+ "optional": true
5688
5743
  }
5689
5744
  ]
5690
5745
  },
@@ -5724,11 +5779,21 @@
5724
5779
  {
5725
5780
  "name": "requestTemplate",
5726
5781
  "type": "string",
5782
+ "optional": true
5783
+ },
5784
+ {
5785
+ "name": "arguments",
5786
+ "type": "{ [index: string]: string } = {}",
5787
+ "optional": false
5788
+ },
5789
+ {
5790
+ "name": "inputs",
5791
+ "type": "MarketplaceFunctionParameterDto[] = []",
5727
5792
  "optional": false
5728
5793
  },
5729
5794
  {
5730
5795
  "name": "mappedTokens",
5731
- "type": "MarketplaceTokenMappingDto[] = []",
5796
+ "type": "TokenMappingDto[] = []",
5732
5797
  "optional": false
5733
5798
  }
5734
5799
  ]
@@ -5788,33 +5853,23 @@
5788
5853
  }
5789
5854
  ]
5790
5855
  },
5791
- "MarketplaceFunctionParameterDto": {
5856
+ "MarketplaceInstallFormDto": {
5792
5857
  "base": null,
5793
5858
  "fields": [
5794
5859
  {
5795
- "name": "name",
5860
+ "name": "dataSchema",
5796
5861
  "type": "string",
5797
5862
  "optional": false
5798
5863
  },
5799
5864
  {
5800
- "name": "type",
5865
+ "name": "uiSchema",
5801
5866
  "type": "string",
5802
5867
  "optional": false
5803
5868
  },
5804
5869
  {
5805
- "name": "description",
5806
- "type": "string",
5807
- "optional": true
5808
- },
5809
- {
5810
- "name": "isRequired",
5811
- "type": "boolean",
5870
+ "name": "secretKeys",
5871
+ "type": "string[] = []",
5812
5872
  "optional": false
5813
- },
5814
- {
5815
- "name": "defaultValue",
5816
- "type": "string",
5817
- "optional": true
5818
5873
  }
5819
5874
  ]
5820
5875
  },
@@ -5888,6 +5943,36 @@
5888
5943
  }
5889
5944
  ]
5890
5945
  },
5946
+ "MarketplaceValidationStepDto": {
5947
+ "base": null,
5948
+ "fields": [
5949
+ {
5950
+ "name": "key",
5951
+ "type": "string",
5952
+ "optional": false
5953
+ },
5954
+ {
5955
+ "name": "label",
5956
+ "type": "string",
5957
+ "optional": false
5958
+ },
5959
+ {
5960
+ "name": "description",
5961
+ "type": "string",
5962
+ "optional": true
5963
+ },
5964
+ {
5965
+ "name": "requiredForFunctions",
5966
+ "type": "boolean",
5967
+ "optional": false
5968
+ },
5969
+ {
5970
+ "name": "probe",
5971
+ "type": "MarketplaceHttpRequestSpecDto",
5972
+ "optional": true
5973
+ }
5974
+ ]
5975
+ },
5891
5976
  "MarketplaceFunctionDefinitionDto": {
5892
5977
  "base": null,
5893
5978
  "fields": [
@@ -5916,6 +6001,16 @@
5916
6001
  "type": "string",
5917
6002
  "optional": true
5918
6003
  },
6004
+ {
6005
+ "name": "formKind",
6006
+ "type": "MarketplaceFormKind",
6007
+ "optional": false
6008
+ },
6009
+ {
6010
+ "name": "inputs",
6011
+ "type": "IReadOnlyList<MarketplaceFunctionParameterDto>",
6012
+ "optional": false
6013
+ },
5919
6014
  {
5920
6015
  "name": "parameters",
5921
6016
  "type": "IReadOnlyList<MarketplaceFunctionParameterDto>",
@@ -5938,7 +6033,7 @@
5938
6033
  },
5939
6034
  {
5940
6035
  "name": "defaultTokenMappings",
5941
- "type": "MarketplaceTokenMappingDto[] = []",
6036
+ "type": "TokenMappingDto[] = []",
5942
6037
  "optional": false
5943
6038
  }
5944
6039
  ]
@@ -5991,6 +6086,16 @@
5991
6086
  "type": "string",
5992
6087
  "optional": true
5993
6088
  },
6089
+ {
6090
+ "name": "videoUrl",
6091
+ "type": "string",
6092
+ "optional": true
6093
+ },
6094
+ {
6095
+ "name": "availability",
6096
+ "type": "MarketplaceAvailability",
6097
+ "optional": false
6098
+ },
5994
6099
  {
5995
6100
  "name": "isOfficial",
5996
6101
  "type": "boolean",
@@ -6016,6 +6121,16 @@
6016
6121
  "type": "IReadOnlyList<MarketplaceFieldDefinitionDto>",
6017
6122
  "optional": false
6018
6123
  },
6124
+ {
6125
+ "name": "installForm",
6126
+ "type": "MarketplaceInstallFormDto",
6127
+ "optional": true
6128
+ },
6129
+ {
6130
+ "name": "validationSteps",
6131
+ "type": "IReadOnlyList<MarketplaceValidationStepDto>",
6132
+ "optional": false
6133
+ },
6019
6134
  {
6020
6135
  "name": "functions",
6021
6136
  "type": "IReadOnlyList<MarketplaceFunctionDefinitionDto>",
@@ -7348,6 +7463,31 @@
7348
7463
  }
7349
7464
  ]
7350
7465
  },
7466
+ "MarketplaceFunctionCallDto": {
7467
+ "base": null,
7468
+ "fields": [
7469
+ {
7470
+ "name": "functionId",
7471
+ "type": "string",
7472
+ "optional": false
7473
+ },
7474
+ {
7475
+ "name": "functionKey",
7476
+ "type": "string",
7477
+ "optional": false
7478
+ },
7479
+ {
7480
+ "name": "integrationId",
7481
+ "type": "string",
7482
+ "optional": false
7483
+ },
7484
+ {
7485
+ "name": "payload",
7486
+ "type": "{ [index: string]: Object } = {}",
7487
+ "optional": false
7488
+ }
7489
+ ]
7490
+ },
7351
7491
  "CodeFunctionDataDto": {
7352
7492
  "base": null,
7353
7493
  "fields": [
@@ -7385,6 +7525,11 @@
7385
7525
  "name": "payload",
7386
7526
  "type": "{ [index: string]: Object }",
7387
7527
  "optional": true
7528
+ },
7529
+ {
7530
+ "name": "marketplace",
7531
+ "type": "MarketplaceFunctionCallDto",
7532
+ "optional": true
7388
7533
  }
7389
7534
  ]
7390
7535
  },
@@ -7482,6 +7627,26 @@
7482
7627
  }
7483
7628
  ]
7484
7629
  },
7630
+ "MarketplaceFunctionSchedulerTaskRequest": {
7631
+ "base": "SchedulerTaskRequest",
7632
+ "fields": [
7633
+ {
7634
+ "name": "type",
7635
+ "type": "SchedulerTaskType",
7636
+ "optional": false
7637
+ },
7638
+ {
7639
+ "name": "functionId",
7640
+ "type": "string",
7641
+ "optional": true
7642
+ },
7643
+ {
7644
+ "name": "payload",
7645
+ "type": "{ [index: string]: string }",
7646
+ "optional": true
7647
+ }
7648
+ ]
7649
+ },
7485
7650
  "ICultureBasedRequest": {
7486
7651
  "base": null,
7487
7652
  "fields": [
@@ -10944,6 +11109,16 @@
10944
11109
  "type": "string",
10945
11110
  "optional": true
10946
11111
  },
11112
+ {
11113
+ "name": "lastHeartbeatOutcome",
11114
+ "type": "string",
11115
+ "optional": true
11116
+ },
11117
+ {
11118
+ "name": "lastHeartbeatError",
11119
+ "type": "string",
11120
+ "optional": true
11121
+ },
10947
11122
  {
10948
11123
  "name": "message",
10949
11124
  "type": "string",
@@ -13486,6 +13661,16 @@
13486
13661
  "name": "functionCount",
13487
13662
  "type": "number",
13488
13663
  "optional": false
13664
+ },
13665
+ {
13666
+ "name": "availability",
13667
+ "type": "MarketplaceAvailability",
13668
+ "optional": false
13669
+ },
13670
+ {
13671
+ "name": "videoUrl",
13672
+ "type": "string",
13673
+ "optional": true
13489
13674
  }
13490
13675
  ]
13491
13676
  },
@@ -13589,6 +13774,61 @@
13589
13774
  }
13590
13775
  ]
13591
13776
  },
13777
+ "MarketplaceFunctionRunDto": {
13778
+ "base": null,
13779
+ "fields": [
13780
+ {
13781
+ "name": "firedAt",
13782
+ "type": "string",
13783
+ "optional": false
13784
+ },
13785
+ {
13786
+ "name": "event",
13787
+ "type": "string",
13788
+ "optional": false
13789
+ },
13790
+ {
13791
+ "name": "source",
13792
+ "type": "string",
13793
+ "optional": false
13794
+ },
13795
+ {
13796
+ "name": "functionId",
13797
+ "type": "string",
13798
+ "optional": false
13799
+ },
13800
+ {
13801
+ "name": "runAsUserId",
13802
+ "type": "string",
13803
+ "optional": true
13804
+ },
13805
+ {
13806
+ "name": "succeeded",
13807
+ "type": "boolean",
13808
+ "optional": false
13809
+ },
13810
+ {
13811
+ "name": "durationMs",
13812
+ "type": "number",
13813
+ "optional": true
13814
+ },
13815
+ {
13816
+ "name": "error",
13817
+ "type": "string",
13818
+ "optional": true
13819
+ },
13820
+ {
13821
+ "name": "vendorRequestId",
13822
+ "type": "string",
13823
+ "optional": true
13824
+ },
13825
+ {
13826
+ "name": "input",
13827
+ "type": "string",
13828
+ "optional": true
13829
+ }
13830
+ ]
13831
+ },
13592
13832
  "CodeIntegrationListProjection": {
13593
13833
  "base": "IntegrationListProjection",
13594
13834
  "fields": [
@@ -18602,6 +18842,11 @@
18602
18842
  "name": "items",
18603
18843
  "type": "IReadOnlyList<IntegrationTestResultItemDto>",
18604
18844
  "optional": true
18845
+ },
18846
+ {
18847
+ "name": "steps",
18848
+ "type": "IReadOnlyList<MarketplaceValidationStepResultDto>",
18849
+ "optional": true
18605
18850
  }
18606
18851
  ]
18607
18852
  },
@@ -18639,6 +18884,16 @@
18639
18884
  }
18640
18885
  ]
18641
18886
  },
18887
+ "GetMarketplaceFunctionRunsResponse": {
18888
+ "base": "ResponseBase",
18889
+ "fields": [
18890
+ {
18891
+ "name": "runs",
18892
+ "type": "MarketplaceFunctionRunDto[] = []",
18893
+ "optional": false
18894
+ }
18895
+ ]
18896
+ },
18642
18897
  "InvokeMarketplaceFunctionResponse": {
18643
18898
  "base": "ResponseBase",
18644
18899
  "fields": [
@@ -21949,6 +22204,11 @@
21949
22204
  "name": "typegen_283_CodeFunctionSchedulerTaskRequest",
21950
22205
  "type": "CodeFunctionSchedulerTaskRequest",
21951
22206
  "optional": true
22207
+ },
22208
+ {
22209
+ "name": "typegen_284_MarketplaceFunctionSchedulerTaskRequest",
22210
+ "type": "MarketplaceFunctionSchedulerTaskRequest",
22211
+ "optional": true
21952
22212
  }
21953
22213
  ]
21954
22214
  },
@@ -26412,7 +26672,7 @@
26412
26672
  },
26413
26673
  {
26414
26674
  "name": "tokenMappings",
26415
- "type": "MarketplaceTokenMappingDto[] = []",
26675
+ "type": "TokenMappingDto[] = []",
26416
26676
  "optional": false
26417
26677
  }
26418
26678
  ]
@@ -26427,6 +26687,26 @@
26427
26687
  }
26428
26688
  ]
26429
26689
  },
26690
+ "GetMarketplaceFunctionRuns": {
26691
+ "base": "CodeMashRequestBase",
26692
+ "fields": [
26693
+ {
26694
+ "name": "triggerId",
26695
+ "type": "string",
26696
+ "optional": true
26697
+ },
26698
+ {
26699
+ "name": "taskId",
26700
+ "type": "string",
26701
+ "optional": true
26702
+ },
26703
+ {
26704
+ "name": "limit",
26705
+ "type": "number",
26706
+ "optional": true
26707
+ }
26708
+ ]
26709
+ },
26430
26710
  "GetCodeFunctions": {
26431
26711
  "base": "CodeMashListPaginationRequestBase",
26432
26712
  "fields": [
@@ -29539,7 +29819,19 @@
29539
29819
  "Template",
29540
29820
  "EmailFooters",
29541
29821
  "Old",
29542
- "New"
29822
+ "New",
29823
+ "RequestInput",
29824
+ "IntegrationConfig",
29825
+ "IntegrationSecret"
29826
+ ]
29827
+ },
29828
+ "SecretValueFormat": {
29829
+ "enum": true,
29830
+ "values": [
29831
+ "Raw",
29832
+ "Bearer",
29833
+ "Basic",
29834
+ "Prefixed"
29543
29835
  ]
29544
29836
  },
29545
29837
  "CollectionEmailCampaignRecipientField": {
@@ -29898,7 +30190,8 @@
29898
30190
  "PushCampaign",
29899
30191
  "SmsCampaign",
29900
30192
  "CodeFunctionalCall",
29901
- "WebhookCall"
30193
+ "WebhookCall",
30194
+ "MarketplaceFunctionCall"
29902
30195
  ]
29903
30196
  },
29904
30197
  "MarketplaceTransport": {
@@ -29931,25 +30224,12 @@
29931
30224
  "Calendar"
29932
30225
  ]
29933
30226
  },
29934
- "MarketplaceTokenResolverKind": {
30227
+ "MarketplaceAvailability": {
29935
30228
  "enum": true,
29936
30229
  "values": [
29937
- "Static",
29938
- "Request",
29939
- "Project",
29940
- "Initiator",
29941
- "Custom",
29942
- "IntegrationConfig",
29943
- "IntegrationSecret"
29944
- ]
29945
- },
29946
- "MarketplaceSecretValueFormat": {
29947
- "enum": true,
29948
- "values": [
29949
- "Raw",
29950
- "Bearer",
29951
- "Basic",
29952
- "Prefixed"
30230
+ "Development",
30231
+ "Staging",
30232
+ "Production"
29953
30233
  ]
29954
30234
  },
29955
30235
  "MarketplaceFieldType": {
@@ -29973,6 +30253,17 @@
29973
30253
  "Path"
29974
30254
  ]
29975
30255
  },
30256
+ "MarketplaceFormKind": {
30257
+ "enum": true,
30258
+ "values": [
30259
+ "Generic",
30260
+ "DatabaseQuery",
30261
+ "DatabaseWrite",
30262
+ "Message",
30263
+ "Prompt",
30264
+ "Web"
30265
+ ]
30266
+ },
29976
30267
  "CodeFunctionSource": {
29977
30268
  "enum": true,
29978
30269
  "values": [
@@ -2055,6 +2055,17 @@
2055
2055
  ],
2056
2056
  "scope": "project"
2057
2057
  },
2058
+ {
2059
+ "surface": "hub",
2060
+ "group": "code",
2061
+ "method": "getMarketplaceFunctionRuns",
2062
+ "requestDto": "GetMarketplaceFunctionRuns",
2063
+ "responseDto": "GetMarketplaceFunctionRunsResponse",
2064
+ "path": "/{version}/code/marketplace/functions/runs",
2065
+ "verb": "GET",
2066
+ "pathParams": [],
2067
+ "scope": "project"
2068
+ },
2058
2069
  {
2059
2070
  "surface": "hub",
2060
2071
  "group": "code",
package/dist/server.js CHANGED
@@ -75,7 +75,10 @@ export const curated = [
75
75
  { name: 'norbix_get_code_function_event_sample', surface: 'hub', group: 'code', method: 'getCodeFunctionEventSample', description: 'A sample event envelope with example data for a source (Database | Membership | Files | Payments | Ai | Scheduler | Manual), an event name and, for Database, a schemaId — the fixture for a local run of a function.' },
76
76
  { name: 'norbix_get_code_function_runs', surface: 'hub', group: 'code', method: 'getCodeFunctionRuns', description: 'The last cloud-function runs of a trigger (triggerId) or a scheduler task (taskId), newest first: firedAt, event, succeeded, statusCode, durationMs, error, requestId; a run through the Fake provider also input — the envelope the function received as JSON text, context.runAs.accessToken masked, cut at 64 KB. limit 1-50, default 20.' },
77
77
  { name: 'norbix_get_marketplace_integrations', surface: 'hub', group: 'code', method: 'getMarketplaceIntegrations', description: 'List marketplace integrations of the project.' },
78
- { name: 'norbix_save_marketplace_integration', surface: 'hub', group: 'code', method: 'saveMarketplaceIntegration', description: 'Create or update a marketplace integration.' },
78
+ { name: 'norbix_save_marketplace_integration', surface: 'hub', group: 'code', method: 'saveMarketplaceIntegration', description: 'Enable a marketplace listing as a connection: integration { listingViewId (ml_…), integrationName, isEnabled, config { key: value } } and secrets { key: value }. Leave integration.viewId empty for a new connection — the answer\'s id is the minted int_…; set it to save an existing one again (empty secrets keep the stored ones). getMarketplaceListing shows the listing\'s config and secret fields.' },
79
+ { name: 'norbix_test_marketplace_integration', surface: 'hub', group: 'code', method: 'testMarketplaceIntegration', description: 'Validate a marketplace connection (integrationViewId): runs the listing\'s steps in order; steps[] has key, label, requiredForFunctions, succeeded, skipped, message. Functions can be added only when every requiredForFunctions step succeeded (else saveMarketplaceFunction fails with CM-ERRORS-MARKETPLACE-013).' },
80
+ { name: 'norbix_invoke_marketplace_function', surface: 'hub', group: 'code', method: 'invokeMarketplaceFunction', description: 'Call a marketplace function by hand as the caller: functionViewId (func_…) and payload (JSON object; each declared input is read from it as @Model.Request.<name>, a missing required input is refused). Answers isSuccess, output, vendorRequestId.' },
81
+ { name: 'norbix_get_marketplace_function_runs', surface: 'hub', group: 'code', method: 'getMarketplaceFunctionRuns', description: 'The last marketplace-function runs of a trigger (triggerId) or a scheduler task (taskId), newest first: firedAt, event, source, functionId, runAsUserId, succeeded, durationMs, error, vendorRequestId; a run through the Fake vendor also input — what the vendor received, secrets masked. limit 1-50, default 20.' },
79
82
  { name: 'norbix_get_database_schemas', surface: 'hub', group: 'database', method: 'getDatabaseSchemas', description: 'List database collection schemas of the project.' },
80
83
  { name: 'norbix_get_roles', surface: 'hub', group: 'membership', method: 'getRoles', description: 'List membership roles of the project.' },
81
84
  { name: 'norbix_get_policies', surface: 'hub', group: 'membership', method: 'getPolicies', description: 'List membership policies of the project.' },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@norbix.ai/mcp",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "Norbix MCP server — manage projects, integrations, databases, membership, notifications and every other Norbix Hub/API endpoint from Claude, Cursor, VS Code, Windsurf or any MCP client.",
5
5
  "author": "UAB Isidos",
6
6
  "license": "MIT",
@@ -45,7 +45,7 @@
45
45
  },
46
46
  "dependencies": {
47
47
  "@modelcontextprotocol/sdk": "^1.12.0",
48
- "@norbix.ai/ts": "^4.20.0",
48
+ "@norbix.ai/ts": "^4.21.0",
49
49
  "express": "^4.21.2",
50
50
  "zod": "^3.24.0"
51
51
  },