
Customer support answers, refund rules, and escalation limits for AI assistants
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Create a support desk when the user asks for a new policy home. Does not approve answers, refunds, features, or timelines.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Create a support desk when the user asks for a new policy home. Does not approve answers, refunds, features, or timelines.
| Argument | Type | Description |
|---|---|---|
| name* | string | |
| description | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"description": {
"type": "string",
"maxLength": 4000
}
},
"additionalProperties": false
}Decide whether a proposed refund, feature, or timeline is in the approved set. REFUSED means do not say it, do not invent a substitute, and draft for human review instead of promising the customer. APPROVED means sayOnly is the only permitted wording. Pass channel to also enforce the escalation limit.
| Argument | Type | Description |
|---|---|---|
| kind* | string | |
| deskId* | string | |
| channel | string | |
| proposal* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"deskId",
"kind",
"proposal"
],
"properties": {
"kind": {
"enum": [
"REFUND",
"FEATURE",
"TIMELINE"
],
"type": "string"
},
"deskId": {
"type": "string",
"format": "uuid"
},
"channel": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"proposal": {
"type": "string",
"maxLength": 2000,
"minLength": 1
}
},
"additionalProperties": false
}Decide whether this channel may escalate or may promise a refund, feature, or timeline. REFUSED means do not escalate, do not invent a tier, and draft for human review instead of promising the customer. Permission to promise still requires evaluate_commitment for the exact wording.
| Argument | Type | Description |
|---|---|---|
| action* | string | |
| deskId* | string | |
| channel* | string | |
| targetTier | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"deskId",
"channel",
"action"
],
"properties": {
"action": {
"enum": [
"PROMISE_REFUND",
"PROMISE_FEATURE",
"PROMISE_TIMELINE",
"ESCALATE"
],
"type": "string"
},
"deskId": {
"type": "string",
"format": "uuid"
},
"channel": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"targetTier": {
"type": "string",
"maxLength": 80,
"minLength": 1
}
},
"additionalProperties": false
}Retrieve selected approved answers for a customer question, plus the desk's approved refund rules, commitments, and escalation limits. This is evidence, not permission. A missing or RETIRED answer is not an invitation to invent one. Call evaluate_commitment before promising a refund, feature, or timeline. If tools fail or return gaps or REFUSED, draft for human review instead of promising the customer.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| deskId* | string | |
| question* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"deskId",
"question"
],
"properties": {
"limit": {
"type": "integer",
"default": 8,
"maximum": 20,
"minimum": 1
},
"deskId": {
"type": "string",
"format": "uuid"
},
"question": {
"type": "string",
"maxLength": 500,
"minLength": 1
}
},
"additionalProperties": false
}Read approved feature and timeline statements. Listing them does not approve a different promise. Call evaluate_commitment with the exact wording before saying one.
| Argument | Type | Description |
|---|---|---|
| kind | string | |
| deskId* | string | |
| includeRetired | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"deskId"
],
"properties": {
"kind": {
"enum": [
"FEATURE",
"TIMELINE"
],
"type": "string"
},
"deskId": {
"type": "string",
"format": "uuid"
},
"includeRetired": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
}Read escalation limits. A channel with no APPROVED limit cannot promise a refund, feature, or timeline and cannot be given an invented escalation path.
| Argument | Type | Description |
|---|---|---|
| deskId* | string | |
| includeRetired | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"deskId"
],
"properties": {
"deskId": {
"type": "string",
"format": "uuid"
},
"includeRetired": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
}Read refund rules on a desk. Only APPROVED rules can authorize wording, and only through evaluate_commitment. Do not treat this list as permission to invent a refund.
| Argument | Type | Description |
|---|---|---|
| deskId* | string | |
| includeRetired | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"deskId"
],
"properties": {
"deskId": {
"type": "string",
"format": "uuid"
},
"includeRetired": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
}List this team's support desks. Use the returned id. Do not guess a desk.
| Argument | Type | Description |
|---|---|---|
| offset | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"offset": {
"type": "integer",
"default": 0,
"maximum": 100000,
"minimum": 0
}
},
"additionalProperties": false
}Store or revise an answer the user has explicitly approved. Identical retries keep the same revision. A changed answer requires expectedRevision from a previous read.
| Argument | Type | Description |
|---|---|---|
| topic* | string | |
| answer* | string | |
| deskId* | string | |
| status | string | |
| question* | string | |
| expectedRevision | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"deskId",
"topic",
"question",
"answer"
],
"properties": {
"topic": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"answer": {
"type": "string",
"maxLength": 8000,
"minLength": 1
},
"deskId": {
"type": "string",
"format": "uuid"
},
"status": {
"enum": [
"APPROVED",
"RETIRED"
],
"type": "string",
"default": "APPROVED"
},
"question": {
"type": "string",
"maxLength": 500,
"minLength": 1
},
"expectedRevision": {
"type": "integer",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Store a feature or timeline statement the user has explicitly approved. The statement is the only wording that can later pass evaluate_commitment. Do not save a date or a feature the user did not approve.
| Argument | Type | Description |
|---|---|---|
| kind* | string | |
| name* | string | |
| deskId* | string | |
| status | string | |
| statement* | string | |
| expectedRevision | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"deskId",
"kind",
"name",
"statement"
],
"properties": {
"kind": {
"enum": [
"FEATURE",
"TIMELINE"
],
"type": "string"
},
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"deskId": {
"type": "string",
"format": "uuid"
},
"status": {
"enum": [
"APPROVED",
"RETIRED"
],
"type": "string",
"default": "APPROVED"
},
"statement": {
"type": "string",
"maxLength": 2000,
"minLength": 1
},
"expectedRevision": {
"type": "integer",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Store the escalation limit the user has explicitly approved for one channel. maxTier must be on tierLadder. Promise flags default closed unless the user sets them true. A limit does not itself approve refund, feature, or timeline wording.
| Argument | Type | Description |
|---|---|---|
| name* | string | |
| notes | string | |
| deskId* | string | |
| status | string | |
| channel* | string | |
| maxTier* | string | |
| tierLadder* | array | |
| expectedRevision | integer | |
| allowRefundPromise | boolean | |
| allowFeaturePromise |
Store a refund rule the user has explicitly approved. matchTerms must name a specific situation. The word refund alone is not a rule. remedy is the only wording that may later be approved. decision ALLOW grants that wording. decision DENY refuses a refund and records the denial script.
| Argument | Type | Description |
|---|---|---|
| name* | string | |
| deskId* | string | |
| remedy* | string | |
| status | string | |
| decision* | string | |
| matchTerms* | array | |
| windowDays | any | |
| expectedRevision | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"deskId",
"name",
"matchTerms",
"decision",
"remedy"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"deskId": {
"type": "string",
"format": "uuid"
},
"remedy": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"status": {
"enum": [
"APPROVED",
"RETIRED"
],
"type": "string",
"default": "APPROVED"
},
"decision": {
"enum": [
"ALLOW",
"DENY"
],
"type": "string"
},
"matchTerms": {
"type": "array",
"items": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"maxItems": 12,
"minItems": 1
},
"windowDays": {
"anyOf": [
{
"type": "integer",
"maximum": 3650,
"minimum": 0
},
{
"type": "null"
}
]
},
"expectedRevision": {
"type": "integer",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Look up approved answers by topic, question, or answer text. An empty result means there is no approved answer. Draft for human review; do not invent one or promise the customer. Page with offset.
| Argument | Type | Description |
|---|---|---|
| query | string | |
| deskId* | string | |
| offset | integer | |
| includeRetired | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"deskId"
],
"properties": {
"query": {
"type": "string",
"default": "",
"maxLength": 200
},
"deskId": {
"type": "string",
"format": "uuid"
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 100000,
"minimum": 0
},
"includeRetired": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
}| boolean |
| allowTimelinePromise | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"deskId",
"name",
"channel",
"tierLadder",
"maxTier"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"notes": {
"type": "string",
"maxLength": 4000
},
"deskId": {
"type": "string",
"format": "uuid"
},
"status": {
"enum": [
"APPROVED",
"RETIRED"
],
"type": "string",
"default": "APPROVED"
},
"channel": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"maxTier": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"tierLadder": {
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"maxItems": 8,
"minItems": 1
},
"expectedRevision": {
"type": "integer",
"exclusiveMinimum": 0
},
"allowRefundPromise": {
"type": "boolean",
"default": false
},
"allowFeaturePromise": {
"type": "boolean",
"default": false
},
"allowTimelinePromise": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
}