@2kw/ai-mcp-server 6.3.0-dev.43 → 6.3.0-dev.53

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.
@@ -157,7 +157,7 @@ export function register(server, client) {
157
157
  server.tool("2kw_add_variant", "Add a variant to an experiment with a task type and configuration.", {
158
158
  experimentId: z.string().describe("The experiment ID"),
159
159
  name: z.string().min(1).describe("Variant name"),
160
- taskType: z.string().min(1).describe("Task type (e.g., EXTRACTION, CLASSIFICATION)"),
160
+ taskType: z.string().min(1).describe("Task type: extraction or agent"),
161
161
  configuration: z.unknown().describe("Variant configuration (JSON object)"),
162
162
  description: z.string().optional().describe("Variant description"),
163
163
  sortOrder: z.number().optional().describe("Sort order for display"),
@@ -214,7 +214,7 @@ export function register(server, client) {
214
214
  experimentId: z.string().describe("The experiment ID"),
215
215
  variantId: z.string().describe("The variant ID"),
216
216
  name: z.string().optional().describe("New variant name"),
217
- taskType: z.string().optional().describe("New task type"),
217
+ taskType: z.string().optional().describe("Task type; must equal the variant's current one (it cannot change)"),
218
218
  configuration: z.unknown().optional().describe("New variant configuration (JSON object)"),
219
219
  description: z.string().optional().describe("New variant description"),
220
220
  sortOrder: z.number().optional().describe("New sort order for display"),
@@ -2,7 +2,7 @@ import { z } from "zod";
2
2
  import { formatErrorForMcp } from "../errors.js";
3
3
  export function register(server, client) {
4
4
  // ── settings ────────────────────────────────────────────────────────────
5
- server.tool("2kw_get_tracing_settings", "Return the org's tracing settings (includePrompts / includeCompletions). These control whether raw prompt and completion content are persisted on ingested spans. Defaults are false for both.", {}, async () => {
5
+ server.tool("2kw_get_tracing_settings", "Return the org's tracing settings: includePrompts / includeCompletions (whether raw prompt and completion content are persisted on ingested spans; false by default) and trace retention: retentionDays (the org's choice, null = follow the plan), planRetentionDays and effectiveRetentionDays.", {}, async () => {
6
6
  try {
7
7
  const { data } = await client.GET("/v1/tracing/settings");
8
8
  return {
@@ -16,7 +16,7 @@ export function register(server, client) {
16
16
  };
17
17
  }
18
18
  });
19
- server.tool("2kw_update_tracing_settings", "Update the org's tracing settings. Admin-only. Omit a field to leave it at its current value — the tool reads the current setting first and merges.", {
19
+ server.tool("2kw_update_tracing_settings", "Update the org's tracing settings. Admin-only. Omit a field to leave it at its current value — the tool reads the current setting first and merges. Shortening retentionDays deletes older traces at the next daily sweep.", {
20
20
  includePrompts: z
21
21
  .boolean()
22
22
  .optional()
@@ -25,12 +25,20 @@ export function register(server, client) {
25
25
  .boolean()
26
26
  .optional()
27
27
  .describe("Retain completion content on ingested spans (default false)"),
28
+ retentionDays: z
29
+ .number()
30
+ .int()
31
+ .min(1)
32
+ .nullable()
33
+ .optional()
34
+ .describe("Trace retention in days, at most the plan's limit (planRetentionDays). null follows the plan. Shortening deletes older traces at the next daily sweep."),
28
35
  }, async (params) => {
29
36
  try {
30
37
  const { data: current } = await client.GET("/v1/tracing/settings");
31
38
  const merged = {
32
39
  includePrompts: params.includePrompts ?? current?.includePrompts ?? false,
33
40
  includeCompletions: params.includeCompletions ?? current?.includeCompletions ?? false,
41
+ retentionDays: params.retentionDays !== undefined ? params.retentionDays : (current?.retentionDays ?? null),
34
42
  };
35
43
  const { data } = await client.PUT("/v1/tracing/settings", {
36
44
  body: merged,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@2kw/ai-mcp-server",
3
- "version": "6.3.0-dev.43",
3
+ "version": "6.3.0-dev.53",
4
4
  "description": "MCP server for 2kw.ai — EU-hosted AI platform: OpenAI-compatible LLM gateway, schema-driven document extraction, transcription, agents with a knowledge base, and cost observability. 158 tools for Claude Code, Cursor, and Windsurf.",
5
5
  "mcpName": "ai.2kw/mcp-server",
6
6
  "keywords": [