dynamics_list_solutions
Retrieve installed solutions from Dynamics CRM with filtering options for managed, unmanaged, or specific names to manage deployment workflows.
Instructions
Lista soluções instaladas no Dynamics CRM
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| managedOnly | No | ||
| unmanagedOnly | No | ||
| nameFilter | No | ||
| top | No |
Implementation Reference
- src/tools/solutions/index.ts:136-165 (handler)Implementation of the dynamics_list_solutions tool handler.
server.tool( "dynamics_list_solutions", "Lista soluções instaladas no Dynamics CRM", ListSolutionsSchema.shape, async (params: z.infer<typeof ListSolutionsSchema>) => { const filters: string[] = ["isvisible eq true"]; if (params.managedOnly) filters.push("ismanaged eq true"); if (params.unmanagedOnly) filters.push("ismanaged eq false"); if (params.nameFilter) filters.push(`contains(friendlyname,'${params.nameFilter}')`); const result = await client.list("solutions", { select: ["solutionid", "uniquename", "friendlyname", "version", "ismanaged", "description", "createdon", "modifiedon", "installedon"], filter: filters.join(" and "), orderby: "friendlyname asc", top: params.top, expand: "publisherid($select=friendlyname,customizationprefix)", }); return { content: [ { type: "text" as const, text: `Soluções encontradas: ${result.value.length}\n\n${JSON.stringify(result.value, null, 2)}`, }, ], }; } ); // 3. Add Component to Solution - src/tools/solutions/index.ts:14-19 (schema)Schema definition for dynamics_list_solutions inputs.
export const ListSolutionsSchema = z.object({ managedOnly: z.boolean().default(false), unmanagedOnly: z.boolean().default(false), nameFilter: z.string().optional(), top: z.number().default(50), });