Skip to main content
Glama

Lovie Company Formation

List Rule Improvements

transaction_get_list_rule_improvements
Read-only

Propose how to fix one categorization rule people keep overruling: narrowing it so the corrected rows leave it, or splitting it so those rows go to the account people kept choosing instead. Each proposal names the fact that separates them (the merchant, the bank account or card, an amount boundary, or money in versus money out), carries the rule as it would stand, and says how many transactions it claims today, how many it would claim after, and how many corrections it addresses. Nothing is applied and no rule is changed: saving a proposal is a person's act through the Rules screen, where the approval gates run. Empty when no single fact separates the corrected rows from the rest. Read-only.

Input Schema

NameRequiredDescriptionDefault
ruleIdYesUUID value wrapper.
companyIdYesUUID value wrapper.

Output Schema

NameRequiredDescriptionDefault
improvementsNo
correctionCountNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedOutput schema / properties / improvements / items / properties / improvedRule / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "actionType": {
      -        "enum": [
      -          "RULE_ACTION_TYPE_UNSPECIFIED",
      -          "RULE_ACTION_TYPE_BOOK",
      -          "RULE_ACTION_TYPE_EXCLUDE",
      -          "RULE_ACTION_TYPE_SPLIT"
      -        ],
      -        "type": "string"
      -      },
      -      "actions": {
      -        "items": {
      -          "properties": {
      -            "fieldCode": {
      -              "type": "string"
      -            },
      -            "optionPath": {
      -              "type": "string"
      -            },
      -            "target": {
      -              "enum": [
      -                "RULE_ACTION_TARGET_UNSPECIFIED",
      -                "RULE_ACTION_TARGET_COUNTERPARTY",
      -                "RULE_ACTION_TARGET_TRANSACTION"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "amountMax": {
      -        "type": "string"
      -      },
      -      "amountMin": {
      -        "type": "string"
      -      },
      -      "appliedCount": {
      -        "type": "integer"
      -      },
      -      "appliedThisMonth": {
      -        "type": "integer"
      -      },
      -      "approvedAt": {
      -        "anyOf": [
      -          {
      -            "format": "date-time",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "approvedBy": {
      -        "anyOf": [
      -          {
      -            "description": "UUID value wrapper.",
      -            "properties": {
      -              "value": {
      -                "format": "uuid",
      -                "type": "string"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "autoAccept": {
      -        "type": "boolean"
      -      },
      -      "autoPostConsentedAt": {
      -        "anyOf": [
      -          {
      -            "format": "date-time",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "autoPostMaxAmount": {
      -        "type": "string"
      -      },
      -      "cleanBookingsInWindow": {
      -        "type": "integer"
      -      },
      -      "companyId": {
      -        "anyOf": [
      -          {
      -            "description": "UUID value wrapper.",
      -            "properties": {
      -              "value": {
      -                "format": "uuid",
      -                "type": "string"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "conditions": {
      -        "items": {
      -          "properties": {
      -            "amountMax": {
      -              "type": "string"
      -            },
      -            "amountMin": {
      -              "type": "string"
      -            },
      -            "group": {
      -              "type": "integer"
      -            },
      -            "kind": {
      -              "enum": [
      -                "RULE_CONDITION_KIND_UNSPECIFIED",
      -                "RULE_CONDITION_KIND_COUNTERPARTY",
      -                "RULE_CONDITION_KIND_NAME_CONTAINS",
      -                "RULE_CONDITION_KIND_DESCRIPTOR_REGEX",
      -                "RULE_CONDITION_KIND_MERCHANT_REGEX",
      -                "RULE_CONDITION_KIND_MCC",
      -                "RULE_CONDITION_KIND_PROVIDER",
      -                "RULE_CONDITION_KIND_ACCOUNT_ID",
      -                "RULE_CONDITION_KIND_CURRENCY",
      -                "RULE_CONDITION_KIND_AMOUNT_RANGE",
      -                "RULE_CONDITION_KIND_DIRECTION",
      -                "RULE_CONDITION_KIND_CARD",
      -                "RULE_CONDITION_KIND_TEAM_MEMBER",
      -                "RULE_CONDITION_KIND_CATEGORY",
      -                "RULE_CONDITION_KIND_ALL"
      -              ],
      -              "type": "string"
      -            },
      -            "negate": {
      -              "type": "boolean"
      -            },
      -            "reviewStatus": {
      -              "enum": [
      -                "RULE_CONDITION_REVIEW_STATUS_UNSPECIFIED",
      -                "RULE_CONDITION_REVIEW_STATUS_APPROVED",
      -                "RULE_CONDITION_REVIEW_STATUS_IN_REVIEW"
      -              ],
      -              "type": "string"
      -            },
      -            "textValue": {
      -              "type": "string"
      -            },
      -            "uuidValue": {
      -              "type": "string"
      -            }
      -          },
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "correctionCount": {
      -        "type": "integer"
      -      },
      -      "counterpartyId": {
      -        "anyOf": [
      -          {
      -            "description": "UUID value wrapper.",
      -            "properties": {
      -              "value": {
      -                "format": "uuid",
      -                "type": "string"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "createdAt": {
      -        "anyOf": [
      -          {
      -            "format": "date-time",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "dead": {
      -        "type": "boolean"
      -      },
      -      "direction": {
      -        "enum": [
      -          "RULE_DIRECTION_UNSPECIFIED",
      -          "RULE_DIRECTION_MONEY_IN",
      -          "RULE_DIRECTION_MONEY_OUT"
      -        ],
      -        "type": "string"
      -      },
      -      "glAccountPath": {
      -        "type": "string"
      -      },
      -      "id": {
      -        "anyOf": [
      -          {
      -            "description": "UUID value wrapper.",
      -            "properties": {
      -              "value": {
      -                "format": "uuid",
      -                "type": "string"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "isActive": {
      -        "type": "boolean"
      -      },
      -      "lastAppliedAt": {
      -        "anyOf": [
      -          {
      -            "format": "date-time",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "name": {
      -        "anyOf": [
      -          {
      -            "description": "Human-readable name (1-255 Unicode chars).",
      -            "properties": {
      -              "value": {
      -                "maxLength": 255,
      -                "minLength": 1,
      -                "type": "string"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "nameContains": {
      -        "type": "string"
      -      },
      -      "origin": {
      -        "enum": [
      -          "RULE_ORIGIN_UNSPECIFIED",
      -          "RULE_ORIGIN_USER",
      -          "RULE_ORIGIN_AI",
      -          "RULE_ORIGIN_PLATFORM",
      -          "RULE_ORIGIN_HABIT"
      -        ],
      -        "type": "string"
      -      },
      -      "posting": {
      -        "enum": [
      -          "RULE_POSTING_UNSPECIFIED",
      -          "RULE_POSTING_REVIEW",
      -          "RULE_POSTING_AUTO_POST"
      -        ],
      -        "type": "string"
      -      },
      -      "priority": {
      -        "type": "integer"
      -      },
      -      "proposalId": {
      -        "anyOf": [
      -          {
      -            "description": "UUID value wrapper.",
      -            "properties": {
      -              "value": {
      -                "format": "uuid",
      -                "type": "string"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "ruleCode": {
      -        "type": "string"
      -      },
      -      "splitLines": {
      -        "items": {
      -          "properties": {
      -            "glAccountPath": {
      -              "type": "string"
      -            },
      -            "isRemainder": {
      -              "type": "boolean"
      -            },
      -            "position": {
      -              "type": "integer"
      -            },
      -            "splitAmount": {
      -              "type": "string"
      -            },
      -            "splitPercent": {
      -              "type": "string"
      -            }
      -          },
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "status": {
      -        "enum": [
      -          "RULE_STATUS_UNSPECIFIED",
      -          "RULE_STATUS_DRAFT",
      -          "RULE_STATUS_ACTIVE",
      -          "RULE_STATUS_PAUSED",
      -          "RULE_STATUS_SUPERSEDED",
      -          "RULE_STATUS_REJECTED"
      -        ],
      -        "type": "string"
      -      },
      -      "trackRecordWindow": {
      -        "type": "integer"
      -      },
      -      "updatedAt": {
      -        "anyOf": [
      -          {
      -            "format": "date-time",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "version": {
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "companyId",
      -      "name"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "actionType": {
      +        "enum": [
      +          "RULE_ACTION_TYPE_UNSPECIFIED",
      +          "RULE_ACTION_TYPE_BOOK",
      +          "RULE_ACTION_TYPE_EXCLUDE",
      +          "RULE_ACTION_TYPE_SPLIT"
      +        ],
      +        "type": "string"
      +      },
      +      "actions": {
      +        "items": {
      +          "properties": {
      +            "fieldCode": {
      +              "type": "string"
      +            },
      +            "optionPath": {
      +              "type": "string"
      +            },
      +            "target": {
      +              "enum": [
      +                "RULE_ACTION_TARGET_UNSPECIFIED",
      +                "RULE_ACTION_TARGET_COUNTERPARTY",
      +                "RULE_ACTION_TARGET_TRANSACTION"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "amountMax": {
      +        "type": "string"
      +      },
      +      "amountMin": {
      +        "type": "string"
      +      },
      +      "appliedCount": {
      +        "type": "integer"
      +      },
      +      "appliedThisMonth": {
      +        "type": "integer"
      +      },
      +      "approvedAt": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "approvedBy": {
      +        "anyOf": [
      +          {
      +            "description": "UUID value wrapper.",
      +            "properties": {
      +              "value": {
      +                "format": "uuid",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "autoAccept": {
      +        "type": "boolean"
      +      },
      +      "autoPostConsentedAt": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "autoPostMaxAmount": {
      +        "type": "string"
      +      },
      +      "category": {
      +        "anyOf": [
      +          {
      +            "properties": {
      +              "key": {
      +                "anyOf": [
      +                  {
      +                    "description": "Lowercase kebab-case code identifier.",
      +                    "properties": {
      +                      "value": {
      +                        "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "type": "object"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "ownerKey": {
      +                "type": "string"
      +              },
      +              "ownerType": {
      +                "enum": [
      +                  "OWNER_TYPE_UNSPECIFIED",
      +                  "OWNER_TYPE_SYSTEM",
      +                  "OWNER_TYPE_COMPANY",
      +                  "OWNER_TYPE_INTEGRATION"
      +                ],
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "key"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "cleanBookingsInWindow": {
      +        "type": "integer"
      +      },
      +      "companyId": {
      +        "anyOf": [
      +          {
      +            "description": "UUID value wrapper.",
      +            "properties": {
      +              "value": {
      +                "format": "uuid",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "conditions": {
      +        "items": {
      +          "properties": {
      +            "amountMax": {
      +              "type": "string"
      +            },
      +            "amountMin": {
      +              "type": "string"
      +            },
      +            "group": {
      +              "type": "integer"
      +            },
      +            "kind": {
      +              "enum": [
      +                "RULE_CONDITION_KIND_UNSPECIFIED",
      +                "RULE_CONDITION_KIND_COUNTERPARTY",
      +                "RULE_CONDITION_KIND_NAME_CONTAINS",
      +                "RULE_CONDITION_KIND_DESCRIPTOR_REGEX",
      +                "RULE_CONDITION_KIND_MERCHANT_REGEX",
      +                "RULE_CONDITION_KIND_MCC",
      +                "RULE_CONDITION_KIND_PROVIDER",
      +                "RULE_CONDITION_KIND_ACCOUNT_ID",
      +                "RULE_CONDITION_KIND_CURRENCY",
      +                "RULE_CONDITION_KIND_AMOUNT_RANGE",
      +                "RULE_CONDITION_KIND_DIRECTION",
      +                "RULE_CONDITION_KIND_CARD",
      +                "RULE_CONDITION_KIND_TEAM_MEMBER",
      +                "RULE_CONDITION_KIND_CATEGORY",
      +                "RULE_CONDITION_KIND_ALL"
      +              ],
      +              "type": "string"
      +            },
      +            "negate": {
      +              "type": "boolean"
      +            },
      +            "reviewStatus": {
      +              "enum": [
      +                "RULE_CONDITION_REVIEW_STATUS_UNSPECIFIED",
      +                "RULE_CONDITION_REVIEW_STATUS_APPROVED",
      +                "RULE_CONDITION_REVIEW_STATUS_IN_REVIEW"
      +              ],
      +              "type": "string"
      +            },
      +            "textValue": {
      +              "type": "string"
      +            },
      +            "uuidValue": {
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "correctionCount": {
      +        "type": "integer"
      +      },
      +      "counterpartyId": {
      +        "anyOf": [
      +          {
      +            "description": "UUID value wrapper.",
      +            "properties": {
      +              "value": {
      +                "format": "uuid",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "createdAt": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "dead": {
      +        "type": "boolean"
      +      },
      +      "direction": {
      +        "enum": [
      +          "RULE_DIRECTION_UNSPECIFIED",
      +          "RULE_DIRECTION_MONEY_IN",
      +          "RULE_DIRECTION_MONEY_OUT"
      +        ],
      +        "type": "string"
      +      },
      +      "glAccountPath": {
      +        "type": "string"
      +      },
      +      "id": {
      +        "anyOf": [
      +          {
      +            "description": "UUID value wrapper.",
      +            "properties": {
      +              "value": {
      +                "format": "uuid",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "isActive": {
      +        "type": "boolean"
      +      },
      +      "lastAppliedAt": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "name": {
      +        "anyOf": [
      +          {
      +            "description": "Human-readable name (1-255 Unicode chars).",
      +            "properties": {
      +              "value": {
      +                "maxLength": 255,
      +                "minLength": 1,
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "nameContains": {
      +        "type": "string"
      +      },
      +      "origin": {
      +        "enum": [
      +          "RULE_ORIGIN_UNSPECIFIED",
      +          "RULE_ORIGIN_USER",
      +          "RULE_ORIGIN_AI",
      +          "RULE_ORIGIN_PLATFORM",
      +          "RULE_ORIGIN_HABIT"
      +        ],
      +        "type": "string"
      +      },
      +      "posting": {
      +        "enum": [
      +          "RULE_POSTING_UNSPECIFIED",
      +          "RULE_POSTING_REVIEW",
      +          "RULE_POSTING_AUTO_POST"
      +        ],
      +        "type": "string"
      +      },
      +      "priority": {
      +        "type": "integer"
      +      },
      +      "proposalId": {
      +        "anyOf": [
      +          {
      +            "description": "UUID value wrapper.",
      +            "properties": {
      +              "value": {
      +                "format": "uuid",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "ruleCode": {
      +        "type": "string"
      +      },
      +      "splitLines": {
      +        "items": {
      +          "properties": {
      +            "glAccountPath": {
      +              "type": "string"
      +            },
      +            "isRemainder": {
      +              "type": "boolean"
      +            },
      +            "position": {
      +              "type": "integer"
      +            },
      +            "splitAmount": {
      +              "type": "string"
      +            },
      +            "splitPercent": {
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "status": {
      +        "enum": [
      +          "RULE_STATUS_UNSPECIFIED",
      +          "RULE_STATUS_DRAFT",
      +          "RULE_STATUS_ACTIVE",
      +          "RULE_STATUS_PAUSED",
      +          "RULE_STATUS_SUPERSEDED",
      +          "RULE_STATUS_REJECTED"
      +        ],
      +        "type": "string"
      +      },
      +      "trackRecordWindow": {
      +        "type": "integer"
      +      },
      +      "updatedAt": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "version": {
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "companyId",
      +      "name"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / improvements / items / properties / splitRule / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "actionType": {
      -        "enum": [
      -          "RULE_ACTION_TYPE_UNSPECIFIED",
      -          "RULE_ACTION_TYPE_BOOK",
      -          "RULE_ACTION_TYPE_EXCLUDE",
      -          "RULE_ACTION_TYPE_SPLIT"
      -        ],
      -        "type": "string"
      -      },
      -      "actions": {
      -        "items": {
      -          "properties": {
      -            "fieldCode": {
      -              "type": "string"
      -            },
      -            "optionPath": {
      -              "type": "string"
      -            },
      -            "target": {
      -              "enum": [
      -                "RULE_ACTION_TARGET_UNSPECIFIED",
      -                "RULE_ACTION_TARGET_COUNTERPARTY",
      -                "RULE_ACTION_TARGET_TRANSACTION"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "amountMax": {
      -        "type": "string"
      -      },
      -      "amountMin": {
      -        "type": "string"
      -      },
      -      "appliedCount": {
      -        "type": "integer"
      -      },
      -      "appliedThisMonth": {
      -        "type": "integer"
      -      },
      -      "approvedAt": {
      -        "anyOf": [
      -          {
      -            "format": "date-time",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "approvedBy": {
      -        "anyOf": [
      -          {
      -            "description": "UUID value wrapper.",
      -            "properties": {
      -              "value": {
      -                "format": "uuid",
      -                "type": "string"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "autoAccept": {
      -        "type": "boolean"
      -      },
      -      "autoPostConsentedAt": {
      -        "anyOf": [
      -          {
      -            "format": "date-time",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "autoPostMaxAmount": {
      -        "type": "string"
      -      },
      -      "cleanBookingsInWindow": {
      -        "type": "integer"
      -      },
      -      "companyId": {
      -        "anyOf": [
      -          {
      -            "description": "UUID value wrapper.",
      -            "properties": {
      -              "value": {
      -                "format": "uuid",
      -                "type": "string"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "conditions": {
      -        "items": {
      -          "properties": {
      -            "amountMax": {
      -              "type": "string"
      -            },
      -            "amountMin": {
      -              "type": "string"
      -            },
      -            "group": {
      -              "type": "integer"
      -            },
      -            "kind": {
      -              "enum": [
      -                "RULE_CONDITION_KIND_UNSPECIFIED",
      -                "RULE_CONDITION_KIND_COUNTERPARTY",
      -                "RULE_CONDITION_KIND_NAME_CONTAINS",
      -                "RULE_CONDITION_KIND_DESCRIPTOR_REGEX",
      -                "RULE_CONDITION_KIND_MERCHANT_REGEX",
      -                "RULE_CONDITION_KIND_MCC",
      -                "RULE_CONDITION_KIND_PROVIDER",
      -                "RULE_CONDITION_KIND_ACCOUNT_ID",
      -                "RULE_CONDITION_KIND_CURRENCY",
      -                "RULE_CONDITION_KIND_AMOUNT_RANGE",
      -                "RULE_CONDITION_KIND_DIRECTION",
      -                "RULE_CONDITION_KIND_CARD",
      -                "RULE_CONDITION_KIND_TEAM_MEMBER",
      -                "RULE_CONDITION_KIND_CATEGORY",
      -                "RULE_CONDITION_KIND_ALL"
      -              ],
      -              "type": "string"
      -            },
      -            "negate": {
      -              "type": "boolean"
      -            },
      -            "reviewStatus": {
      -              "enum": [
      -                "RULE_CONDITION_REVIEW_STATUS_UNSPECIFIED",
      -                "RULE_CONDITION_REVIEW_STATUS_APPROVED",
      -                "RULE_CONDITION_REVIEW_STATUS_IN_REVIEW"
      -              ],
      -              "type": "string"
      -            },
      -            "textValue": {
      -              "type": "string"
      -            },
      -            "uuidValue": {
      -              "type": "string"
      -            }
      -          },
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "correctionCount": {
      -        "type": "integer"
      -      },
      -      "counterpartyId": {
      -        "anyOf": [
      -          {
      -            "description": "UUID value wrapper.",
      -            "properties": {
      -              "value": {
      -                "format": "uuid",
      -                "type": "string"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "createdAt": {
      -        "anyOf": [
      -          {
      -            "format": "date-time",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "dead": {
      -        "type": "boolean"
      -      },
      -      "direction": {
      -        "enum": [
      -          "RULE_DIRECTION_UNSPECIFIED",
      -          "RULE_DIRECTION_MONEY_IN",
      -          "RULE_DIRECTION_MONEY_OUT"
      -        ],
      -        "type": "string"
      -      },
      -      "glAccountPath": {
      -        "type": "string"
      -      },
      -      "id": {
      -        "anyOf": [
      -          {
      -            "description": "UUID value wrapper.",
      -            "properties": {
      -              "value": {
      -                "format": "uuid",
      -                "type": "string"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "isActive": {
      -        "type": "boolean"
      -      },
      -      "lastAppliedAt": {
      -        "anyOf": [
      -          {
      -            "format": "date-time",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "name": {
      -        "anyOf": [
      -          {
      -            "description": "Human-readable name (1-255 Unicode chars).",
      -            "properties": {
      -              "value": {
      -                "maxLength": 255,
      -                "minLength": 1,
      -                "type": "string"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "nameContains": {
      -        "type": "string"
      -      },
      -      "origin": {
      -        "enum": [
      -          "RULE_ORIGIN_UNSPECIFIED",
      -          "RULE_ORIGIN_USER",
      -          "RULE_ORIGIN_AI",
      -          "RULE_ORIGIN_PLATFORM",
      -          "RULE_ORIGIN_HABIT"
      -        ],
      -        "type": "string"
      -      },
      -      "posting": {
      -        "enum": [
      -          "RULE_POSTING_UNSPECIFIED",
      -          "RULE_POSTING_REVIEW",
      -          "RULE_POSTING_AUTO_POST"
      -        ],
      -        "type": "string"
      -      },
      -      "priority": {
      -        "type": "integer"
      -      },
      -      "proposalId": {
      -        "anyOf": [
      -          {
      -            "description": "UUID value wrapper.",
      -            "properties": {
      -              "value": {
      -                "format": "uuid",
      -                "type": "string"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "ruleCode": {
      -        "type": "string"
      -      },
      -      "splitLines": {
      -        "items": {
      -          "properties": {
      -            "glAccountPath": {
      -              "type": "string"
      -            },
      -            "isRemainder": {
      -              "type": "boolean"
      -            },
      -            "position": {
      -              "type": "integer"
      -            },
      -            "splitAmount": {
      -              "type": "string"
      -            },
      -            "splitPercent": {
      -              "type": "string"
      -            }
      -          },
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "status": {
      -        "enum": [
      -          "RULE_STATUS_UNSPECIFIED",
      -          "RULE_STATUS_DRAFT",
      -          "RULE_STATUS_ACTIVE",
      -          "RULE_STATUS_PAUSED",
      -          "RULE_STATUS_SUPERSEDED",
      -          "RULE_STATUS_REJECTED"
      -        ],
      -        "type": "string"
      -      },
      -      "trackRecordWindow": {
      -        "type": "integer"
      -      },
      -      "updatedAt": {
      -        "anyOf": [
      -          {
      -            "format": "date-time",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "version": {
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "companyId",
      -      "name"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "actionType": {
      +        "enum": [
      +          "RULE_ACTION_TYPE_UNSPECIFIED",
      +          "RULE_ACTION_TYPE_BOOK",
      +          "RULE_ACTION_TYPE_EXCLUDE",
      +          "RULE_ACTION_TYPE_SPLIT"
      +        ],
      +        "type": "string"
      +      },
      +      "actions": {
      +        "items": {
      +          "properties": {
      +            "fieldCode": {
      +              "type": "string"
      +            },
      +            "optionPath": {
      +              "type": "string"
      +            },
      +            "target": {
      +              "enum": [
      +                "RULE_ACTION_TARGET_UNSPECIFIED",
      +                "RULE_ACTION_TARGET_COUNTERPARTY",
      +                "RULE_ACTION_TARGET_TRANSACTION"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "amountMax": {
      +        "type": "string"
      +      },
      +      "amountMin": {
      +        "type": "string"
      +      },
      +      "appliedCount": {
      +        "type": "integer"
      +      },
      +      "appliedThisMonth": {
      +        "type": "integer"
      +      },
      +      "approvedAt": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "approvedBy": {
      +        "anyOf": [
      +          {
      +            "description": "UUID value wrapper.",
      +            "properties": {
      +              "value": {
      +                "format": "uuid",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "autoAccept": {
      +        "type": "boolean"
      +      },
      +      "autoPostConsentedAt": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "autoPostMaxAmount": {
      +        "type": "string"
      +      },
      +      "category": {
      +        "anyOf": [
      +          {
      +            "properties": {
      +              "key": {
      +                "anyOf": [
      +                  {
      +                    "description": "Lowercase kebab-case code identifier.",
      +                    "properties": {
      +                      "value": {
      +                        "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "type": "object"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "ownerKey": {
      +                "type": "string"
      +              },
      +              "ownerType": {
      +                "enum": [
      +                  "OWNER_TYPE_UNSPECIFIED",
      +                  "OWNER_TYPE_SYSTEM",
      +                  "OWNER_TYPE_COMPANY",
      +                  "OWNER_TYPE_INTEGRATION"
      +                ],
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "key"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "cleanBookingsInWindow": {
      +        "type": "integer"
      +      },
      +      "companyId": {
      +        "anyOf": [
      +          {
      +            "description": "UUID value wrapper.",
      +            "properties": {
      +              "value": {
      +                "format": "uuid",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "conditions": {
      +        "items": {
      +          "properties": {
      +            "amountMax": {
      +              "type": "string"
      +            },
      +            "amountMin": {
      +              "type": "string"
      +            },
      +            "group": {
      +              "type": "integer"
      +            },
      +            "kind": {
      +              "enum": [
      +                "RULE_CONDITION_KIND_UNSPECIFIED",
      +                "RULE_CONDITION_KIND_COUNTERPARTY",
      +                "RULE_CONDITION_KIND_NAME_CONTAINS",
      +                "RULE_CONDITION_KIND_DESCRIPTOR_REGEX",
      +                "RULE_CONDITION_KIND_MERCHANT_REGEX",
      +                "RULE_CONDITION_KIND_MCC",
      +                "RULE_CONDITION_KIND_PROVIDER",
      +                "RULE_CONDITION_KIND_ACCOUNT_ID",
      +                "RULE_CONDITION_KIND_CURRENCY",
      +                "RULE_CONDITION_KIND_AMOUNT_RANGE",
      +                "RULE_CONDITION_KIND_DIRECTION",
      +                "RULE_CONDITION_KIND_CARD",
      +                "RULE_CONDITION_KIND_TEAM_MEMBER",
      +                "RULE_CONDITION_KIND_CATEGORY",
      +                "RULE_CONDITION_KIND_ALL"
      +              ],
      +              "type": "string"
      +            },
      +            "negate": {
      +              "type": "boolean"
      +            },
      +            "reviewStatus": {
      +              "enum": [
      +                "RULE_CONDITION_REVIEW_STATUS_UNSPECIFIED",
      +                "RULE_CONDITION_REVIEW_STATUS_APPROVED",
      +                "RULE_CONDITION_REVIEW_STATUS_IN_REVIEW"
      +              ],
      +              "type": "string"
      +            },
      +            "textValue": {
      +              "type": "string"
      +            },
      +            "uuidValue": {
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "correctionCount": {
      +        "type": "integer"
      +      },
      +      "counterpartyId": {
      +        "anyOf": [
      +          {
      +            "description": "UUID value wrapper.",
      +            "properties": {
      +              "value": {
      +                "format": "uuid",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "createdAt": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "dead": {
      +        "type": "boolean"
      +      },
      +      "direction": {
      +        "enum": [
      +          "RULE_DIRECTION_UNSPECIFIED",
      +          "RULE_DIRECTION_MONEY_IN",
      +          "RULE_DIRECTION_MONEY_OUT"
      +        ],
      +        "type": "string"
      +      },
      +      "glAccountPath": {
      +        "type": "string"
      +      },
      +      "id": {
      +        "anyOf": [
      +          {
      +            "description": "UUID value wrapper.",
      +            "properties": {
      +              "value": {
      +                "format": "uuid",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "isActive": {
      +        "type": "boolean"
      +      },
      +      "lastAppliedAt": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "name": {
      +        "anyOf": [
      +          {
      +            "description": "Human-readable name (1-255 Unicode chars).",
      +            "properties": {
      +              "value": {
      +                "maxLength": 255,
      +                "minLength": 1,
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "nameContains": {
      +        "type": "string"
      +      },
      +      "origin": {
      +        "enum": [
      +          "RULE_ORIGIN_UNSPECIFIED",
      +          "RULE_ORIGIN_USER",
      +          "RULE_ORIGIN_AI",
      +          "RULE_ORIGIN_PLATFORM",
      +          "RULE_ORIGIN_HABIT"
      +        ],
      +        "type": "string"
      +      },
      +      "posting": {
      +        "enum": [
      +          "RULE_POSTING_UNSPECIFIED",
      +          "RULE_POSTING_REVIEW",
      +          "RULE_POSTING_AUTO_POST"
      +        ],
      +        "type": "string"
      +      },
      +      "priority": {
      +        "type": "integer"
      +      },
      +      "proposalId": {
      +        "anyOf": [
      +          {
      +            "description": "UUID value wrapper.",
      +            "properties": {
      +              "value": {
      +                "format": "uuid",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "ruleCode": {
      +        "type": "string"
      +      },
      +      "splitLines": {
      +        "items": {
      +          "properties": {
      +            "glAccountPath": {
      +              "type": "string"
      +            },
      +            "isRemainder": {
      +              "type": "boolean"
      +            },
      +            "position": {
      +              "type": "integer"
      +            },
      +            "splitAmount": {
      +              "type": "string"
      +            },
      +            "splitPercent": {
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "status": {
      +        "enum": [
      +          "RULE_STATUS_UNSPECIFIED",
      +          "RULE_STATUS_DRAFT",
      +          "RULE_STATUS_ACTIVE",
      +          "RULE_STATUS_PAUSED",
      +          "RULE_STATUS_SUPERSEDED",
      +          "RULE_STATUS_REJECTED"
      +        ],
      +        "type": "string"
      +      },
      +      "trackRecordWindow": {
      +        "type": "integer"
      +      },
      +      "updatedAt": {
      +        "anyOf": [
      +          {
      +            "format": "date-time",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "version": {
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "companyId",
      +      "name"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Added

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, but the description adds useful non-duplicative context: nothing is applied, no rule is changed, saving is a person's act through the Rules screen where approval gates run, and the result is empty when no separating fact exists. This goes beyond the annotations by explaining the safety boundary and the empty-result behavior. It does not detail rate limits or pagination, hence not a 5.

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 front-loaded with the core action and is structured from what a proposal is, through what each proposal contains, to the no-side-effects warning and empty-result condition. It is longer than many tool descriptions but appropriately sized for a complex proposal concept. Some clauses are dense and could be tightened.

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?

Given that an output schema exists and annotations already flag the tool as read-only and non-destructive, the description supplies the important missing behavioral context: what proposals contain, that nothing is applied, where saving happens, and when the result is empty. It is complete enough for an agent to call it correctly. It could be slightly stronger by explicitly differentiating sibling proposal-list tools.

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 coverage is 100%, so the baseline is 3. The description references 'one categorization rule' and the company context implicitly, but it does not add syntax, format, or meaning beyond what the input schema already provides. The schema itself has generic 'UUID value wrapper' descriptions, and the tool description does not compensate for that.

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

Purpose4/5

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

The description states a specific action and resource: proposing improvements to a single categorization rule that people keep overruling, including narrowing or splitting it. It explains what each proposal contains, so an agent can tell this is a proposal-listing tool rather than a mutation tool. It does not name or distinguish itself from nearby siblings such as transaction_get_list_rule_proposals or transaction_get_list_rule_suggestions, which keeps it from a 5.

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?

It clearly states that this is read-only and that saving a proposal must happen separately as a person's act through the Rules screen. It also gives the edge condition: empty when no single fact separates corrected rows. However, it never explicitly says when to use this versus the many other rule-related list tools, so usage is implied rather than fully guided.

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.