Skip to main content
Glama
rafteles2016

MCP Dynamics CRM Server

by rafteles2016

MCP Dynamics CRM Server

Servidor MCP (Model Context Protocol) para automação do Microsoft Dynamics CRM e Power Platform.

Funcionalidades

1. Plugins (C#)

  • Geração de código C# para plugins com templates profissionais

  • Registro e gerenciamento de steps de plugins

  • Listagem de assemblies, tipos e steps

  • Ativar/desativar steps

  • Consulta de trace logs para diagnóstico

  • Geração de projetos completos (.csproj + classes)

2. Web Resources

  • Criação de web resources (JS, HTML, CSS, imagens, etc.)

  • Templates com helpers para formulários Dynamics

  • Atualização de conteúdo

  • Publicação de web resources

  • Leitura de conteúdo (decodificação Base64)

3. Schema (Tabelas, Campos, Formulários, Views)

  • Criação de tabelas (entidades) customizadas

  • Criação de colunas com todos os tipos suportados

  • Gerenciamento de formulários (leitura e atualização de FormXML)

  • Criação e listagem de views (system e personal)

  • Criação de relacionamentos (1:N e N:N)

  • Geração de FetchXML

  • Publicação de customizações

4. Gestão de Soluções

  • Criação de soluções e publicadores

  • Adicionar/remover componentes

  • Exportação (managed/unmanaged)

  • Importação com acompanhamento de status

  • Clone/patch de soluções

  • Verificação de dependências

5. Telemetria e Performance

  • Dashboard de saúde do sistema

  • Análise de performance de plugins

  • Identificação de plugins lentos

  • Monitoramento de workflows e processos

  • Análise por entidade

  • Histórico de auditoria

  • Monitoramento de system jobs

  • Operações em massa

Configuração

Pré-requisitos

  1. Node.js >= 18

  2. Azure AD App Registration com permissões para Dynamics 365:

    • user_impersonation no Dynamics CRM (delegated) ou

    • Application permissions configuradas

Variáveis de Ambiente

cp .env.example .env

Configure no .env:

Variável

Descrição

Obrigatório

DYNAMICS_TENANT_ID

Azure AD Tenant ID

Sim

DYNAMICS_CLIENT_ID

App Registration Client ID

Sim

DYNAMICS_CLIENT_SECRET

Client Secret

Sim*

DYNAMICS_ENVIRONMENT_URL

URL do ambiente (ex: https://org.crm.dynamics.com)

Sim

DYNAMICS_USERNAME

Username (auth delegada)

Não

DYNAMICS_PASSWORD

Password (auth delegada)

Não

*Obrigatório para autenticação app-only (recomendado).

Instalação

npm install
npm run build

Uso com Claude Desktop

Adicione ao seu claude_desktop_config.json:

{
  "mcpServers": {
    "dynamics-crm": {
      "command": "node",
      "args": ["/caminho/para/mcp-dynamics-crm/dist/index.js"],
      "env": {
        "DYNAMICS_TENANT_ID": "seu-tenant-id",
        "DYNAMICS_CLIENT_ID": "seu-client-id",
        "DYNAMICS_CLIENT_SECRET": "seu-client-secret",
        "DYNAMICS_ENVIRONMENT_URL": "https://seuorg.crm.dynamics.com"
      }
    }
  }
}

Uso com Claude Code

{
  "mcpServers": {
    "dynamics-crm": {
      "command": "node",
      "args": ["dist/index.js"],
      "cwd": "/caminho/para/mcp-dynamics-crm",
      "env": {
        "DYNAMICS_TENANT_ID": "seu-tenant-id",
        "DYNAMICS_CLIENT_ID": "seu-client-id",
        "DYNAMICS_CLIENT_SECRET": "seu-client-secret",
        "DYNAMICS_ENVIRONMENT_URL": "https://seuorg.crm.dynamics.com"
      }
    }
  }
}

Tools Disponíveis

Plugins

Tool

Descrição

dynamics_generate_plugin_code

Gera código C# de plugin

dynamics_list_plugin_assemblies

Lista assemblies registrados

dynamics_list_plugin_types

Lista tipos (classes) de um assembly

dynamics_list_plugin_steps

Lista steps registrados

dynamics_register_plugin_step

Registra novo step

dynamics_toggle_plugin_step

Ativa/desativa step

dynamics_delete_plugin_step

Remove step

dynamics_get_plugin_trace_logs

Consulta logs de trace

dynamics_generate_plugin_project

Gera projeto completo

Web Resources

Tool

Descrição

dynamics_create_web_resource

Cria web resource

dynamics_update_web_resource

Atualiza conteúdo

dynamics_list_web_resources

Lista com filtros

dynamics_publish_web_resources

Publica web resources

dynamics_get_web_resource_content

Lê conteúdo decodificado

dynamics_generate_web_resource_code

Gera código template

dynamics_delete_web_resource

Remove web resource

Schema

Tool

Descrição

dynamics_create_table

Cria tabela (entidade)

dynamics_create_column

Cria coluna (atributo)

dynamics_list_tables

Lista tabelas

dynamics_list_columns

Lista colunas

dynamics_get_forms

Recupera formulários

dynamics_update_form

Atualiza formulário

dynamics_get_views

Recupera views

dynamics_create_view

Cria view

dynamics_update_column

Atualiza coluna

dynamics_delete_column

Remove coluna

dynamics_create_relationship

Cria relacionamento

dynamics_publish_customizations

Publica customizações

dynamics_generate_fetchxml

Gera FetchXML

Soluções

Tool

Descrição

dynamics_create_solution

Cria solução

dynamics_list_solutions

Lista soluções

dynamics_add_solution_component

Adiciona componente

dynamics_remove_solution_component

Remove componente

dynamics_list_solution_components

Lista componentes

dynamics_export_solution

Exporta solução

dynamics_import_solution

Importa solução

dynamics_get_import_job_status

Status de importação

dynamics_clone_solution

Clona/patch solução

dynamics_list_publishers

Lista publicadores

dynamics_create_publisher

Cria publicador

dynamics_delete_solution

Remove solução

dynamics_check_solution_dependencies

Verifica dependências

Telemetria

Tool

Descrição

dynamics_get_plugin_performance

Performance de plugins

dynamics_get_workflow_performance

Performance de workflows

dynamics_get_active_processes

Processos ativos

dynamics_get_system_jobs

Jobs do sistema

dynamics_get_entity_analytics

Análise por entidade

dynamics_get_audit_history

Histórico de auditoria

dynamics_get_slow_plugins

Plugins lentos

dynamics_get_bulk_operations

Operações em massa

dynamics_system_health

Dashboard de saúde

Exemplos de Uso

Criar um plugin

"Crie um plugin PreOperation para validar o campo email na entidade contact"

Criar uma tabela com campos

"Crie uma tabela new_projeto com campos nome, data_inicio (DateTime), status (Picklist com Aberto/Em Andamento/Concluído) e valor (Money)"

Verificar saúde do sistema

"Mostre o dashboard de saúde do sistema e identifique plugins lentos"

Gerenciar soluções

"Liste as soluções unmanaged e exporte a solução MinhaSolucao"

Licença

MIT

Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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