54 lines
2.0 KiB
PHP
54 lines
2.0 KiB
PHP
<?php
|
|
|
|
namespace App\Mcp\Servers;
|
|
|
|
use App\Actions\Tickets\Support\TicketDescriptionFormat;
|
|
use App\Mcp\Tools\CreateTicket;
|
|
use App\Mcp\Tools\GetProjectConfiguration;
|
|
use App\Mcp\Tools\GetTicket;
|
|
use App\Mcp\Tools\ListMyAssignedTickets;
|
|
use App\Mcp\Tools\ListProjects;
|
|
use App\Mcp\Tools\ListTicketsByStatus;
|
|
use App\Mcp\Tools\ListTicketTypes;
|
|
use App\Mcp\Tools\MoveTicketStatus;
|
|
use App\Mcp\Tools\SearchTickets;
|
|
use App\Mcp\Tools\UpdateTicket;
|
|
use App\Mcp\Tools\UpdateTicketAssignee;
|
|
use App\Mcp\Tools\UpdateTicketDescription;
|
|
use Laravel\Mcp\Server;
|
|
use Laravel\Mcp\Server\Attributes\Name;
|
|
use Laravel\Mcp\Server\Attributes\Version;
|
|
|
|
#[Name('KanbanGit MCP')]
|
|
#[Version('0.2.1')]
|
|
class KanbanGitServer extends Server
|
|
{
|
|
protected function boot(): void
|
|
{
|
|
$this->instructions = 'Use these tools to read, create, and update KanbanGit tickets with the authenticated application key owner permissions. Prefer stable IDs when available, especially project_id, ticket_id, ticket_type_id, and ticket_status_id. Use list_projects and get_project_configuration to discover visible projects and current workflow metadata. Use get_ticket with ticket_id or ticket_key; use search_tickets for paginated discovery. Use list_ticket_types to discover types and create_ticket with parent_ticket_id to create children of parent-enabled tickets. Use update_ticket for partial updates and move_ticket_status separately for workflow transitions. '.TicketDescriptionFormat::instructions();
|
|
}
|
|
|
|
protected array $tools = [
|
|
ListMyAssignedTickets::class,
|
|
ListTicketsByStatus::class,
|
|
GetTicket::class,
|
|
UpdateTicketDescription::class,
|
|
UpdateTicketAssignee::class,
|
|
MoveTicketStatus::class,
|
|
CreateTicket::class,
|
|
ListTicketTypes::class,
|
|
ListProjects::class,
|
|
GetProjectConfiguration::class,
|
|
SearchTickets::class,
|
|
UpdateTicket::class,
|
|
];
|
|
|
|
protected array $resources = [
|
|
//
|
|
];
|
|
|
|
protected array $prompts = [
|
|
//
|
|
];
|
|
}
|