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
TableJSON 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 }; } } );