tdx-project-search
Search and filter TDX projects using text queries, status, priority, account, manager, and activity filters to find specific project information.
Instructions
Search TDX projects with filters
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| searchText | No | Full-text search query | |
| statusIds | No | Filter by status IDs | |
| priorityIds | No | Filter by priority IDs | |
| accountIds | No | Filter by account IDs | |
| managerUids | No | Filter by project manager UIDs | |
| isActive | No | Filter by active status | |
| maxResults | No | Max results to return (default 25) |
Implementation Reference
- src/tools/projects.ts:83-111 (handler)Handler implementation for "tdx-project-search", which constructs the request body and calls the TDX client to search projects.
server.tool( "tdx-project-search", "Search TDX projects with filters", { searchText: z.string().optional().describe("Full-text search query"), statusIds: z.array(z.number()).optional().describe("Filter by status IDs"), priorityIds: z.array(z.number()).optional().describe("Filter by priority IDs"), accountIds: z.array(z.number()).optional().describe("Filter by account IDs"), managerUids: z.array(z.string()).optional().describe("Filter by project manager UIDs"), isActive: z.boolean().optional().describe("Filter by active status"), maxResults: z.number().optional().describe("Max results to return (default 25)"), }, async (params) => { const body: Record<string, unknown> = {}; if (params.searchText !== undefined) body.SearchText = params.searchText; if (params.statusIds !== undefined) body.StatusIDs = params.statusIds; if (params.priorityIds !== undefined) body.PriorityIDs = params.priorityIds; if (params.accountIds !== undefined) body.AccountIDs = params.accountIds; if (params.managerUids !== undefined) body.ManagerUids = params.managerUids; if (params.isActive !== undefined) body.IsActive = params.isActive; if (params.maxResults !== undefined) body.MaxResults = params.maxResults; try { const result = await client.post("/projects/search", body); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] }; } catch (e: unknown) { return { content: [{ type: "text", text: String(e) }], isError: true }; } } );