search_tickets
Search for tickets in mcptix using criteria like status, priority, and keywords. Retrieve sorted results with customizable limits and offsets for efficient ticket management.
Instructions
Search for tickets based on various criteria
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of tickets to return | |
| offset | No | Number of tickets to skip | |
| order | No | Sort order | desc |
| priority | No | Filter by priority | |
| query | Yes | Search query | |
| sort | No | Sort field | relevance |
| status | No | Filter by status |
Input Schema (JSON Schema)
{
"properties": {
"limit": {
"default": 100,
"description": "Maximum number of tickets to return",
"type": "number"
},
"offset": {
"default": 0,
"description": "Number of tickets to skip",
"type": "number"
},
"order": {
"default": "desc",
"description": "Sort order",
"enum": [
"asc",
"desc"
],
"type": "string"
},
"priority": {
"description": "Filter by priority",
"enum": [
"low",
"medium",
"high"
],
"type": "string"
},
"query": {
"description": "Search query",
"type": "string"
},
"sort": {
"default": "relevance",
"description": "Sort field",
"type": "string"
},
"status": {
"description": "Filter by status",
"enum": [
"backlog",
"up-next",
"in-progress",
"in-review",
"completed"
],
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
}
Implementation Reference
- The main handler function that executes the search_tickets tool logic, validating input, building filters, querying tickets, and returning results.export function handleSearchTickets(ticketQueries: TicketQueries, args: any): ToolResponse { if (!args.query) { throw new Error('Search query is required'); } const filters = { status: args.status, priority: args.priority, search: args.query, }; const tickets = ticketQueries.getTickets( filters, args.sort || 'updated', args.order || 'desc', args.limit || 100, args.offset || 0, ); return createSuccessResponse(tickets); }
- src/mcp/tools/schemas.ts:215-259 (schema)The input schema definition for the search_tickets tool, including properties for query, filters, sorting, and pagination with validation rules.{ name: 'search_tickets', description: 'Search for tickets based on various criteria', inputSchema: { type: 'object', properties: { query: { type: 'string', description: 'Search query', }, status: { type: 'string', description: 'Filter by status', enum: ['backlog', 'up-next', 'in-progress', 'in-review', 'completed'], }, priority: { type: 'string', description: 'Filter by priority', enum: ['low', 'medium', 'high'], }, sort: { type: 'string', description: 'Sort field', default: 'relevance', }, order: { type: 'string', description: 'Sort order', enum: ['asc', 'desc'], default: 'desc', }, limit: { type: 'number', description: 'Maximum number of tickets to return', default: 100, }, offset: { type: 'number', description: 'Number of tickets to skip', default: 0, }, }, required: ['query'], }, },
- src/mcp/tools/setup.ts:50-51 (registration)The switch case that registers and routes calls to the search_tickets handler function.case 'search_tickets': return handleSearchTickets(ticketQueries, args);
- src/mcp/tools/setup.ts:14-14 (registration)The import statement that brings in the search_tickets handler for use in tool registration.import { handleSearchTickets } from './handlers/search-tickets';