Propose or save the Rules
Change the Rules. Only the fields you send change; lists replace the stored list. From an agent this becomes a proposal a person accepts.
Behavior
- Read-only hint
- Not declared
- Destructive hint
- Not declared
- Idempotent hint
- Not declared
- Open-world hint
- Not declared
Parameters
| Name | Type | Requirement | Description |
|---|---|---|---|
workspaceId | string | Required | The workspace id or slug (from workspace_list). |
neverSay | array | Optional | Topics and claims never to make. |
claimsNeedProof | array | Optional | Claims that need proof first. |
compliance | array | Optional | Legal and platform constraints. |
confidential | array | Optional | Never share these. |
requiresApproval | array | Optional | Actions that wait for a person. |
notes | string | Optional | Nuance no list holds (Markdown). Replaces the stored notes. |
reason | string | Required | Why this change helps, in one or two sentences. Shown to the person who accepts it. |
Input JSON Schema
Generated from the registered input schema
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"minLength": 1,
"description": "The workspace id or slug (from workspace_list)."
},
"neverSay": {
"description": "Topics and claims never to make.",
"maxItems": 60,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 400
}
},
"claimsNeedProof": {
"description": "Claims that need proof first.",
"maxItems": 24,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 400
}
},
"compliance": {
"description": "Legal and platform constraints.",
"maxItems": 24,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 400
}
},
"confidential": {
"description": "Never share these.",
"maxItems": 24,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 400
}
},
"requiresApproval": {
"description": "Actions that wait for a person.",
"maxItems": 24,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 400
}
},
"notes": {
"description": "Nuance no list holds (Markdown). Replaces the stored notes.",
"type": "string",
"maxLength": 60000
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 1000,
"description": "Why this change helps, in one or two sentences. Shown to the person who accepts it."
}
},
"required": [
"workspaceId",
"reason"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Call shape
Use an MCP client rather than sending this JSON directly. The client handles protocol negotiation, sessions, and authentication.
Protocol request
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "rules_upsert",
"arguments": {}
}
}