Skip to main content
Glama
rafteles2016

MCP Dynamics CRM Server

by rafteles2016

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
NameRequiredDescriptionDefault
solutionUniqueNameYesNome único da solução

Implementation Reference

  • 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)}`,
            },
          ],
        };
      }
    );
  • Schema definition for the tool input validation.
    export const CheckSolutionDependenciesSchema = z.object({
      solutionUniqueName: z.string().describe("Nome único da solução"),
    });
  • 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)}`,
            },
          ],
        };
      }
    );

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rafteles2016/mcpDynamics'

If you have feedback or need assistance with the MCP directory API, please join our Discord server