Dataverse (Microsoft PowerPlatform)
FreeNot checkedIntegrates with Microsoft's PowerPlatform API to enable querying and interaction with Dataverse entities, providing access to metadata, attributes, relationship
About
Integrates with Microsoft's PowerPlatform API to enable querying and interaction with Dataverse entities, providing access to metadata, attributes, relationships, and records through authenticated requests without navigating complex API structures.
README
A lightweight HTTP wrapper around a Model Context Protocol (MCP) server for Microsoft Power Platform/Dataverse. This project exposes a set of tools via a /invoke REST endpoint and includes a simple HTML chatbot UI that accepts natural-language queries and dynamically routes them to the appropriate MCP tool.
Features
MCP Tools: Supports 8 core MCP operations:
use-powerplatform-prompt— Entity overview, attribute details, query templates, relationship mapsget-entity-metadata— Fetch metadata for an entityget-entity-attributes— List all attributes of an entityget-entity-attribute— Retrieve a specific attribute definitionget-entity-relationships— One-to-many and many-to-many relationshipsget-global-option-set— Global option set definitionsget-record— Fetch a record by GUIDquery-records— OData-filtered record queries
Natural-Language Front End: HTML + JavaScript UI that parses free-text questions and invokes the correct MCP tool.
Environment Configuration: Uses environment variables for all Power Platform credentials.
Express + CORS: Simple HTTP server for integration with any front-end.
Prerequisites
Node.js >= 16.x
A Dataverse / Power Platform environment and service principal (app registration) with:
- Tenant ID
- Client (Application) ID
- Client Secret
- Organization URL (e.g.
https://<yourorg>.crm.dynamics.com)
Installation
Clone the repository
git clone https://github.com/your-org/powerplatform-mcp-chatbot.git cd powerplatform-mcp-chatbotInstall dependencies
npm installBuild the TypeScript
npm run build
Configuration
Create a .env file in the project root (or set environment variables in your shell) with:
POWERPLATFORM_URL=https://yourorg.crm.dynamics.com
POWERPLATFORM_CLIENT_ID=your-client-id
POWERPLATFORM_CLIENT_SECRET=your-client-secret
POWERPLATFORM_TENANT_ID=your-tenant-id
PORT=3000 # Optional: HTTP server port
Note: Ensure these values are kept secure and not committed to version control.
Running the Server
After building, start the HTTP wrapper:
node dist/server.js
You should see:
✅ PowerPlatform MCP HTTP server running at http://localhost:3000/invoke
REST Invoke Endpoint
All MCP tools are exposed via a single POST endpoint:
POST http://localhost:3000/invoke
Content-Type: application/json
{
"tool": "tool-name",
"parameters": { /* tool-specific parameters */ }
}
Sample Requests
Entity Overview
curl -X POST http://localhost:3000/invoke \ -H 'Content-Type: application/json' \ -d '{"tool":"use-powerplatform-prompt","parameters":{"promptType":"ENTITY_OVERVIEW","entityName":"account"}}'Get Entity Metadata
curl -X POST http://localhost:3000/invoke \ -d '{"tool":"get-entity-metadata","parameters":{"entityName":"contact"}}'Query Records
curl -X POST http://localhost:3000/invoke \ -d '{"tool":"query-records","parameters":{"entityNamePlural":"contacts","filter":"statecode eq 0","maxRecords":10}}'
Refer to the full tool list above for parameter details.
HTML Chatbot UI
A demo front-end is provided in chatbot.html. It listens for natural-language queries, maps them to the correct tool, and displays results inline.
Serve
chatbot.html(e.g., open directly in Chrome or host via any static server).Ask questions such as:
- “Tell me about the Account entity”
- “List fields in Lead”
- “Details of field revenue on Account”
- “Find active contacts where statecode eq 0”
Troubleshooting
- CORS Errors: Ensure you run the HTML from a local or hosted file with CORS enabled (the server uses
cors()by default). - Authentication: Verify your service principal has Dataverse API permissions and the environment URL is correct.
- Errors: Check console output from
server.jsfor stack traces and error messages.
Installing Dataverse (Microsoft PowerPlatform)
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/bonanip512/dataversemcpserverFAQ
Is Dataverse (Microsoft PowerPlatform) MCP free?
Yes, Dataverse (Microsoft PowerPlatform) MCP is free — one-click install via Unyly at no cost.
Does Dataverse (Microsoft PowerPlatform) need an API key?
No, Dataverse (Microsoft PowerPlatform) runs without API keys or environment variables.
Is Dataverse (Microsoft PowerPlatform) hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Dataverse (Microsoft PowerPlatform) in Claude Desktop, Claude Code or Cursor?
Open Dataverse (Microsoft PowerPlatform) on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Dataverse (Microsoft PowerPlatform) with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
