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