@telos.ready/mcp 1.3.0 → 1.5.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.
Files changed (2) hide show
  1. package/build/index.js +40 -8
  2. package/package.json +1 -1
package/build/index.js CHANGED
@@ -273,7 +273,39 @@ server.tool("get-ticket-details", "Gets the details of a ticket. The ticket refe
273
273
  };
274
274
  }
275
275
  });
276
- // Tool 6: Get Next Task
276
+ // Tool 6: Start Ticket
277
+ server.tool("start-ticket", "Starts working on a ticket by retrieving ticket details, and providing next-step guidance. This tool sets up a 30-minute session window during which other MCP tools will automatically provide contextual next steps.", {
278
+ ticketReference: z
279
+ .string()
280
+ .describe('The ticket reference for the ticket to start working on, which is an uppercase alphabetical code followed by a number, such as "TEL037".'),
281
+ }, async ({ ticketReference }) => {
282
+ try {
283
+ const result = await telosClient.post("/mcp/start-ticket", {
284
+ ticketReference,
285
+ });
286
+ if (result.success) {
287
+ return {
288
+ content: [{ type: "text", text: result.result }],
289
+ };
290
+ }
291
+ else {
292
+ return {
293
+ content: [{ type: "text", text: `Error: ${result}` }],
294
+ };
295
+ }
296
+ }
297
+ catch (error) {
298
+ return {
299
+ content: [
300
+ {
301
+ type: "text",
302
+ text: `Error starting ticket ${ticketReference}: ${error}`,
303
+ },
304
+ ],
305
+ };
306
+ }
307
+ });
308
+ // Tool 7: Get Next Task
277
309
  server.tool("get-next-task", "Gets the next task for a member and provides a ticket reference, next step and instructions for completing the task.", {
278
310
  applicationSlug: z
279
311
  .string()
@@ -305,7 +337,7 @@ server.tool("get-next-task", "Gets the next task for a member and provides a tic
305
337
  };
306
338
  }
307
339
  });
308
- // Tool 7: Get Git Branch for Ticket
340
+ // Tool 8: Get Git Branch for Ticket
309
341
  server.tool("get-git-branch-for-ticket", "Gets the git branch to be used for development work on this ticket. All commits for this ticket must use this branch. Git branches must stay ahead of main.", {
310
342
  ticketReference: z
311
343
  .string()
@@ -337,7 +369,7 @@ server.tool("get-git-branch-for-ticket", "Gets the git branch to be used for dev
337
369
  };
338
370
  }
339
371
  });
340
- // Tool 8: Mark Ticket as Blocked
372
+ // Tool 9: Mark Ticket as Blocked
341
373
  server.tool("mark-ticket-as-blocked", "Marks a ticket as blocked with a specified reason. This tool will load the ticket, add a comment with the blocking reason, and set the ticket status to blocked.", {
342
374
  ticketReference: z
343
375
  .string()
@@ -373,7 +405,7 @@ server.tool("mark-ticket-as-blocked", "Marks a ticket as blocked with a specifie
373
405
  };
374
406
  }
375
407
  });
376
- // Tool 9: Update Action Item
408
+ // Tool 10: Update Action Item
377
409
  server.tool("update-action-item", "Updates the status of an action item in a ticket. This tool finds a specific action item in the ticket or its comments and updates its status to INCOMPLETE, INPROGRESS, or COMPLETED.", {
378
410
  ticketReference: z
379
411
  .string()
@@ -413,7 +445,7 @@ server.tool("update-action-item", "Updates the status of an action item in a tic
413
445
  };
414
446
  }
415
447
  });
416
- // Tool 10: Get Resource List
448
+ // Tool 11: Get Resource List
417
449
  server.tool("get-resource-list", "Gets a list of resources for an application. Resources include system dependencies, infrastructure, documentation and policies.", {
418
450
  applicationSlug: z
419
451
  .string()
@@ -445,7 +477,7 @@ server.tool("get-resource-list", "Gets a list of resources for an application. R
445
477
  };
446
478
  }
447
479
  });
448
- // Tool 11: Get Resource Details
480
+ // Tool 12: Get Resource Details
449
481
  server.tool("get-resource-details", "Gets detailed information about a specific resource by name and group. Resource names can be identified by using get-resource-list. Special resources include: Application Map, Style Guide, Tech Patterns, Database Schema", {
450
482
  applicationSlug: z
451
483
  .string()
@@ -483,7 +515,7 @@ server.tool("get-resource-details", "Gets detailed information about a specific
483
515
  };
484
516
  }
485
517
  });
486
- // Tool 12: Answer Question
518
+ // Tool 13: Answer Question
487
519
  server.tool("answer-question", "Answers a question that was previously asked with a TECHNICAL or BUSINESS question type. Questions are identified by their six-character reference code. ", {
488
520
  ticketReference: z
489
521
  .string()
@@ -535,7 +567,7 @@ async function main() {
535
567
  await server.connect(transport);
536
568
  // Log success message
537
569
  console.error("✅ Telos MCP Server running on stdio");
538
- console.error("Available tools: ask-question, search-documentation, add-ticket-comment, add-documentation, get-ticket-details, get-next-task, get-git-branch-for-ticket, mark-ticket-as-blocked, update-action-item, get-resource-list, get-resource-details, answer-question");
570
+ console.error("Available tools: ask-question, search-documentation, add-ticket-comment, add-documentation, get-ticket-details, start-ticket, get-next-task, get-git-branch-for-ticket, mark-ticket-as-blocked, update-action-item, get-resource-list, get-resource-details, answer-question");
539
571
  // Test connection in background without blocking or exiting
540
572
  // This is non-critical and should not cause the server to exit
541
573
  setImmediate(async () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telos.ready/mcp",
3
- "version": "1.3.0",
3
+ "version": "1.5.0",
4
4
  "description": "Telos MCP server for managing tickets and project tasks",
5
5
  "main": "build/index.js",
6
6
  "type": "module",