Claude Code
Prerequisites
Section titled “Prerequisites”- Node.js 20+ and the Claude Code CLI installed.
- A Dataverse environment URL plus either an Entra ID app registration
(client id/secret/tenant) or a local Azure identity (
az login) for theDefaultAzureCredentialfallback.
Add the server
Section titled “Add the server”From your project directory:
claude mcp add dataverse-ops \ -e DATAVERSE_URL=https://yourorg.crm.dynamics.com \ -e CLIENT_ID=<app-registration-client-id> \ -e CLIENT_SECRET=<client-secret> \ -e TENANT_ID=<entra-tenant-id> \ -- npx -y @simplesmoothsafe/dataverse-ops-mcpUsing DefaultAzureCredential instead? Drop the three credential variables and
keep only DATAVERSE_URL. Add -e LICENSE_KEY=<your-key> to unlock pro tools.
Use --scope user if you want the server available in every project, and
claude mcp list to confirm it registered.
First call
Section titled “First call”Start claude and ask:
Ping the dataverse-ops server.
Then something useful:
Show failed async jobs from the last 24 hours and group them by error.
Claude Code will call get_failed_async_jobs and return the grouped summary.
Troubleshooting
Section titled “Troubleshooting”claude mcp listshows the server as failed — runnpx -y @simplesmoothsafe/dataverse-ops-mcpin a terminal with the same env vars to see the startup error directly (it prints to stderr; stdout is reserved for the MCP protocol).- Secrets in shell history — prefer putting the
-evalues in your project’s.mcp.jsonviaclaude mcp add --scope projectand reference environment variables, rather than pasting secrets on the command line. - 403 / permission errors — see the
hintin the tool’s error envelope; the connecting app user usually needs System Customizer-level read privileges.