50 lines
2.0 KiB
PHP
50 lines
2.0 KiB
PHP
<?php
|
|
|
|
namespace App\Mcp\Servers;
|
|
|
|
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\Instructions;
|
|
use Laravel\Mcp\Server\Attributes\Name;
|
|
use Laravel\Mcp\Server\Attributes\Version;
|
|
|
|
#[Name('KanbanGit MCP')]
|
|
#[Version('0.2.0')]
|
|
#[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 for compact current project metadata. Get tickets by exact ticket_key or ticket_id, or search_tickets with pagination. Use update_ticket for partial edits; omitted fields are preserved, nullable scalar null clears, and supplied lists replace the entire list. Use move_ticket_status for allowed workflow transitions. Use list_ticket_types to discover the available ticket types in a project. Use create_ticket with parent_ticket_id to create a child ticket.')]
|
|
class KanbanGitServer extends Server
|
|
{
|
|
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 = [
|
|
//
|
|
];
|
|
}
|