mcp-zenskar 1.1.2 → 1.1.4

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/mcp-config.json +29 -15
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcp-zenskar",
3
- "version": "1.1.2",
3
+ "version": "1.1.4",
4
4
  "description": "Model Context Protocol (MCP) server for Zenskar API - customer management, invoicing, and billing operations",
5
5
  "main": "src/server.js",
6
6
  "bin": {
@@ -2568,7 +2568,7 @@
2568
2568
  },
2569
2569
  {
2570
2570
  "name": "updateContract",
2571
- "description": "Update an existing contract. Use this for mid-contract upgrades, downgrades, amendments, changing renewal policy, updating custom attributes, or modifying contract terms. Required fields: name, status, currency, start_date, customer_id. Status enum: draft, active, paused, expired, disputed. Renewal policy enum: renew_with_default_contract, renew_with_existing, do_not_renew.",
2571
+ "description": "Update an existing contract. This is a PUT endpoint — you MUST fetch the contract first with getContractById, then send ALL required fields including phases. Without phases the API returns 500. Copy phases from the GET response (each phase needs name, start_date, end_date at minimum). Status: draft, active, paused, expired, disputed. Renewal: renew_with_default_contract, renew_with_existing, do_not_renew.",
2572
2572
  "args": [
2573
2573
  {
2574
2574
  "name": "contractId",
@@ -2656,9 +2656,9 @@
2656
2656
  },
2657
2657
  {
2658
2658
  "name": "phases",
2659
- "description": "Array of contract phases with pricing details. Each phase includes name, start_date, end_date, phase_type, and pricings.",
2659
+ "description": "REQUIRED — Array of contract phases. Without this the API returns 500. Copy phases from getContractById response. Each phase needs at minimum: name, start_date, end_date. Include pricings array if the phase has pricing.",
2660
2660
  "type": "array",
2661
- "required": false,
2661
+ "required": true,
2662
2662
  "position": "body"
2663
2663
  },
2664
2664
  {
@@ -4210,7 +4210,7 @@
4210
4210
  },
4211
4211
  {
4212
4212
  "name": "pricing_data",
4213
- "description": "Pricing data object containing model-specific configuration (rates, tiers, etc.).",
4213
+ "description": "Pricing data object. Must include 'pricing_type' discriminator matching pricing_model. For flat_fee: {pricing_type:'flat_fee', unit_amount:10000} (amount in cents). For per_unit: {pricing_type:'per_unit', unit_amount:500}.",
4214
4214
  "type": "object",
4215
4215
  "required": false,
4216
4216
  "position": "body"
@@ -4397,14 +4397,14 @@
4397
4397
  "name": "start_date",
4398
4398
  "description": "Start date for the estimate (YYYY-MM-DD).",
4399
4399
  "type": "string",
4400
- "required": false,
4400
+ "required": true,
4401
4401
  "position": "body"
4402
4402
  },
4403
4403
  {
4404
4404
  "name": "end_date",
4405
4405
  "description": "End date for the estimate (YYYY-MM-DD).",
4406
4406
  "type": "string",
4407
- "required": false,
4407
+ "required": true,
4408
4408
  "position": "body"
4409
4409
  }
4410
4410
  ],
@@ -4462,7 +4462,7 @@
4462
4462
  },
4463
4463
  {
4464
4464
  "name": "module",
4465
- "description": "Module/entity type this attribute applies to (e.g., 'customer', 'contract', 'invoice', 'product').",
4465
+ "description": "Module/entity type this attribute applies to. Allowed values: 'customers', 'contracts', 'invoices', 'payments', 'products', 'plans'.",
4466
4466
  "type": "string",
4467
4467
  "required": true,
4468
4468
  "position": "body"
@@ -4600,9 +4600,9 @@
4600
4600
  },
4601
4601
  {
4602
4602
  "name": "customer_id",
4603
- "description": "The customer ID this quote is for.",
4603
+ "description": "The customer ID this quote is for (required for non-amendment quotes).",
4604
4604
  "type": "string",
4605
- "required": false,
4605
+ "required": true,
4606
4606
  "position": "body"
4607
4607
  },
4608
4608
  {
@@ -4616,14 +4616,14 @@
4616
4616
  "name": "start_date",
4617
4617
  "description": "Start date for the quote (YYYY-MM-DD).",
4618
4618
  "type": "string",
4619
- "required": false,
4619
+ "required": true,
4620
4620
  "position": "body"
4621
4621
  },
4622
4622
  {
4623
4623
  "name": "end_date",
4624
4624
  "description": "End date for the quote (YYYY-MM-DD).",
4625
4625
  "type": "string",
4626
- "required": false,
4626
+ "required": true,
4627
4627
  "position": "body"
4628
4628
  },
4629
4629
  {
@@ -4647,7 +4647,7 @@
4647
4647
  },
4648
4648
  {
4649
4649
  "name": "previewQuoteEstimate",
4650
- "description": "Preview the estimated billing for a quote before creating it.",
4650
+ "description": "Preview the estimated billing for a quote before creating it. Requires customer_id, currency, and line_items at minimum. Use getProductPricings to find valid product_id + pricing_id combos for line_items.",
4651
4651
  "args": [
4652
4652
  {
4653
4653
  "name": "customer_id",
@@ -4656,9 +4656,23 @@
4656
4656
  "required": true,
4657
4657
  "position": "body"
4658
4658
  },
4659
+ {
4660
+ "name": "currency",
4661
+ "description": "Three-letter ISO 4217 currency code (e.g. USD).",
4662
+ "type": "string",
4663
+ "required": true,
4664
+ "position": "body"
4665
+ },
4666
+ {
4667
+ "name": "line_items",
4668
+ "description": "Array of line items. Each item: {product_id, pricing_id}. The pricing_id must belong to the product_id — use getProductPricings to find valid combos.",
4669
+ "type": "array",
4670
+ "required": true,
4671
+ "position": "body"
4672
+ },
4659
4673
  {
4660
4674
  "name": "plan_id",
4661
- "description": "Plan ID to estimate.",
4675
+ "description": "Plan ID to estimate (alternative to line_items).",
4662
4676
  "type": "string",
4663
4677
  "required": false,
4664
4678
  "position": "body"
@@ -4667,14 +4681,14 @@
4667
4681
  "name": "start_date",
4668
4682
  "description": "Start date (YYYY-MM-DD).",
4669
4683
  "type": "string",
4670
- "required": false,
4684
+ "required": true,
4671
4685
  "position": "body"
4672
4686
  },
4673
4687
  {
4674
4688
  "name": "end_date",
4675
4689
  "description": "End date (YYYY-MM-DD).",
4676
4690
  "type": "string",
4677
- "required": false,
4691
+ "required": true,
4678
4692
  "position": "body"
4679
4693
  },
4680
4694
  {