Add it to Claude Code
claude mcp add -e "DATAVERSE_URL=${DATAVERSE_URL}" -e "TENANT_ID=${TENANT_ID}" -e "CLIENT_ID=${CLIENT_ID}" -e "CLIENT_SECRET=${CLIENT_SECRET}" dataverse-mcp -- npx -y dataverse-mcp-serverDATAVERSE_URLTENANT_IDCLIENT_IDCLIENT_SECRETMake your agent remember this setup
dataverse-mcp's config, env vars, and the gotchas you hit — recalled in every future Claude Code, Cursor, and Codex session.
npx conare@latestFree · one command · indexes the sessions already on disk. Set up in the browser instead →
What it does
- CRUD operations for Dataverse records
- Schema exploration for table metadata
- OData filter support for complex queries
- Service principal authentication for secure access
Tools 6
create_recordCreate new records in tablesupdate_recordUpdate existing recordsdelete_recordDelete recordsquery_recordsQuery records with OData filterslist_tablesList all available tablesget_table_schemaGet column metadata for a tableEnvironment Variables
DATAVERSE_URLrequiredThe URL of your Dataverse environmentTENANT_IDrequiredAzure AD Tenant IDCLIENT_IDrequiredAzure AD Client IDCLIENT_SECRETrequiredAzure AD Client SecretTry it
Original README from carlosarmenta75/dataverse_mcp_server
MCP Dataverse Server
MCP server for performing CRUD operations on Microsoft Dataverse databases using service principal authentication.
Prerequisites
Azure AD App Registration:
- Register an application in Azure AD
- Create a client secret
- Note the Tenant ID, Client ID, and Client Secret
Dataverse Setup:
- Grant the app "Dynamics CRM" API permissions in Azure AD
- Add the application as a user in Dataverse
- Assign appropriate security role (e.g., System Administrator)
Environment Variables
DATAVERSE_URL=https://yourorg.crm.dynamics.com
TENANT_ID=your-tenant-id
CLIENT_ID=your-client-id
CLIENT_SECRET=your-client-secret
Local Development
# Install dependencies
npm install
# Build
npm run build
# Run
npm start
Docker Deployment
# Build image
docker build -t mcp-dataverse-server .
# Run container
docker run -i \
-e DATAVERSE_URL=https://yourorg.crm.dynamics.com \
-e TENANT_ID=your-tenant-id \
-e CLIENT_ID=your-client-id \
-e CLIENT_SECRET=your-client-secret \
mcp-dataverse-server
Available Tools
- create_record: Create new records in tables
- update_record: Update existing records
- delete_record: Delete records
- query_records: Query records with OData filters
- list_tables: List all available tables
- get_table_schema: Get column metadata for a table
Usage with bolt.new
Configure your bolt.new app to connect to this MCP server via stdio transport. The server handles all authentication transparently.
Example Operations
Create a record:
{
"table": "accounts",
"data": {
"name": "Contoso Ltd",
"telephone1": "555-0100"
}
}
Query records:
{
"table": "accounts",
"select": ["name", "telephone1"],
"filter": "revenue gt 1000000",
"top": 10
}
dataverse_mcp_server
"# dataverse_mcp_server"