powerplatform mcp/cli
A Model Context Protocol (MCP) server and standalone CLI for querying PowerPlatform / Dataverse environments. Supports multiple environments, entity metadata, records, plugins, flows, solutions, workflows, business rules, security roles, and more.
Overview
PowerPlatform MCP is a Model Context Protocol (MCP) server that provides intelligent access to PowerPlatform/Dataverse entities and records, offering context-aware assistance, entity exploration, and metadata access.
To use PowerPlatform MCP, install it globally using npm or run it directly with npx. Configure the necessary environment variables for PowerPlatform/Dataverse connection details before running the server.
- Rich entity metadata exploration with formatted, context-aware prompts - Advanced OData query support with intelligent filtering - Comprehensive relationship mapping and visualization - AI-assisted query building and data modeling through an AI agent - Full access to entity attributes, relationships, and global option sets
- Exploring and retrieving metadata for PowerPlatform entities.
- Building complex OData queries for data retrieval.
- Visualizing relationships between different entities in Dataverse.
- Assisting developers in understanding and utilizing PowerPlatform data models.
Add to your AI client
Use these steps to connect powerplatform mcp/cli in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.
Cursor
Add this to your .cursor/mcp.json file in your project root, then restart Cursor.
.cursor/mcp.json
{
"mcpServers": {
"powerplatform-mcp-michsob": {
"command": "npx",
"args": [
"-y",
"powerplatform-mcp"
],
"env": {
"POWERPLATFORM_DEV_CLIENT_ID": "...",
"POWERPLATFORM_DEV_CLIENT_SECRET": "...",
"POWERPLATFORM_DEV_TENANT_ID": "...",
"POWERPLATFORM_DEV_URL": "https://dev-org.crm.dynamics.com",
"POWERPLATFORM_ENVIRONMENTS": "DEV,UAT,PROD",
"POWERPLATFORM_UAT_CLIENT_ID": "...",
"POWERPLATFORM_UAT_CLIENT_SECRET": "...",
"POWERPLATFORM_UAT_TENANT_ID": "...",
"POWERPLATFORM_UAT_URL": "https://uat-org.crm.dynamics.com"
}
}
}
}Claude Desktop
Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"powerplatform-mcp-michsob": {
"command": "npx",
"args": [
"-y",
"powerplatform-mcp"
],
"env": {
"POWERPLATFORM_DEV_CLIENT_ID": "...",
"POWERPLATFORM_DEV_CLIENT_SECRET": "...",
"POWERPLATFORM_DEV_TENANT_ID": "...",
"POWERPLATFORM_DEV_URL": "https://dev-org.crm.dynamics.com",
"POWERPLATFORM_ENVIRONMENTS": "DEV,UAT,PROD",
"POWERPLATFORM_UAT_CLIENT_ID": "...",
"POWERPLATFORM_UAT_CLIENT_SECRET": "...",
"POWERPLATFORM_UAT_TENANT_ID": "...",
"POWERPLATFORM_UAT_URL": "https://uat-org.crm.dynamics.com"
}
}
}
}Claude Code
Add this to your project's .mcp.json file. Claude Code will detect it automatically.
.mcp.json (project root)
{
"mcpServers": {
"powerplatform-mcp-michsob": {
"command": "npx",
"args": [
"-y",
"powerplatform-mcp"
],
"env": {
"POWERPLATFORM_DEV_CLIENT_ID": "...",
"POWERPLATFORM_DEV_CLIENT_SECRET": "...",
"POWERPLATFORM_DEV_TENANT_ID": "...",
"POWERPLATFORM_DEV_URL": "https://dev-org.crm.dynamics.com",
"POWERPLATFORM_ENVIRONMENTS": "DEV,UAT,PROD",
"POWERPLATFORM_UAT_CLIENT_ID": "...",
"POWERPLATFORM_UAT_CLIENT_SECRET": "...",
"POWERPLATFORM_UAT_TENANT_ID": "...",
"POWERPLATFORM_UAT_URL": "https://uat-org.crm.dynamics.com"
}
}
}
}VS Code (Copilot)
Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.
.vscode/mcp.json
{
"servers": {
"powerplatform-mcp-michsob": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"powerplatform-mcp"
],
"env": {
"POWERPLATFORM_DEV_CLIENT_ID": "...",
"POWERPLATFORM_DEV_CLIENT_SECRET": "...",
"POWERPLATFORM_DEV_TENANT_ID": "...",
"POWERPLATFORM_DEV_URL": "https://dev-org.crm.dynamics.com",
"POWERPLATFORM_ENVIRONMENTS": "DEV,UAT,PROD",
"POWERPLATFORM_UAT_CLIENT_ID": "...",
"POWERPLATFORM_UAT_CLIENT_SECRET": "...",
"POWERPLATFORM_UAT_TENANT_ID": "...",
"POWERPLATFORM_UAT_URL": "https://uat-org.crm.dynamics.com"
}
}
}
}Windsurf
Add this to your Windsurf MCP config file, then restart Windsurf.
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"powerplatform-mcp-michsob": {
"command": "npx",
"args": [
"-y",
"powerplatform-mcp"
],
"env": {
"POWERPLATFORM_DEV_CLIENT_ID": "...",
"POWERPLATFORM_DEV_CLIENT_SECRET": "...",
"POWERPLATFORM_DEV_TENANT_ID": "...",
"POWERPLATFORM_DEV_URL": "https://dev-org.crm.dynamics.com",
"POWERPLATFORM_ENVIRONMENTS": "DEV,UAT,PROD",
"POWERPLATFORM_UAT_CLIENT_ID": "...",
"POWERPLATFORM_UAT_CLIENT_SECRET": "...",
"POWERPLATFORM_UAT_TENANT_ID": "...",
"POWERPLATFORM_UAT_URL": "https://uat-org.crm.dynamics.com"
}
}
}
}Cline
Open Cline settings, navigate to MCP Servers, and add this server configuration.
Cline MCP Settings (via UI)
{
"mcpServers": {
"powerplatform-mcp-michsob": {
"command": "npx",
"args": [
"-y",
"powerplatform-mcp"
],
"env": {
"POWERPLATFORM_DEV_CLIENT_ID": "...",
"POWERPLATFORM_DEV_CLIENT_SECRET": "...",
"POWERPLATFORM_DEV_TENANT_ID": "...",
"POWERPLATFORM_DEV_URL": "https://dev-org.crm.dynamics.com",
"POWERPLATFORM_ENVIRONMENTS": "DEV,UAT,PROD",
"POWERPLATFORM_UAT_CLIENT_ID": "...",
"POWERPLATFORM_UAT_CLIENT_SECRET": "...",
"POWERPLATFORM_UAT_TENANT_ID": "...",
"POWERPLATFORM_UAT_URL": "https://uat-org.crm.dynamics.com"
}
}
}
}FAQ
What is the purpose of PowerPlatform MCP?
It provides intelligent access to PowerPlatform entities and assists in data exploration and query building.
How do I install PowerPlatform MCP?
You can install it globally using npm or run it directly with npx.
What kind of queries can I build with PowerPlatform MCP?
You can build advanced OData queries with intelligent filtering and context-aware prompts.