Desk

Approved support answers, refund rules, and escalation limits for AI assistants, over MCP.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
98%
Vollständigkeit des Schemas
79%
Qualität der Benennung
100%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~2,872Tokens (Tool-Definitionen)
~1.5 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (2.24% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "desk": {
      "url": "https://desk-mcp.vercel.app/mcp"
    }
  }
}

Remote-Endpunkte

https://desk-mcp.vercel.app/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (13)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢list_support_desks(offset)

List this team's support desks. Use the returned id. Do not guess a desk.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 100000,
      "default": 0
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "data": {}
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_support_desk(name, description)

Create a support desk when the user asks for a new policy home. Does not approve answers, refunds, features, or timelines.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "description": {
      "type": "string",
      "maxLength": 4000
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "data": {}
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴save_approved_answer(deskId, topic, question, answer, status, ...)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "deskId": {
      "type": "string",
      "format": "uuid"
    },
    "topic": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "question": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "answer": {
      "type": "string",
      "minLength": 1,
      "maxLength": 8000
    },
    "status": {
      "type": "string",
      "enum": [
        "APPROVED",
        "RETIRED"
      ],
      "default": "APPROVED"
    },
    "expectedRevision": {
      "type": "integer",
      "exclusiveMinimum": 0
    }
  },
  "required": [
    "deskId",
    "topic",
    "question",
    "answer"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "data": {}
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢search_approved_answers(deskId, query, offset, includeRetired)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "deskId": {
      "type": "string",
      "format": "uuid"
    },
    "query": {
      "type": "string",
      "maxLength": 200,
      "default": ""
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 100000,
      "default": 0
    },
    "includeRetired": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "deskId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "data": {}
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴save_refund_rule(deskId, name, matchTerms, decision, remedy, ...)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "deskId": {
      "type": "string",
      "format": "uuid"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "matchTerms": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 120
      },
      "minItems": 1,
      "maxItems": 12
    },
    "decision": {
      "type": "string",
      "enum": [
        "ALLOW",
        "DENY"
      ]
    },
    "remedy": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4000
    },
    "windowDays": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": 0,
          "maximum": 3650
        },
        {
          "type": "null"
        }
      ]
    },
    "status": {
      "type": "string",
      "enum": [
        "APPROVED",
        "RETIRED"
      ],
      "default": "APPROVED"
    },
    "expectedRevision": {
      "type": "integer",
      "exclusiveMinimum": 0
    }
  },
  "required": [
    "deskId",
    "name",
    "matchTerms",
    "decision",
    "remedy"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "data": {}
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_refund_rules(deskId, includeRetired)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "deskId": {
      "type": "string",
      "format": "uuid"
    },
    "includeRetired": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "deskId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "data": {}
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴save_escalation_limit(deskId, name, channel, tierLadder, maxTier, ...)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "deskId": {
      "type": "string",
      "format": "uuid"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "channel": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    },
    "tierLadder": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 80
      },
      "minItems": 1,
      "maxItems": 8
    },
    "maxTier": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    },
    "allowRefundPromise": {
      "type": "boolean",
      "default": false
    },
    "allowFeaturePromise": {
      "type": "boolean",
      "default": false
    },
    "allowTimelinePromise": {
      "type": "boolean",
      "default": false
    },
    "notes": {
      "type": "string",
      "maxLength": 4000
    },
    "status": {
      "type": "string",
      "enum": [
        "APPROVED",
        "RETIRED"
      ],
      "default": "APPROVED"
    },
    "expectedRevision": {
      "type": "integer",
      "exclusiveMinimum": 0
    }
  },
  "required": [
    "deskId",
    "name",
    "channel",
    "tierLadder",
    "maxTier"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "data": {}
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_escalation_limits(deskId, includeRetired)

Read escalation limits. A channel with no APPROVED limit cannot promise a refund, feature, or timeline and cannot be given an invented escalation path.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "deskId": {
      "type": "string",
      "format": "uuid"
    },
    "includeRetired": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "deskId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "data": {}
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴save_approved_commitment(deskId, kind, name, statement, status, ...)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "deskId": {
      "type": "string",
      "format": "uuid"
    },
    "kind": {
      "type": "string",
      "enum": [
        "FEATURE",
        "TIMELINE"
      ]
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "statement": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2000
    },
    "status": {
      "type": "string",
      "enum": [
        "APPROVED",
        "RETIRED"
      ],
      "default": "APPROVED"
    },
    "expectedRevision": {
      "type": "integer",
      "exclusiveMinimum": 0
    }
  },
  "required": [
    "deskId",
    "kind",
    "name",
    "statement"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "data": {}
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_approved_commitments(deskId, kind, includeRetired)

Read approved feature and timeline statements. Listing them does not approve a different promise. Call evaluate_commitment with the exact wording before saying one.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "deskId": {
      "type": "string",
      "format": "uuid"
    },
    "kind": {
      "type": "string",
      "enum": [
        "FEATURE",
        "TIMELINE"
      ]
    },
    "includeRetired": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "deskId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "data": {}
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢evaluate_commitment(deskId, kind, proposal, channel)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "deskId": {
      "type": "string",
      "format": "uuid"
    },
    "kind": {
      "type": "string",
      "enum": [
        "REFUND",
        "FEATURE",
        "TIMELINE"
      ]
    },
    "proposal": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2000
    },
    "channel": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    }
  },
  "required": [
    "deskId",
    "kind",
    "proposal"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "data": {}
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢evaluate_escalation(deskId, channel, action, targetTier)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "deskId": {
      "type": "string",
      "format": "uuid"
    },
    "channel": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    },
    "action": {
      "type": "string",
      "enum": [
        "PROMISE_REFUND",
        "PROMISE_FEATURE",
        "PROMISE_TIMELINE",
        "ESCALATE"
      ]
    },
    "targetTier": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    }
  },
  "required": [
    "deskId",
    "channel",
    "action"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "data": {}
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_desk_context(deskId, question, limit)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "deskId": {
      "type": "string",
      "format": "uuid"
    },
    "question": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "default": 8
    }
  },
  "required": [
    "deskId",
    "question"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "data": {}
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet13 Tools