PowerPlatform Model Context Protocol server
Most developer tooling work still happens through a UI a human drives. Powerplatform MCP MCP server moves it into the conversation instead. PowerPlatform Model Context Protocol server.
A Model Context Protocol (MCP) server and standalone CLI for querying and configuring PowerPlatform / Dataverse environments. Supports multiple environments, entity metadata, records, plugins, flows, solutions, workflows, business rules, security roles, custom APIs, web resources, and more — including write operations for automated environment setup.
The server publishes 14 tools. What each one is for:
get-custom-apis — List Custom API definitionsget-custom-api — Get a Custom API by unique namecreate-custom-api — Create a Custom API definitionget-custom-api-response-properties — List response propertiescreate-custom-api-response-property — Create a response propertyget-custom-api-request-parameters — List request parameterscreate-custom-api-request-parameter — Create a request parameterEntity — The Entity tool exposed by this serverRecords — The Records tool exposed by this serverPlugins — The Plugins tool exposed by this serverSolutions — The Solutions tool exposed by this serverConfiguration — The Configuration tool exposed by this serverConfiguration is passed through the environment: POWERPLATFORM_DEV_URL, POWERPLATFORM_DEV_CLIENT_ID, POWERPLATFORM_DEV_CLIENT_SECRET, POWERPLATFORM_DEV_TENANT_ID, POWERPLATFORM_UAT_URL, POWERPLATFORM_UAT_CLIENT_ID, POWERPLATFORM_UAT_CLIENT_SECRET, POWERPLATFORM_UAT_TENANT_ID. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.
powerplatform-mcp on npm is all you need. Most clients run it directly, so configuration is a few lines and a restart.
Plenty of developer tooling servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Powerplatform MCP's toolset — get-custom-apis, get-custom-api, create-custom-api and 11 more — is a fair guide to whether it matches your workflow. It is maintained by michsob; worth a glance at recent repository activity before you build anything load-bearing on it.
SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.
| Tool | What it does |
|---|---|
| get-custom-apis | List Custom API definitions |
| get-custom-api | Get a Custom API by unique name |
| create-custom-api | Create a Custom API definition |
| get-custom-api-response-properties | List response properties |
| create-custom-api-response-property | Create a response property |
| get-custom-api-request-parameters | List request parameters |
| create-custom-api-request-parameter | Create a request parameter |
| Entity | The Entity tool exposed by this server. |
| Records | The Records tool exposed by this server. |
| Plugins | The Plugins tool exposed by this server. |
| Solutions | The Solutions tool exposed by this server. |
| Configuration | The Configuration tool exposed by this server. |
| Dependencies | The Dependencies tool exposed by this server. |
| Commands | The Commands tool exposed by this server. |
{
"mcpServers": {
"powerplatform": {
"command": "npx",
"args": ["-y", "powerplatform-mcp"],
"env": {
"POWERPLATFORM_DEV_URL": "your-value",
"POWERPLATFORM_DEV_CLIENT_ID": "your-value",
"POWERPLATFORM_DEV_CLIENT_SECRET": "your-value",
"POWERPLATFORM_DEV_TENANT_ID": "your-value",
"POWERPLATFORM_UAT_URL": "your-value",
"POWERPLATFORM_UAT_CLIENT_ID": "your-value",
"POWERPLATFORM_UAT_CLIENT_SECRET": "your-value",
"POWERPLATFORM_UAT_TENANT_ID": "your-value"
}
}
}
}Add to claude_desktop_config.json, then restart Claude Desktop.
| Variable | Description | Required |
|---|---|---|
| POWERPLATFORM_DEV_URL | Endpoint or connection string the server talks to. | Yes |
| POWERPLATFORM_DEV_CLIENT_ID | Configuration value read at startup. | Optional |
| POWERPLATFORM_DEV_CLIENT_SECRET | Credential the server authenticates with. | Yes |
| POWERPLATFORM_DEV_TENANT_ID | Configuration value read at startup. | Optional |
| POWERPLATFORM_UAT_URL | Endpoint or connection string the server talks to. | Yes |
| POWERPLATFORM_UAT_CLIENT_ID | Configuration value read at startup. | Optional |
| POWERPLATFORM_UAT_CLIENT_SECRET | Credential the server authenticates with. | Yes |
| POWERPLATFORM_UAT_TENANT_ID | Configuration value read at startup. | Optional |
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.