Supovia Customer Support

Reply to and resolve customer chats, search your help docs and see which conversations need you.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
84%
이름 품질
96%
오염 위험
100%
권한 일치
80%
프로토콜 준수
100%

발견 사항 (4)

  • LOWTool 'get_unresolved_conversation_counts' name length outside 3-30 rangeget_unresolved_conversation_counts에서
  • LOWTool 'open_customer_inbox_conversation' name length outside 3-30 rangeopen_customer_inbox_conversation에서
  • LOWTool 'list_websites' suggests web access but openWorldHint=falselist_websites에서
  • LOWTool 'get_website' suggests web access but openWorldHint=falseget_website에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~5,405토큰 (도구 정의)
~3.4 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 4.22%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "supovia": {
      "url": "https://mcp.supovia.com/mcp"
    }
  }
}

원격 엔드포인트

https://mcp.supovia.com/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (14)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢list_websites(limit, cursor)

List a bounded page of websites in the authenticated Supovia organization. Only safe website identity and status fields are returned; prompts, credentials, integration configuration, organization ids, and arbitrary metadata are excluded.

입력 스키마

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 50
    },
    "cursor": {
      "type": "string",
      "maxLength": 4096,
      "description": "Opaque pagination cursor from a previous call"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "websites": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ]
          },
          "domain": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 253
              },
              {
                "type": "null"
              }
            ]
          },
          "agentEnabled": {
            "type": "boolean"
          },
          "creationTime": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 32
              },
              {
                "type": "null"
              }
            ]
          },
          "lastEditTime": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 32
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "name",
          "domain",
          "agentEnabled",
          "creationTime",
          "lastEditTime"
        ],
        "additionalProperties": false
      },
      "maxItems": 50
    },
    "page": {
      "type": "object",
      "properties": {
        "count": {
          "type": "integer",
          "minimum": 0,
          "maximum": 50
        },
        "hasMore": {
          "type": "boolean"
        },
        "nextCursor": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 4096
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "count",
        "hasMore",
        "nextCursor"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "websites",
    "page"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_website(idOrName)

Fetch safe metadata for one website owned by the authenticated Supovia organization. Organization ids, agent prompts, credentials, integration configuration, and arbitrary metadata are never returned.

입력 스키마

{
  "type": "object",
  "properties": {
    "idOrName": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Website id, exact vanity ID, or exact display name"
    }
  },
  "required": [
    "idOrName"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "found",
        "not-found"
      ]
    },
    "website": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "pattern": "^[0-9a-f]{24}$"
            },
            "name": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 200
                },
                {
                  "type": "null"
                }
              ]
            },
            "domain": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 253
                },
                {
                  "type": "null"
                }
              ]
            },
            "agentEnabled": {
              "type": "boolean"
            },
            "creationTime": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 32
                },
                {
                  "type": "null"
                }
              ]
            },
            "lastEditTime": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 32
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "id",
            "name",
            "domain",
            "agentEnabled",
            "creationTime",
            "lastEditTime"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "status",
    "website"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_conversations(websiteId, resolved, limit, cursor)

List a bounded newest-first page of conversation activity in the authenticated Supovia organization. Returns only the conversation id needed for an explicit follow-up, website id, channel, resolved state, unread count, and timestamps. Message bodies, message ids, customer identifiers, internal notes, arbitrary metadata, and organization ids are excluded.

입력 스키마

