Skip to main content
Glama
jjohnsen

jaj-dataverse-dev-mcp

by jjohnsen

dataverse_request

Execute Dataverse Web API requests against /api/data/v9.2/ to run OData queries, CRUD operations, functions, and actions, using $select and $top to limit response size.

Instructions

Execute a Dataverse Web API request. The path is relative to /api/data/v9.2/. Supports OData queries, CRUD, functions and actions. Use $select and $top where appropriate to avoid unnecessarily large responses. Do not pass a complete URL.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyNoOptional JSON body for POST or PATCH requests.
pathYesPath relative to /api/data/v9.2/. Example: accounts?$select=name,accountid&$top=10 Actions such as AddSolutionComponent are also supported.
acceptNoOptional Accept header. Defaults to application/json.
methodYes
preferNoOptional Dataverse Prefer header, e.g. return=representation or odata.include-annotations="*".
ifMatchNoOptional If-Match value, e.g. "*" or an ETag.
environmentYesEnvironment name returned by list_environments.
ifNoneMatchNoOptional If-None-Match value.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.4

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden of behavioral disclosure. It does disclose that the path is relative to /api/data/v9.2/ and that it supports OData queries, CRUD, functions, and actions. However, it does not mention authentication requirements, rate limits, error behavior, or what happens with different methods. For a generic API executor, this is a moderate gap, but the description does convey the core behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences with no wasted words. It front-loads the core purpose, then adds the path base, supported operations, and a performance tip. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a generic API executor with 8 parameters and no output schema, the description is fairly complete. It explains the path base, supported operations, and gives a performance guideline. It does not explain return values, but since there is no output schema and the tool is a raw API executor, the response format is inherently variable. The main missing piece is authentication context, but that may be handled by the environment parameter.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 88%, so the schema already documents most parameters well. The description adds context about the path being relative to /api/data/v9.2/ and the use of $select/$top, which complements the schema. It does not add much beyond the schema for body, accept, prefer, ifMatch, ifNoneMatch, but the schema descriptions are already sufficient. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Execute'), a specific resource ('Dataverse Web API request'), and the base path ('/api/data/v9.2/'). It also distinguishes itself from siblings by being the only tool that makes raw API requests; siblings like ping, list_environments, and whoami are clearly different operations. The instruction 'Do not pass a complete URL' further clarifies the expected input format.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context: use this tool for OData queries, CRUD, functions, and actions. It also provides a practical guideline to use $select and $top to avoid large responses. It does not explicitly name alternatives or say when not to use it, but the sibling tools are distinct enough that an agent can infer when to use this one. The guidance about not passing a complete URL is a useful usage constraint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools