PowerPlatform MCP Server

PowerPlatform MCP Server

site icon
2025.03.18 10
JavaScriptPowerPlatform 开发数据建模数据库查询开发效率数据库
PowerPlatform MCP Server 是一个模型上下文协议(MCP)服务器,提供对 PowerPlatform/Dataverse 实体和记录的智能访问。该工具提供上下文感知的辅助功能、实体探索和元数据访问。
View on GitHub

Overview

基本能力

产品定位

PowerPlatform MCP Server 是一个专为 PowerPlatform/Dataverse 设计的智能访问工具,旨在通过上下文感知的辅助功能帮助开发者更高效地探索和操作实体数据。

核心功能

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

适用场景

  • PowerPlatform/Dataverse 实体数据的探索和理解
  • 构建复杂的 OData 查询
  • 数据建模和关系分析
  • 开发过程中的调试和问题解决

工具列表

  • 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 实体提示模板

常见问题解答

  • 如何构建复杂的 OData 查询?使用 query-records 工具或 QUERY_TEMPLATE 提示类型。
  • 如何理解实体之间的关系?使用 get-entity-relationships 工具或 RELATIONSHIP_MAP 提示类型。
  • 如何获取特定字段的详细信息?使用 get-entity-attribute 工具或 ATTRIBUTE_DETAILS 提示类型。

使用教程

使用依赖

在安装之前,请确保已安装 Node.js 和 npm。

安装教程

有两种安装方式:

选项1:全局安装

npm install -g powerplatform-mcp

然后运行:

powerplatform-mcp

选项2:直接使用 npx 运行

无需安装,直接运行:

npx powerplatform-mcp

配置

在运行之前,需要设置以下环境变量:

# PowerPlatform/Dataverse 连接详情
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

调试方式

安装完成后,可以通过以下命令测试工具是否正常工作:

powerplatform-mcp

然后使用 MCP 兼容客户端(如 Cursor、Claude App 或 GitHub Copilot)连接并测试工具功能。

提示示例

1. 实体理解

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

2. 构建查询

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

3. 理解关系

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

4. 字段/属性调查

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

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。