{
  "type": "object",
  "properties": {
    "websiteId": {
      "type": "string",
      "maxLength": 200,
      "description": "Filter by website id"
    },
    "resolved": {
      "type": "boolean",
      "description": "Filter by resolved status (true = resolved, false = open)"
    },
    "limit": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 50,
      "description": "Maximum conversations per page (default 20)"
    },
    "cursor": {
      "type": "string",
      "maxLength": 2048,
      "description": "Opaque pagination cursor from a previous call"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "conversations": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "maxLength": 200
          },
          "websiteId": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ]
          },
          "channel": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100
              },
              {
                "type": "null"
              }
            ]
          },
          "resolved": {
            "type": "boolean"
          },
          "unreadMessageCount": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "creationTime": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100
              },
              {
                "type": "null"
              }
            ]
          },
          "lastEditTime": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "websiteId",
          "channel",
          "resolved",
          "unreadMessageCount",
          "creationTime",
          "lastEditTime"
        ],
        "additionalProperties": false
      },
      "maxItems": 50
    },
    "page": {
      "type": "object",
      "properties": {
        "count": {
          "type": "integer",
          "minimum": 0,
          "maximum": 50
        },
        "hasMore": {
          "type": "boolean"
        },
        "nextCursor": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 2048
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "count",
        "hasMore",
        "nextCursor"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "conversations",
    "page"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_conversation(conversationId)

Summarize one organization-owned Supovia conversation using safe status fields and sender-category counts from at most 50 recent records. No message body, preview, message id, customer identifier, staff id, internal note, organization id, or arbitrary metadata is returned.

입력 스키마

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

출력 스키마

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "found",
        "not-found"
      ]
    },
    "conversation": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "maxLength": 200
            },
            "websiteId": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 200
                },
                {
                  "type": "null"
                }
              ]
            },
            "channel": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 100
                },
                {
                  "type": "null"
                }
              ]
            },
            "resolved": {
              "type": "boolean"
            },
            "unreadMessageCount": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "creationTime": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 100
                },
                {
                  "type": "null"
                }
              ]
            },
            "lastEditTime": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 100
                },
                {
                  "type": "null"
                }
              ]
            },
            "activity": {
              "type": "object",
              "properties": {
                "sampledPublicMessages": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 50
                },
                "customerMessages": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 50
                },
                "operatorMessages": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 50
                },
                "agentMessages": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 50
                },
                "unknownSenderMessages": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 50
                },
                "latestPublicActivityTime": {
                  "anyOf": [
                    {
                      "type": "string",
                      "maxLength": 100
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "sampleHasMore": {
                  "type": "boolean"
                },
                "internalNotesExcluded": {
                  "type": "boolean",
                  "const": true
                }
              },
              "required": [
                "sampledPublicMessages",
                "customerMessages",
                "operatorMessages",
                "agentMessages",
                "unknownSenderMessages",
                "latestPublicActivityTime",
                "sampleHasMore",
                "internalNotesExcluded"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "id",
            "websiteId",
            "channel",
            "resolved",
            "unreadMessageCount",
            "creationTime",
            "lastEditTime",
            "activity"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "status",
    "conversation"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_unresolved_conversation_counts

Count every unresolved conversation in the authenticated Supovia organization, grouped by website. Totals cover all returned count groups; the sorted per-website preview is capped at 100 and reports truncation. Customer identifiers, staff ids, message text, and organization ids are never returned.

입력 스키마

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

출력 스키마

{
  "type": "object",
  "properties": {
    "websites": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "websiteId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "websiteName": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ]
          },
          "unresolvedCount": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "websiteId",
          "websiteName",
          "unresolvedCount"
        ],
        "additionalProperties": false
      },
      "maxItems": 100
    },
    "websiteCount": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "websitesTruncated": {
      "type": "boolean"
    },
    "totalUnresolved": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "totalClamped": {
      "type": "boolean"
    }
  },
  "required": [
    "websites",
    "websiteCount",
    "websitesTruncated",
    "totalUnresolved",
    "totalClamped"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_documents(websiteId, locale, slugOriginal, limit, cursor)

List a bounded newest-first page of safe support-document metadata in the authenticated Supovia organization. Document content, embeddings, prompts, organization ids, and arbitrary metadata are excluded.

입력 스키마

{
  "type": "object",
  "properties": {
    "websiteId": {
      "type": "string",
      "pattern": "^[0-9a-f]{24}$",
      "description": "Filter by website id"
    },
    "locale": {
      "type": "string",
      "minLength": 1,
      "maxLength": 20,
      "description": "Filter by locale (e.g. en, it, fr)"
    },
    "slugOriginal": {
      "type": "string",
      "minLength": 1,
      "maxLength": 300,
      "description": "Filter by original slug (base slug before localization)"
    },
    "limit": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 50
    },
    "cursor": {
      "type": "string",
      "maxLength": 4096,
      "description": "Opaque pagination cursor from a previous call"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "documents": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "title": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ]
          },
          "slug": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 300
              },
              {
                "type": "null"
              }
            ]
          },
          "locale": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 20
              },
              {
                "type": "null"
              }
            ]
          },
          "websiteId": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[0-9a-f]{24}$"
              },
              {
                "type": "null"
              }
            ]
          },
          "published": {
            "type": "boolean"
          },
          "creationTime": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 32
              },
              {
                "type": "null"
              }
            ]
          },
          "lastEditTime": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 32
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "title",
          "slug",
          "locale",
          "websiteId",
          "published",
          "creationTime",
          "lastEditTime"
        ],
        "additionalProperties": false
      },
      "maxItems": 50
    },
    "page": {
      "type": "object",
      "properties": {
        "count": {
          "type": "integer",
          "minimum": 0,
          "maximum": 50
        },
        "hasMore": {
          "type": "boolean"
        },
        "nextCursor": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 4096
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "count",
        "hasMore",
        "nextCursor"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "documents",
    "page"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_document(documentId, slug, locale)

Fetch one support document owned by the authenticated Supovia organization, including its article text (capped at 20000 characters) and the contentFormat naming which syntax that text is written in (html, markdown, plain-text). A document owned by another organization returns the same bounded "not found" result. Organization ids, translator ids, deprecated slugs, embeddings, and arbitrary metadata are never returned.

입력 스키마

{
  "type": "object",
  "properties": {
    "documentId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Document id. Preferred over slug."
    },
    "slug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 300,
      "description": "Document slug. Used only when documentId is not supplied."
    },
    "locale": {
      "type": "string",
      "minLength": 1,
      "maxLength": 20,
      "description": "Locale for the slug lookup (e.g. en, it, fr). Defaults to en."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "found",
        "not-found"
      ]
    },
    "document": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "pattern": "^[0-9a-f]{24}$"
            },
            "title": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 200
                },
                {
                  "type": "null"
                }
              ]
            },
            "slug": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 300
                },
                {
                  "type": "null"
                }
              ]
            },
            "locale": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 20
                },
                {
                  "type": "null"
                }
              ]
            },
            "websiteId": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^[0-9a-f]{24}$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "published": {
              "type": "boolean"
            },
            "content": {
              "type": "string",
              "maxLength": 20000
            },
            "contentFormat": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "html",
                    "markdown",
                    "plain-text"
                  ]
                },
                {
                  "type": "null"
                }
              ]
            },
            "contentTruncated": {
              "type": "boolean"
            },
            "creationTime": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 32
                },
                {
                  "type": "null"
                }
              ]
            },
            "lastEditTime": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 32
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "id",
            "title",
            "slug",
            "locale",
            "websiteId",
            "published",
            "content",
            "contentFormat",
            "contentTruncated",
            "creationTime",
            "lastEditTime"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "status",
    "document"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢search_documents(query, websiteId, locale)

