dynamics_check_solution_dependencies
Check solution dependencies before removal to identify required components and prevent system issues in Dynamics CRM.
Instructions
Verifica dependências de uma solução antes de remover
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| solutionUniqueName | Yes | Nome único da solução |
Implementation Reference
- src/tools/solutions/index.ts:452-480 (handler)Handler function for the dynamics_check_solution_dependencies tool.
async (params: z.infer<typeof CheckSolutionDependenciesSchema>) => { const solutions = await client.list("solutions", { select: ["solutionid"], filter: `uniquename eq '${params.solutionUniqueName}'`, top: 1, }); if (solutions.value.length === 0) { return { content: [{ type: "text" as const, text: `Solução '${params.solutionUniqueName}' não encontrada.` }], }; } const solutionId = (solutions.value[0] as Record<string, unknown>).solutionid as string; const dependencies = await client.get<{ value: Record<string, unknown>[] }>( `solutions(${solutionId})/Microsoft.Dynamics.CRM.RetrieveDependenciesForUninstall()` ); return { content: [ { type: "text" as const, text: `Dependências da solução ${params.solutionUniqueName}: ${dependencies.value?.length || 0}\n\n${JSON.stringify(dependencies.value || [], null, 2)}`, }, ], }; } ); - src/tools/solutions/index.ts:83-85 (schema)Schema definition for the tool input validation.
export const CheckSolutionDependenciesSchema = z.object({ solutionUniqueName: z.string().describe("Nome único da solução"), }); - src/tools/solutions/index.ts:448-480 (registration)Registration of the dynamics_check_solution_dependencies tool within the MCP server.
server.tool( "dynamics_check_solution_dependencies", "Verifica dependências de uma solução antes de remover", CheckSolutionDependenciesSchema.shape, async (params: z.infer<typeof CheckSolutionDependenciesSchema>) => { const solutions = await client.list("solutions", { select: ["solutionid"], filter: `uniquename eq '${params.solutionUniqueName}'`, top: 1, }); if (solutions.value.length === 0) { return { content: [{ type: "text" as const, text: `Solução '${params.solutionUniqueName}' não encontrada.` }], }; } const solutionId = (solutions.value[0] as Record<string, unknown>).solutionid as string; const dependencies = await client.get<{ value: Record<string, unknown>[] }>( `solutions(${solutionId})/Microsoft.Dynamics.CRM.RetrieveDependenciesForUninstall()` ); return { content: [ { type: "text" as const, text: `Dependências da solução ${params.solutionUniqueName}: ${dependencies.value?.length || 0}\n\n${JSON.stringify(dependencies.value || [], null, 2)}`, }, ], }; } );