Skip to main content
Glama

Servidor MCP de PowerPlatform

Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona acceso inteligente a entidades y registros de PowerPlatform/Dataverse. Esta herramienta ofrece asistencia contextual, exploración de entidades y acceso a metadatos.

Características principales:

  • Exploración de metadatos de entidades enriquecidas con indicaciones formateadas y sensibles al contexto

  • Compatibilidad avanzada con consultas OData con filtrado inteligente

  • Mapeo y visualización integral de relaciones

  • Creación de consultas asistidas por IA y modelado de datos a través de un agente de IA

  • Acceso completo a atributos de entidad, relaciones y conjuntos de opciones globales

Instalación

Puede instalar y ejecutar esta herramienta de dos maneras:

Opción 1: Instalar globalmente

npm install -g powerplatform-mcp

Luego ejecútalo:

powerplatform-mcp

Opción 2: Ejecutar directamente con npx

Ejecutar sin instalar:

npx powerplatform-mcp

Configuración

Antes de ejecutar, configure las siguientes variables de entorno:

# PowerPlatform/Dataverse connection details POWERPLATFORM_URL=https://yourenvironment.crm.dynamics.com POWERPLATFORM_CLIENT_ID=your-azure-app-client-id POWERPLATFORM_CLIENT_SECRET=your-azure-app-client-secret POWERPLATFORM_TENANT_ID=your-azure-tenant-id

Uso

Este es un servidor MCP diseñado para funcionar con clientes compatibles con MCP como Cursor, Claude App y GitHub Copilot. Una vez en ejecución, expondrá herramientas para recuperar metadatos y registros de entidades de PowerPlatform.

Herramientas disponibles

  • get-entity-metadata : Obtener metadatos sobre una entidad de PowerPlatform

  • get-entity-attributes : Obtener atributos/campos de una entidad de PowerPlatform

  • get-entity-attribute : obtiene un atributo/campo específico de una entidad de PowerPlatform

  • get-entity-relationships : Obtener relaciones para una entidad de PowerPlatform

  • get-global-option-set : Obtener una definición de conjunto de opciones globales

  • get-record : obtiene un registro específico por nombre de entidad e ID

  • query-records : consulta registros utilizando una expresión de filtro OData

  • use-powerplatform-prompt : utiliza plantillas de solicitud predefinidas para entidades de PowerPlatform

Indicaciones de MCP

El servidor incluye una función de avisos que proporciona información formateada y rica en contexto sobre las entidades de PowerPlatform.

Tipos de indicaciones disponibles

La herramienta use-powerplatform-prompt admite los siguientes tipos de mensajes:

  1. ENTITY_OVERVIEW : Descripción general completa de una entidad

  2. ATTRIBUTE_DETAILS : Información detallada sobre un atributo de entidad específico

  3. QUERY_TEMPLATE : Plantilla de consulta OData para una entidad con filtros de ejemplo

  4. RELATIONSHIP_MAP : Mapa visual de relaciones entre entidades

Ejemplos

Solicitud de descripción general de la entidad

// Example client code await mcpClient.invoke("use-powerplatform-prompt", { promptType: "ENTITY_OVERVIEW", entityName: "account" });

Producción:

## Power Platform Entity: account This is an overview of the 'account' entity in Microsoft Power Platform/Dataverse: ### Entity Details - Display Name: Account - Schema Name: Account - Description: Business that represents a customer or potential customer - Primary Key: accountid - Primary Name: name ### Key Attributes - name: String (Account Name) - emailaddress1: String (Email) - telephone1: String (Main Phone) - address1_city: String (City) - statecode: Status (Status) - accountnumber: String (Account Number) - industrycode: OptionSetValue (Industry) - revenue: Money (Annual Revenue) - ownerid: Owner (Owner) - createdon: DateTime (Created On) ### Relationships - One-to-Many Relationships: 42 - Many-to-Many Relationships: 8 You can query this entity using OData filters against the plural name.

Solicitud de detalles de atributos

await mcpClient.invoke("use-powerplatform-prompt", { promptType: "ATTRIBUTE_DETAILS", entityName: "account", attributeName: "revenue" });

Producción:

## Attribute: revenue Details for the 'revenue' attribute of the 'account' entity: - Display Name: Annual Revenue - Description: Annual revenue for the account - Type: Money - Format: Currency - Is Required: No - Is Searchable: true ### Usage Notes - Data Type: Money - Required: No - Max Length: N/A

Solicitud de plantilla de consulta

await mcpClient.invoke("use-powerplatform-prompt", { promptType: "QUERY_TEMPLATE", entityName: "account" });

Producción:

## OData Query Template for accounts Use this template to build queries against the accounts entity: accounts?$select=name,emailaddress1,telephone1, address1_city,statecode&$filter=name eq 'Example'&$orderby=name asc&$top=50

Ejemplos de filtros comunes

  • Es igual a: name eq 'Contoso'

  • Contiene: contains(name, 'Contoso')

  • Mayor que la fecha: createdon gt 2023-01-01T00:00:00Z

  • Varias condiciones: name eq 'Contoso' and statecode eq 0

#### Relationship Map Prompt ```javascript await mcpClient.invoke("use-powerplatform-prompt", { promptType: "RELATIONSHIP_MAP", entityName: "contact" });

Producción:

