Skip to main content
Glama

PowerPlatform MCP

PowerPlatform MCP 服务器

模型上下文协议 (MCP) 服务器,提供对 PowerPlatform/Dataverse 实体和记录的智能访问。此工具提供上下文感知辅助、实体探索和元数据访问。

主要特点:

  • 通过格式化、上下文感知的提示进行丰富的实体元数据探索
  • 具有智能过滤功能的高级 OData 查询支持
  • 全面的关系映射和可视化
  • 通过人工智能代理进行人工智能辅助查询构建和数据建模
  • 对实体属性、关系和全局选项集的完全访问权限

安装

您可以通过两种方式安装并运行此工具:

选项 1:全局安装

npm install -g powerplatform-mcp

然后运行它:

powerplatform-mcp

选项 2:直接使用 npx 运行

无需安装即可运行:

npx powerplatform-mcp

配置

运行前,设置以下环境变量:

# 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

用法

这是一个 MCP 服务器,旨在与兼容 MCP 的客户端(例如 Cursor、Claude App 和 GitHub Copilot)配合使用。运行后,它将提供用于检索 PowerPlatform 实体元数据和记录的工具。

可用工具

  • get-entity-metadata :获取有关 PowerPlatform 实体的元数据
  • get-entity-attributes :获取 PowerPlatform 实体的属性/字段
  • get-entity-attribute :获取 PowerPlatform 实体的特定属性/字段
  • get-entity-relationships :获取 PowerPlatform 实体的关系
  • get-global-option-set :获取全局选项集定义
  • get-record :通过实体名称和 ID 获取特定记录
  • query-records :使用 OData 过滤器表达式查询记录
  • use-powerplatform-prompt :使用 PowerPlatform 实体的预定义提示模板

MCP 提示

该服务器包含一个提示功能,提供有关 PowerPlatform 实体的格式化、上下文丰富的信息。

可用的提示类型

use-powerplatform-prompt工具支持以下提示类型:

  1. ENTITY_OVERVIEW :实体的全面概述
  2. ATTRIBUTE_DETAILS :有关特定实体属性的详细信息
  3. QUERY_TEMPLATE :带有示例过滤器的实体的 OData 查询模板
  4. RELATIONSHIP_MAP :实体关系的可视化地图

示例

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

输出:

## 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.
属性详情提示
await mcpClient.invoke("use-powerplatform-prompt", { promptType: "ATTRIBUTE_DETAILS", entityName: "account", attributeName: "revenue" });

输出:

## 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
查询模板提示
await mcpClient.invoke("use-powerplatform-prompt", { promptType: "QUERY_TEMPLATE", entityName: "account" });

输出:

## 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

常见过滤器示例

  • 等于: name eq 'Contoso'
  • 包含: contains(name, 'Contoso')
  • 大于日期: createdon gt 2023-01-01T00:00:00Z
  • 多个条件: name eq 'Contoso' and statecode eq 0
#### Relationship Map Prompt ```javascript await mcpClient.invoke("use-powerplatform-prompt", { promptType: "RELATIONSHIP_MAP", entityName: "contact" });

输出:

## 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)

提示示例

以下是如何使用 PowerPlatform MCP 提示与助手交互的一些示例:

1.实体理解

您可以用自然语言向助手询问实体:

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. 构建查询

您可以寻求构建查询的帮助:

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. 理解关系

您可以自然地探索实体关系:

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. 领域/属性调查

您可以询问特定字段:

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.复杂数据建模

您可以获得有关数据建模决策的帮助:

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. 调试协助

您可以获取故障排除帮助:

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'.

这些示例展示了 AI 助手如何利用 MCP 提示,为 PowerPlatform 开发任务提供情境感知的精准辅助。AI 能够理解您环境的具体配置,并能协助您完成简单的查询和复杂的架构决策。

执照

麻省理工学院

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

模型上下文协议 (MCP) 服务器,提供对 PowerPlatform/Dataverse 实体和记录的智能访问。此工具提供上下文感知辅助、实体探索和元数据访问。

  1. 安装
    1. 选项 1:全局安装
    2. 选项 2:直接使用 npx 运行
  2. 配置
    1. 用法
      1. 可用工具
    2. MCP 提示
      1. 可用的提示类型
      2. 示例
      3. 常见过滤器示例
    3. Relationship Map for contact
      1. One-to-Many Relationships (contact as Primary)
      2. One-to-Many Relationships (contact as Related)
      3. Many-to-Many Relationships
    4. 执照

      Related MCP Servers

      • -
        security
        -
        license
        -
        quality
        A specialized server that helps users create new Model Context Protocol (MCP) servers by providing tools and templates for scaffolding projects with various capabilities.
        Last updated -
        1
        TypeScript
      • A
        security
        F
        license
        A
        quality
        A Model Context Protocol (MCP) server that interacts with system APIs, allowing users to check connections, search employees, register breakfast, and update chemical information by shifts.
        Last updated -
        21
        26
        JavaScript
      • A
        security
        A
        license
        A
        quality
        Model Context Protocol (MCP) server that provides weather forecast, warnings, water level associated with flood, and earthquake reports from Malaysia Government's Open API.
        Last updated -
        4
        Python
        MIT License
      • A
        security
        A
        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
        4
        TypeScript
        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