
PowerPlatform MCP Server

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"
});