Skip to main content
Glama

Change a plugin

update_plugin
Destructive

Changes a plugin: name, settings (whole), patch (merged), form_html, status active or paused, or recipients {add: email} (an extra inbox for every site on the plan). A changed form or booking setup returns setup_summary first; a new inbox or AI-set reply_to_email, approve_url.

Input Schema

NameRequiredDescriptionDefault
langNoThe page's <html lang>, e.g. de (one snippet per language)
nameNo
siteYes
formsNoForms: as settings
patchNoMerged onto the settings, e.g. {"approval":"always"}; null removes a key, arrays are replaced
statusNo
settingsNoThe whole object, as list_plugins settings_help (forms too)
form_htmlNo
plugin_idYes
recipientsNo{add: email} (needs Manage)
confirm_tokenNo

Output Schema

NameRequiredDescriptionDefault
approve_urlNo
agent_messageNo
confirm_tokenNo
setup_summaryNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedOutput schema / properties / agent_message
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / approve_url
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / setup_summary
      Added value: +{
      +  "type": "array"
      +}
  2. Changed3 schema fields changed
    • removedInput schema / properties / confirm_token / description
      Removed value: -"After the person's yes to setup_summary, or for the approve_url status"
    • changedInput schema / properties / recipients / description
      Previous value: -"{add: an extra inbox, for every site on the plan (needs Manage)}"New value: +"{add: email} (needs Manage)"
    • changedInput schema / properties / settings / description
      Previous value: -"The whole settings object, shaped as list_plugins settings_help (forms too)"New value: +"The whole object, as list_plugins settings_help (forms too)"
  3. Changed1 schema field changed
    • removedInput schema / properties / plugin_id / description
      Removed value: -"From list_plugins"
  4. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "confirm_token": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  5. Changed1 schema field changed
    • changedInput schema / properties / lang / description
      Previous value: -"The snippet page's <html lang>, e.g. de (one snippet per language)"New value: +"The page's <html lang>, e.g. de (one snippet per language)"
  6. Changed2 schema fields changed
    • changedInput schema / properties / lang / description
      Previous value: -"The <html lang> of the snippet's page (e.g. de); one snippet per language"New value: +"The snippet page's <html lang>, e.g. de (one snippet per language)"
    • removedInput schema / properties / site / description
      Removed value: -"Site name"
  7. Changed12 schema fields changed
    • changedInput schema / properties / confirm_token / description
      Previous value: -"From the first call: after the person's yes to setup_summary, or the approve_url status"New value: +"After the person's yes to setup_summary, or for the approve_url status"
    • removedInput schema / properties / form_html / maxLength
      Removed value: -204800
    • removedInput schema / properties / forms / additionalProperties
      Removed value: -{}
    • changedInput schema / properties / forms / description
      Previous value: -"Forms: the whole settings, as add_plugin forms (same as settings)"New value: +"Forms: as settings"
    • changedInput schema / properties / lang / description
      Previous value: -"The <html lang> of the page the snippet goes on (e.g. de): snippet_html then speaks it. One snippet per language on a multilingual site"New value: +"The <html lang> of the snippet's page (e.g. de); one snippet per language"
    • removedInput schema / properties / patch / additionalProperties
      Removed value: -{}
    • addedInput schema / properties / recipients / description
      Added value: +"{add: an extra inbox, for every site on the plan (needs Manage)}"
    • removedInput schema / properties / recipients / properties
      Removed value: -{
      -  "add": {
      -    "description": "An extra inbox for this kind of notification, for every site on the plan (needs permission to change access and settings)",
      -    "type": "string"
      -  }
      -}
    • removedInput schema / properties / recipients / required
      Removed value: -[
      -  "add"
      -]
    • removedInput schema / properties / settings / additionalProperties
      Removed value: -{}
    • changedInput schema / properties / site / description
      Previous value: -"Site name, e.g. brave-otter-4821"New value: +"Site name"
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": {},
      -  "properties": {
      -    "agent_message": {
      -      "type": "string"
      -    },
      -    "confirm_token": {
      -      "type": "string"
      -    },
      -    "error": {
      -      "description": "On failure (isError): {code, message}"
      -    }
      -  },
      -  "type": "object"
      -}New value: +null
  8. Changed1 schema field changed
    • addedInput schema / properties / forms
      Added value: +{
      +  "additionalProperties": {},
      +  "description": "Forms: the whole settings, as add_plugin forms (same as settings)",
      +  "type": "object"
      +}
  9. Changed1 schema field changed
    • changedInput schema / properties / confirm_token / description
      Previous value: -"From the first call: the approve_url status"New value: +"From the first call: after the person's yes to setup_summary, or the approve_url status"
  10. Changed1 schema field changed
    • addedInput schema / properties / form_html
      Added value: +{
      +  "maxLength": 204800,
      +  "type": "string"
      +}
  11. Changed1 schema field changed
    • addedInput schema / properties / lang
      Added value: +{
      +  "description": "The <html lang> of the page the snippet goes on (e.g. de): snippet_html then speaks it. One snippet per language on a multilingual site",
      +  "type": "string"
      +}
  12. Added

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already disclose destructive, non-idempotent, open-world behavior, so the description usefully adds operational context: settings are replaced wholesale, patch is merged, recipients adds an inbox per site, and certain changes return setup_summary, reply_to_email, or approve_url. It does not contradict the annotations, though it does not explain confirm_token or permission requirements.

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

Conciseness4/5

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

The description is compact and front-loads the core operation before covering field behavior and return effects. The semicolon-heavy second half is dense and slightly awkward, but every clause carries useful information.

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?

For an 11-parameter destructive update tool, the description covers the main mutation semantics and some output behavior. It still leaves meaningful gaps around confirm_token, permissions/confirmation expectations, and less central parameters like lang and forms, though the output schema and annotations reduce the overall burden.

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?

With only 45% schema description coverage, the description partially compensates by clarifying the important distinction between settings (whole) and patch (merged), the recipients semantics, and the status values. However, parameters such as lang, forms, confirm_token, site, and plugin_id remain undocumented in the description beyond the schema.

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 gives a specific verb and resource: 'Changes a plugin'. It also enumerates the main mutable fields, making clear this tool modifies an existing plugin rather than adding, removing, or listing one.

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?

The usage is implied by 'Changes a plugin' and the listed fields, but there is no explicit guidance on when to choose this over siblings like add_plugin, remove_plugin, or list_plugins. It lacks when-not-to-use or prerequisite guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources