Skip to content

Tool Categories

Ryan James edited this page Aug 17, 2026 · 1 revision

DATAVERSE_TOOLS takes a comma-separated list of category tokens and registers only those categories.

"DATAVERSE_TOOLS": "schema,solutions"

Unset or empty registers everything.

Why trim

Most MCP clients degrade when 200 tools are loaded at once: the tool definitions eat context before the conversation starts, and model tool-selection accuracy falls as the list grows — the more near-identical dataverse_get_* names on offer, the more often the wrong one is picked. Loading the 30 tools relevant to the task both costs less and works better.

If you run two server entries (prod and dev, say), the client sees both tool lists. Trimming matters twice as much.

The 14 tokens

Counts are that category's own tools with DATAVERSE_ALLOW_WRITE and DATAVERSE_ALLOW_DELETE both set; the read-only column is what registers with neither flag.

Token All Read-only Covers
core 24 16 Environment introspection, org settings, record CRUD, batch, unpublished-customization reads — Tools-Core
schema 35 14 Tables, columns, relationships, choices, alternate keys, languages — Tools-Schema
plugins 33 17 Assemblies, packages, types, steps, images, trace logs — Tools-Plugins
security 22 17 Roles, teams, users, privileges, sharing, audit history — Tools-Security
solutions 21 10 Solutions, publishers, components, import/export ALM, dependencies — Tools-Solutions
customapis 13 4 Custom APIs, request parameters, response properties — Tools-Custom-APIs
apps 10 3 Canvas and model-driven apps, sitemaps, app roles — Tools-Apps
flows 8 2 Cloud flows and classic processes — Tools-Flows
variables 8 2 Environment variable definitions and values — Tools-Variables
views 7 3 Saved queries — Tools-Views
forms 6 3 Model-driven forms and FormXml — Tools-Forms
connections 5 2 Connection references — Tools-Connections
webresources 5 2 JS/HTML/CSS/image web resources — Tools-Web-Resources
jobs 3 2 Async operations — Tools-Jobs

Two rules that surprise people:

  • core is always registered, listed or not. Its 16 read-only tools are the floor of any configuration, so every count below includes them.
  • Unknown tokens are ignored, with a warning naming the token and listing the valid ones. DATAVERSE_TOOLS=scheme therefore silently gives you core only — check stderr if a category seems missing.

Category gating composes with the write/delete flags: a tool registers when its category is enabled and its gate is open. DATAVERSE_TOOLS=schema without DATAVERSE_ALLOW_WRITE gives read-only schema tools.

Presets

Paste the env block into your client entry (Client-Setup). The count is the exact number of tools that entry registers.

Schema work — explore and change tables, columns, relationships and choices. 51 tools.

"env": {
  "DATAVERSE_AUTH_TYPE": "interactive",
  "DATAVERSE_TOOLS": "schema",
  "DATAVERSE_ALLOW_WRITE": "true"
}

Solution ALM — build, export, import and upgrade solutions, including the environment variables and connection references a deployment has to reconcile. 52 tools.

"env": {
  "DATAVERSE_AUTH_TYPE": "interactive",
  "DATAVERSE_TOOLS": "solutions,variables,connections",
  "DATAVERSE_ALLOW_WRITE": "true",
  "DATAVERSE_FILE_BASE_DIR": "C:\\dataverse-solutions"
}

Plug-in development — register and re-register assemblies, steps and images, read trace logs, watch the async jobs they spawn. Delete is enabled because re-registration means removing the old step. 60 tools.

"env": {
  "DATAVERSE_AUTH_TYPE": "interactive",
  "DATAVERSE_TOOLS": "plugins,jobs",
  "DATAVERSE_ALLOW_WRITE": "true",
  "DATAVERSE_ALLOW_DELETE": "true"
}

Read-only audit — who has access to what, why, and what changed. Nothing can be modified. 35 tools.

"env": {
  "DATAVERSE_AUTH_TYPE": "interactive",
  "DATAVERSE_TOOLS": "security,jobs",
  "DATAVERSE_WHITELIST": "yourorg.crm.dynamics.com",
  "DATAVERSE_REQUIRE_WHITELIST": "true"
}

Add or drop a token and restart the server — the list is read once at startup.

Clone this wiki locally