Search published support documents for one organization-owned Supovia website. Returns at most 5 safe document identities; content chunks, embeddings, scores, prompts, and arbitrary metadata are excluded.

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500,
      "description": "Semantic search query"
    },
    "websiteId": {
      "type": "string",
      "pattern": "^[0-9a-f]{24}$",
      "description": "Organization-owned website id to search"
    },
    "locale": {
      "type": "string",
      "minLength": 1,
      "maxLength": 20,
      "description": "Filter by locale (e.g. en, it, fr)"
    }
  },
  "required": [
    "query",
    "websiteId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "documents": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "title": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ]
          },
          "slug": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 300
              },
              {
                "type": "null"
              }
            ]
          },
          "locale": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 20
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "title",
          "slug",
          "locale"
        ],
        "additionalProperties": false
      },
      "maxItems": 5
    }
  },
  "required": [
    "documents"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_campaigns(websiteId, limit, cursor)

List a bounded page of campaign identities for one website owned by the authenticated Supovia organization. Recipient lists, subjects, message content, user ids, organization ids, and arbitrary metadata are excluded, and campaigns cannot be sent from this tool.

입력 스키마

{
  "type": "object",
  "properties": {
    "websiteId": {
      "type": "string",
      "pattern": "^[0-9a-f]{24}$",
      "description": "Organization-owned website id whose campaigns to list"
    },
    "limit": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 50,
      "description": "Maximum campaigns per page (default 20)"
    },
    "cursor": {
      "type": "string",
      "maxLength": 4096,
      "description": "Opaque pagination cursor from a previous call"
    }
  },
  "required": [
    "websiteId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "campaigns": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[0-9a-f]{24}$"
          },
          "name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ]
          },
          "websiteId": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[0-9a-f]{24}$"
              },
              {
                "type": "null"
              }
            ]
          },
          "creationTime": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 32
              },
              {
                "type": "null"
              }
            ]
          },
          "lastEditTime": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 32
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "name",
          "websiteId",
          "creationTime",
          "lastEditTime"
        ],
        "additionalProperties": false
      },
      "maxItems": 50
    },
    "page": {
      "type": "object",
      "properties": {
        "count": {
          "type": "integer",
          "minimum": 0,
          "maximum": 50
        },
        "hasMore": {
          "type": "boolean"
        },
        "nextCursor": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 4096
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "count",
        "hasMore",
        "nextCursor"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "campaigns",
    "page"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴send_message(conversationId, content, idempotencyKey)

Idempotently send one exact operator reply in an organization-owned Supovia conversation. Reuse the same idempotencyKey only when retrying the same conversation and text. The result confirms the target and time without returning a message id or echoing the message body.

입력 스키마

{
  "type": "object",
  "properties": {
    "conversationId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Conversation id to send the message in"
    },
    "content": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4000,
      "description": "Message text content"
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255,
      "description": "Stable unique retry key for this exact conversation and reply text"
    }
  },
  "required": [
    "conversationId",
    "content",
    "idempotencyKey"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "const": "sent"
    },
    "conversationId": {
      "type": "string",
      "maxLength": 200
    },
    "creationTime": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 100
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "status",
    "conversationId",
    "creationTime"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴resolve_conversation(conversationId, resolved)

Mark one organization-owned Supovia conversation resolved, or reopen it. This is idempotent: re-sending the same state is a no-op write. It broadcasts a conversation-updated event to the operator dashboard. No other conversation field can be changed through this tool, and customer identifiers, staff ids, and organization ids are never returned.

입력 스키마

{
  "type": "object",
  "properties": {
    "conversationId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Conversation id to mark resolved or reopened"
    },
    "resolved": {
      "type": "boolean",
      "description": "true marks the conversation resolved (default), false reopens"
    }
  },
  "required": [
    "conversationId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "updated",
        "not-found"
      ]
    },
    "conversation": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "maxLength": 200
            },
            "resolved": {
              "type": "boolean"
            },
            "lastEditTime": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 32
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "id",
            "resolved",
            "lastEditTime"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "status",
    "conversation"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢show_support_overview(websiteId)

