Skip to main content
Glama
rededis

dataverse-mcp-server

by rededis

add_picklist_option

Add a new option to a Dataverse Local or Global OptionSet via the InsertOptionValue action. Provide a label to extend a picklist; requires Customizer or System Administrator role.

Instructions

Add an option to an existing Local or Global OptionSet (Dataverse InsertOptionValue action). Requires Customizer or System Administrator role; HTTP 403 otherwise.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
labelYesUI label for the new option (e.g. 'Queued')
valueNoExplicit option value. Must fall within the publisher's customization prefix range (e.g. 909890XXX). If omitted, Dataverse assigns the next free value.
descriptionNoOptional description
language_codeNoLanguage code for the label (default: 1033 = English)
option_set_nameNoGlobal OptionSet name. Mutually exclusive with entity_logical_name/attribute_logical_name.
entity_logical_nameNoEntity logical name (Local OptionSet; pair with attribute_logical_name). Mutually exclusive with option_set_name.
solution_unique_nameNoSolution unique name (defaults to the Default Solution)
attribute_logical_nameNoPicklist attribute logical name (Local OptionSet; pair with entity_logical_name). Mutually exclusive with option_set_name.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.9.0
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. First observedv0.5.0

TDQS

A3.7/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 full burden. It does disclose a genuine behavioral trait — the authorization requirement and the HTTP 403 consequence — which is real value. But it says nothing about what happens on duplicate labels, whether the option is immediately visible, or what the call returns, leaving significant gaps for a mutation tool.

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?

Two compact sentences, front-loading the core purpose before the permission caveat. Every clause earns its place; no filler.

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

Completeness3/5

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

The description covers purpose and authorization, and the schema fully documents inputs, but with no annotations and no output schema the agent still cannot tell what the call returns (e.g. the assigned option value) or whether the change is persisted to a solution. Adequate but not complete for a mutation tool.

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 100%, so the schema already explains all eight parameters including the value-range constraint and the option_set_name vs entity/attribute mutual exclusivity. The description only echoes the Local/Global distinction already captured in the schema, adding no new parameter-level meaning. Baseline 3 applies.

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?

States a specific verb (add) and resource (option to an existing Local or Global OptionSet), and even names the underlying Dataverse action. It is clearly distinguishable from sibling update_picklist_option and delete_picklist_option, which modify or remove existing options.

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

Usage Guidelines3/5

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

Usage is implied (create a new option rather than modify one), and the description usefully states the required Customizer/System Administrator role and the 403 failure mode. However, it never explicitly contrasts this with update_picklist_option for existing options, nor states any other preconditions or exclusions.

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