Skip to main content
Glama

pylon_search_issues

Search and filter customer support issues in Pylon using criteria like status, assignee, tags, or creation date to find specific tickets.

Instructions

Search issues with filters

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
filterYesFilter object for searching issues
limitNoResults limit
cursorNoPagination cursor

Implementation Reference

  • src/index.ts:395-422 (registration)
    Registration of the 'pylon_search_issues' MCP tool, including inline schema and thin handler wrapper around PylonClient.searchIssues
    server.tool( 'pylon_search_issues', 'Search issues with filters', { filter: z .object({ created_at: z.object({}).optional(), account_id: z.object({}).optional(), requester_id: z.object({}).optional(), state: z.object({}).optional(), tags: z.object({}).optional(), title: z.object({}).optional(), assignee_id: z.object({}).optional(), team_id: z.object({}).optional(), issue_type: z.object({}).optional(), }) .passthrough() .describe('Filter object for searching issues'), limit: z.number().min(1).max(1000).optional().describe('Results limit'), cursor: z.string().optional().describe('Pagination cursor'), }, async ({ filter, limit, cursor }) => { const result = await client.searchIssues(filter, { limit, cursor }); return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }], }; }, );
  • Zod input schema definition for the pylon_search_issues tool
    { filter: z .object({ created_at: z.object({}).optional(), account_id: z.object({}).optional(), requester_id: z.object({}).optional(), state: z.object({}).optional(), tags: z.object({}).optional(), title: z.object({}).optional(), assignee_id: z.object({}).optional(), team_id: z.object({}).optional(), issue_type: z.object({}).optional(), }) .passthrough() .describe('Filter object for searching issues'), limit: z.number().min(1).max(1000).optional().describe('Results limit'), cursor: z.string().optional().describe('Pagination cursor'), },
  • MCP tool handler: wraps PylonClient.searchIssues and formats response as text
    async ({ filter, limit, cursor }) => { const result = await client.searchIssues(filter, { limit, cursor }); return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }], }; }, );
  • PylonClient.searchIssues method: core implementation that POSTs filter params to /issues/search API endpoint
    async searchIssues( filter: object, params?: PaginationParams, ): Promise<PaginatedResponse<Issue>> { return this.request<PaginatedResponse<Issue>>('POST', '/issues/search', { filter, limit: params?.limit, cursor: params?.cursor, }); }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JustinBeckwith/pylon-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server