@telos.ready/mcp 1.6.0 → 1.7.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/build/index.js +72 -2
- package/package.json +1 -1
package/build/index.js
CHANGED
|
@@ -478,7 +478,7 @@ server.tool("get-resource-list", "Gets a list of resources for an application. R
|
|
|
478
478
|
}
|
|
479
479
|
});
|
|
480
480
|
// Tool 12: Get Resource Details
|
|
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", {
|
|
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, User Guide", {
|
|
482
482
|
applicationSlug: z
|
|
483
483
|
.string()
|
|
484
484
|
.describe('The application slug for the application you want to get resource details for, which is a unique identifier string used to reference specific applications. The application slug is the ticket prefix, such as "TEL" or "XXX".'),
|
|
@@ -555,6 +555,76 @@ server.tool("answer-question", "Answers a question that was previously asked wit
|
|
|
555
555
|
};
|
|
556
556
|
}
|
|
557
557
|
});
|
|
558
|
+
// Tool 14: Raise Ticket
|
|
559
|
+
server.tool("raise-ticket", "Creates a new ticket and returns information that may be useful when implementing the ticket. Tickets represent a unit-of-work that is being done for an application. After the ticket has been raised, comments can be added to the ticket using the add-ticket-comment tool.", {
|
|
560
|
+
applicationSlug: z
|
|
561
|
+
.string()
|
|
562
|
+
.describe('The application slug, such as "TEL".'),
|
|
563
|
+
title: z
|
|
564
|
+
.string()
|
|
565
|
+
.describe("The title of the ticket to create."),
|
|
566
|
+
description: z
|
|
567
|
+
.string()
|
|
568
|
+
.describe("The description of the ticket to create."),
|
|
569
|
+
parentTicketReference: z
|
|
570
|
+
.string()
|
|
571
|
+
.optional()
|
|
572
|
+
.describe('Optional parent ticket reference - if provided, the new ticket will be linked to the parent ticket as a child ticket. Format: TEL123'),
|
|
573
|
+
priority: z
|
|
574
|
+
.string()
|
|
575
|
+
.optional()
|
|
576
|
+
.describe("The priority of the ticket. Options: Urgent, High, Medium, Low, None. Defaults to Medium."),
|
|
577
|
+
credits: z
|
|
578
|
+
.string()
|
|
579
|
+
.optional()
|
|
580
|
+
.describe("The credits for the ticket. Set to 0 unless requested otherwise."),
|
|
581
|
+
stageName: z
|
|
582
|
+
.string()
|
|
583
|
+
.optional()
|
|
584
|
+
.describe("Optional name of the stage to assign the ticket to. Must match an active stage."),
|
|
585
|
+
workflowName: z
|
|
586
|
+
.string()
|
|
587
|
+
.optional()
|
|
588
|
+
.describe("Optional name of a workflow to execute when the ticket is created."),
|
|
589
|
+
ticketType: z
|
|
590
|
+
.string()
|
|
591
|
+
.optional()
|
|
592
|
+
.describe("The type of ticket. Options: SUPPORTREQUEST, DEVELOPMENT, BACKLOG, RECOMMENDATION, KNOWLEDGE. Defaults to DEVELOPMENT or inherits from parent."),
|
|
593
|
+
}, async ({ applicationSlug, title, description, parentTicketReference, priority, credits, stageName, workflowName, ticketType, }) => {
|
|
594
|
+
try {
|
|
595
|
+
const result = await telosClient.post("/mcp/raise-ticket", {
|
|
596
|
+
applicationSlug,
|
|
597
|
+
title,
|
|
598
|
+
description,
|
|
599
|
+
parentTicketReference,
|
|
600
|
+
priority,
|
|
601
|
+
credits,
|
|
602
|
+
stageName,
|
|
603
|
+
workflowName,
|
|
604
|
+
ticketType,
|
|
605
|
+
});
|
|
606
|
+
if (result.success) {
|
|
607
|
+
return {
|
|
608
|
+
content: [{ type: "text", text: result.result }],
|
|
609
|
+
};
|
|
610
|
+
}
|
|
611
|
+
else {
|
|
612
|
+
return {
|
|
613
|
+
content: [{ type: "text", text: `Error: ${result.error}` }],
|
|
614
|
+
};
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
catch (error) {
|
|
618
|
+
return {
|
|
619
|
+
content: [
|
|
620
|
+
{
|
|
621
|
+
type: "text",
|
|
622
|
+
text: `Error creating ticket in application ${applicationSlug}: ${error.message}`,
|
|
623
|
+
},
|
|
624
|
+
],
|
|
625
|
+
};
|
|
626
|
+
}
|
|
627
|
+
});
|
|
558
628
|
async function main() {
|
|
559
629
|
try {
|
|
560
630
|
// Initialize transport first
|
|
@@ -567,7 +637,7 @@ async function main() {
|
|
|
567
637
|
await server.connect(transport);
|
|
568
638
|
// Log success message
|
|
569
639
|
console.error("✅ Telos MCP Server running on stdio");
|
|
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");
|
|
640
|
+
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, raise-ticket");
|
|
571
641
|
// Test connection in background without blocking or exiting
|
|
572
642
|
// This is non-critical and should not cause the server to exit
|
|
573
643
|
setImmediate(async () => {
|