Render a bounded organization-scoped snapshot of Supovia websites and recent conversations. Customer identifiers, internal record ids, message bodies, prompts, credentials, internal notes, organization ids, and arbitrary metadata are excluded.

입력 스키마

{
  "type": "object",
  "properties": {
    "websiteId": {
      "description": "Optionally limit the overview to one organization-owned website",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "websites": {
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ]
          },
          "domain": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 253
              },
              {
                "type": "null"
              }
            ]
          },
          "agentEnabled": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "domain",
          "agentEnabled"
        ],
        "additionalProperties": false
      }
    },
    "websitesHaveMore": {
      "type": "boolean"
    },
    "conversations": {
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "channel": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100
              },
              {
                "type": "null"
              }
            ]
          },
          "resolved": {
            "type": "boolean"
          },
          "creationTime": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 32
              },
              {
                "type": "null"
              }
            ]
          },
          "lastEditTime": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 32
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "channel",
          "resolved",
          "creationTime",
          "lastEditTime"
        ],
        "additionalProperties": false
      }
    },
    "conversationsHaveMore": {
      "type": "boolean"
    },
    "openConversationCount": {
      "type": "integer",
      "minimum": 0,
      "maximum": 20
    }
  },
  "required": [
    "websites",
    "websitesHaveMore",
    "conversations",
    "conversationsHaveMore",
    "openConversationCount"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢show_customer_inbox

Open a metadata-only Supovia inbox and report only how many conversations have unread activity. The embedded view receives conversation ids needed for an explicit follow-up plus channel, status, unread count, and timestamps. It never receives message bodies, previews, message ids, customer details, or internal notes.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "unreadConversationCount": {
      "type": "integer",
      "minimum": 0,
      "maximum": 50
    },
    "conversationsHaveMore": {
      "type": "boolean"
    }
  },
  "required": [
    "unreadConversationCount",
    "conversationsHaveMore"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢open_customer_inbox_conversation(conversationId)

Refresh safe activity metadata for one conversation selected in the embedded Supovia inbox. This app-only tool reads no thread and returns no message body, preview, message id, customer detail, or internal note.

입력 스키마

{
  "type": "object",
  "properties": {
    "conversationId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    }
  },
  "required": [
    "conversationId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "opened",
        "not-found"
      ]
    }
  },
  "required": [
    "status"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 14개
검증됨버전이 기록되지 않음도구 14개