## Relationship Map for contact This shows all relationships for the 'contact' entity: ### One-to-Many Relationships (contact as Primary) - contact_activity_parties: contact (1) → activityparty (N) - contact_connections1: contact (1) → connection (N) - contact_connections2: contact (1) → connection (N) - contact_customer_contacts: contact (1) → contact (N) - contact_master_contact: contact (1) → contact (N) ### One-to-Many Relationships (contact as Related) - account_primary_contact: account (1) → contact (N) - customer_contacts: customer (1) → contact (N) - system_user_contacts: systemuser (1) → contact (N) ### Many-to-Many Relationships - contactleads_association: contact (N) ↔ lead (N) - contactopportunities_association: contact (N) ↔ opportunity (N) - contactquotes_association: contact (N) ↔ quote (N)

Ejemplos de indicaciones

A continuación se muestran algunos ejemplos de cómo puede interactuar con el asistente mediante las indicaciones de PowerPlatform MCP:

1. Comprensión de la entidad

Puedes preguntarle al asistente sobre entidades en lenguaje natural:

User: "Tell me about the Account entity in our PowerPlatform environment" Response: [uses ENTITY_OVERVIEW prompt internally] Here's what I found about the Account entity: - It's a core business entity representing customers and potential customers - The primary identifier is 'accountid' and the primary name field is 'name' - Key fields include: * name (Account Name) * emailaddress1 (Email) * telephone1 (Main Phone) * revenue (Annual Revenue) - It has 42 one-to-many relationships and 8 many-to-many relationships

2. Creación de consultas

Puedes pedir ayuda para construir consultas:

User: "Help me write a query to find active accounts with revenue over $1M in California" Response: [uses QUERY_TEMPLATE prompt internally] Here's the OData query you need: accounts?$select=name,revenue,statecode,address1_stateorprovince &$filter=statecode eq 0 and revenue gt 1000000 and address1_stateorprovince eq 'California' &$orderby=revenue desc This query: 1. Selects relevant fields 2. Filters for active accounts (statecode eq 0) 3. Checks revenue > $1M 4. Filters for California location 5. Orders by revenue highest to lowest

3. Comprender las relaciones

Puedes explorar las relaciones entre entidades de forma natural:

User: "How are Accounts and Contacts related in our system?" Response: [uses RELATIONSHIP_MAP prompt for both entities internally] Here are the key relationships between Accounts and Contacts: 1. Primary Contact (One-to-Many): - account_primary_contact: Account (1) → Contact (N) - An account can have many contacts, but one designated as primary 2. Customer Relationship: - contact_customer_accounts: Contact (N) ← Account (1) - Contacts can be associated with customer accounts 3. Additional Relationships: - accountleads_association: For lead tracking - account_connections: For relationship management

4. Investigación de campo/atributo

Puedes preguntar sobre campos específicos:

User: "What kind of field is the revenue field on Account?" Response: [uses ATTRIBUTE_DETAILS prompt internally] The revenue field on Account is: - Data Type: Money - Format: Currency - Not required - Searchable: Yes - Used for: Tracking annual revenue for the account - Can be used in advanced find and filtered views

5. Modelado de datos complejos

Puede obtener ayuda con las decisiones de modelado de datos:

User: "I need to design a solution for tracking product reviews. Which entities should I relate to?" Response: [uses multiple ENTITY_OVERVIEW and RELATIONSHIP_MAP prompts internally] Based on the existing data model, here's a suggested approach: 1. Product (existing entity): - Already has relationships with: * Price lists * Product categories * Inventory units 2. New Review entity should relate to: - Product (N:1) - Each review is for one product - Contact (N:1) - Reviews are written by contacts - Account (N:1) - Optional link to company if B2B review Here's a sample lookup field structure... [continues with detailed implementation guidance]

6. Asistencia de depuración

Puede obtener ayuda para solucionar problemas:

User: "Why am I getting 'invalid property' when querying account.customertypecode?" Response: [uses ATTRIBUTE_DETAILS prompt internally] I see the issue. The field 'customertypecode' is actually named 'customertype' in your environment. Here's the correct field information: - Logical Name: customertype - Type: OptionSetValue - Valid Values: * 1 = Competitor * 2 = Consultant * 3 = Customer * 4 = Investor * 5 = Partner * 6 = Influencer Try updating your query to use 'customertype' instead of 'customertypecode'.

Estos ejemplos muestran cómo el asistente de IA puede aprovechar las indicaciones de MCP para brindar asistencia contextual y precisa en las tareas de desarrollo de PowerPlatform. La IA comprende la configuración específica de su entorno y puede ayudar tanto con consultas sencillas como con decisiones arquitectónicas complejas.

Licencia

Instituto Tecnológico de Massachusetts (MIT)

Related MCP Servers

  • A
    security
    F
    license
    A
    quality
    A Model Context Protocol (MCP) server that provides programmatic access to the Supabase Management API. This server allows AI models and other clients to manage Supabase projects and organizations through a standardized interface.
    Last updated -
    50
    50
  • -
    security
    A
    license
    -
    quality
    MCP Server simplifies the implementation of the Model Context Protocol by providing a user-friendly API to create custom tools and manage server workflows efficiently.
    Last updated -
    6
    4
    MIT License
  • -
    security
    A
    license
    -
    quality
    MCP Server provides a simpler API to interact with the Model Context Protocol by allowing users to define custom tools and services to streamline workflows and processes.
    Last updated -
    2
    3
    MIT License
  • A
    security
    -
    license
    A
    quality
    A Model Context Protocol server that enables interaction with Microsoft Dynamics 365 CRM from Claude Desktop, allowing users to retrieve, create, and update CRM data through natural language.
    Last updated -
    5
    16
    MIT License

View all related MCP servers

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/michsob/powerplatform-mcp'

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