Ręczniki Haftowane
Publiczny, tylko do odczytu MCP z katalogiem produktów sklepu Ręczniki Haftowane.
사용해야 할까요
품질 및 안전성
발견 사항 (1)
- LOWfetch에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"reczniki-haftowane": {
"url": "https://reczniki-haftowane.pl/mcp"
}
}
}원격 엔드포인트
https://reczniki-haftowane.pl/mcpstreamable-http할 수 있는 일
도구 목록
도구 (8)
🟢search_products(query, limit, max_price_minor, for)
Produkty sklepu: id, name, cena, for (dla kogo), contains (skład), product_url, image_url. Pusty query listuje cały katalog (kilkanaście pozycji): nie zgaduj słów kluczowych, nie wpisuj zdania klienta. Kwoty: *_minor (grosze), *_formatted; regular_price_* tylko w promocji.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 100
},
"limit": {
"default": 20,
"type": "integer",
"minimum": 1,
"maximum": 20
},
"max_price_minor": {
"description": "Budżet w groszach, np. 35000 = 350 zł",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"for": {
"description": "Dla kogo: jedna osoba (mama, tata, babcia, dziadek, przyjaciółka), para (rodzice, dziadkowie, narzeczeni, ślub, rocznica ślubu), rodzina (rodzina, nowy dom). Wynik zawiera też produkty bez for.",
"type": "string",
"enum": [
"jedna osoba",
"para",
"rodzina"
]
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"total": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Liczba pasujących produktów (po filtrach for i budżetu, przed limitem)"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"name": {
"type": "string"
},
"price_minor": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "Aktualna cena w groszach (PLN), liczba całkowita; null gdy brak"
},
"price_formatted": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Aktualna cena jako tekst w PLN, np. „339,00 zł”; null gdy brak"
},
"regular_price_minor": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "Cena regularna (tylko w promocji) w groszach (PLN), liczba całkowita; null gdy brak"
},
"regular_price_formatted": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Cena regularna (tylko w promocji) jako tekst w PLN, np. „339,00 zł”; null gdy brak"
},
"currency": {
"type": "string",
"description": "Kod waluty, zawsze PLN"
},
"for": {
"description": "Dla kogo; brak, gdy produkt nie ma danych odbiorcy",
"type": "string",
"enum": [
"jedna osoba",
"para",
"rodzina"
]
},
"contains": {
"description": "Skład, np. \"2× ręcznik kąpielowy 70×140 cm, 500 g/m²; kosz\"; brak, gdy szczegóły produktu są niedostępne",
"type": "string"
},
"product_url": {
"type": "string",
"format": "uri",
"description": "Link do produktu; z UTM dla klientów spoza zaufanych adresów"
},
"image_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"name",
"price_minor",
"price_formatted",
"currency",
"product_url",
"image_url"
],
"additionalProperties": false
}
},
"error": {
"description": "Tylko przy isError: { code, message, ... }",
"type": "object",
"properties": {
"code": {
"type": "string",
"enum": [
"invalid_input",
"not_found",
"shop_unavailable"
]
},
"message": {
"type": "string"
},
"fields": {
"description": "Nazwy błędnych parametrów (invalid_input)",
"type": "array",
"items": {
"type": "string"
}
},
"correlation_id": {
"description": "Identyfikator do zgłoszenia problemu (shop_unavailable)",
"type": "string"
},
"retry_after_seconds": {
"description": "Po ilu sekundach ponowić żądanie (shop_unavailable)",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"code",
"message"
],
"additionalProperties": false
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_product_options(product_id)
Skład produktu (contents): przedmioty, ilości, positions (1-based), customizable i liczba kolorów. Kolory pobierz przez list_colors dopiero przy wyborze koloru, podając asset_type_id. Dostawa, terminy i materiał: get_shop_policies. Ceny: *_minor (grosze), *_formatted (PLN); regular_price_* tylko w promocji. Po link z wyborami użyj get_creator_link.
입력 스키마
{
"type": "object",
"properties": {
"product_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"product_id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"name": {
"type": "string"
},
"price_minor": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "Aktualna cena w groszach (PLN), liczba całkowita; null gdy brak"
},
"price_formatted": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Aktualna cena jako tekst w PLN, np. „339,00 zł”; null gdy brak"
},
"regular_price_minor": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "Cena regularna (tylko w promocji) w groszach (PLN), liczba całkowita; null gdy brak"
},
"regular_price_formatted": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Cena regularna (tylko w promocji) jako tekst w PLN, np. „339,00 zł”; null gdy brak"
},
"currency": {
"type": "string",
"description": "Kod waluty, zawsze PLN"
},
"text_max_length": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "Maksymalna długość tekstu haftu (znaki)"
},
"contents": {
"type": "array",
"items": {
"type": "object",
"properties": {
"item": {
"type": "string",
"description": "Nazwa i rozmiar przedmiotu"
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"positions": {
"type": "array",
"items": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"description": "Numery slotów 1..n; slots[n-1] w get_creator_link"
},
"customizable": {
"type": "boolean"
},
"colors": {
"description": "Liczba kolorów, tylko dla customizable",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"asset_type_id": {
"description": "Parametr list_colors, tylko gdy colors > 1",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"disabled": {
"description": "Wyłączone elementy haftu; brak = wszystkie dostępne",
"type": "array",
"items": {
"type": "string",
"enum": [
"drawing",
"text",
"thread",
"font"
]
}
}
},
"required": [
"item",
"quantity",
"positions",
"customizable"
],
"additionalProperties": false
}
},
"creator_url": {
"type": "string",
"format": "uri"
},
"error": {
"description": "Tylko przy isError: { code, message, ... }",
"type": "object",
"properties": {
"code": {
"type": "string",
"enum": [
"invalid_input",
"not_found",
"shop_unavailable"
]
},
"message": {
"type": "string"
},
"fields": {
"description": "Nazwy błędnych parametrów (invalid_input)",
"type": "array",
"items": {
"type": "string"
}
},
"correlation_id": {
"description": "Identyfikator do zgłoszenia problemu (shop_unavailable)",
"type": "string"
},
"retry_after_seconds": {
"description": "Po ilu sekundach ponowić żądanie (shop_unavailable)",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"code",
"message"
],
"additionalProperties": false
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢list_colors(asset_type_id)
Kolory typu przedmiotu: id (option_id kreatora), name, color_hex. Wywołaj dopiero, gdy klient wybiera kolor; asset_type_id weź z contents w get_product_options. Nazwy dopasowuj przybliżeniami.
입력 스키마
{
"type": "object",
"properties": {
"asset_type_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"asset_type_id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"asset_type_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"colors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "To option_id dla get_creator_link"
},
"name": {
"type": "string"
},
"color_hex": {
"anyOf": [
{
"type": "string",
"pattern": "^#[0-9A-Fa-f]{6}$"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"name",
"color_hex"
],
"additionalProperties": false
}
},
"error": {
"description": "Tylko przy isError: { code, message, ... }",
"type": "object",
"properties": {
"code": {
"type": "string",
"enum": [
"invalid_input",
"not_found",
"shop_unavailable"
]
},
"message": {
"type": "string"
},
"fields": {
"description": "Nazwy błędnych parametrów (invalid_input)",
"type": "array",
"items": {
"type": "string"
}
},
"correlation_id": {
"description": "Identyfikator do zgłoszenia problemu (shop_unavailable)",
"type": "string"
},
"retry_after_seconds": {
"description": "Po ilu sekundach ponowić żądanie (shop_unavailable)",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"code",
"message"
],
"additionalProperties": false
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_creator_link(product_id, slots, tab, slot)
Link do kreatora z wyborami klienta w slots[]. Pozycja n z contents get_product_options odpowiada slots[n-1]. option_id z list_colors dla typu przedmiotu; drawing_id z list_designs, thread_id i font_id z list_fonts_threads. Przekaż wszystkie wybory klienta: kolor, wzór, nić, czcionkę i texts (mapa kluczy pól tekstowych). Bez slots[], tab i slot link nie ma ustawień (configuration_notice). tab wybiera zakładkę, slot (1-based) aktywny slot.
입력 스키마
{
"type": "object",
"properties": {
"product_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"slots": {
"type": "array",
"items": {
"type": "object",
"properties": {
"option_id": {
"description": "ID koloru z list_colors dla typu przedmiotu slotu",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"drawing_id": {
"description": "ID wzoru z list_designs",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"thread_id": {
"description": "ID nici z list_fonts_threads",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"font_id": {
"description": "ID czcionki z list_fonts_threads",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"texts": {
"description": "Teksty haftu jako mapa klucz-wartość, np. {\"names\":\"Zażółć\"}",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
}
}
},
"tab": {
"type": "string",
"enum": [
"produkt",
"wzory",
"nici",
"czcionki",
"tekst"
]
},
"slot": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"product_id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"product_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"name": {
"type": "string"
},
"creator_url": {
"type": "string",
"format": "uri"
},
"configuration_notice": {
"description": "Informacja, że link otworzy kreator bez ustawień personalizacji; obecna przy wywołaniu bez slots[], tab i slot",
"type": "string"
},
"error": {
"description": "Tylko przy isError: { code, message, ... }",
"type": "object",
"properties": {
"code": {
"type": "string",
"enum": [
"invalid_input",
"not_found",
"shop_unavailable"
]
},
"message": {
"type": "string"
},
"fields": {
"description": "Nazwy błędnych parametrów (invalid_input)",
"type": "array",
"items": {
"type": "string"
}
},
"correlation_id": {
"description": "Identyfikator do zgłoszenia problemu (shop_unavailable)",
"type": "string"
},
"retry_after_seconds": {
"description": "Po ilu sekundach ponowić żądanie (shop_unavailable)",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"code",
"message"
],
"additionalProperties": false
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢list_designs(category, query)
Listuje aktywne wzory haftu (do wyboru w kreatorze) z kategoriami i polami tekstowymi (slot_key, label, max_chars). Opcjonalny category (nazwa lub slug kategorii) i query (szukanie po nazwie wzoru i kategorii). Pole id to drawing_id używane przez kreator. WAŻNE: pokaż klientowi podgląd wzoru jako obraz - wstaw preview_markdown () do odpowiedzi, nie podawaj samego linku; gdy preview_markdown jest null, wzór nie ma podglądu.
입력 스키마
{
"type": "object",
"properties": {
"category": {
"type": "string",
"maxLength": 100
},
"query": {
"type": "string",
"maxLength": 100
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"total": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Liczba pasujących wzorów"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "To drawing_id używane przez kreator"
},
"name": {
"type": "string"
},
"type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Typ wzoru (drawing_type)"
},
"categories": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"name": {
"type": "string"
},
"slug": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"name",
"slug"
],
"additionalProperties": false
}
},
"texts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slot_key": {
"description": "Klucz pola tekstowego (klucz texts w linku do kreatora); brak dla ogólnego pola tekstowego",
"type": "string"
},
"label": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"max_chars": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "Maksymalna liczba znaków; null gdy bez limitu"
}
},
"required": [
"label",
"max_chars"
],
"additionalProperties": false
}
},
"preview_image_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
],
"description": "Pełny publiczny URL podglądu wzoru; null gdy brak"
},
"preview_markdown": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Gotowy markdown obrazu ; null gdy brak podglądu"
}
},
"required": [
"id",
"name",
"type",
"categories",
"texts",
"preview_image_url",
"preview_markdown"
],
"additionalProperties": false
}
},
"error": {
"description": "Tylko przy isError: { code, message, ... }",
"type": "object",
"properties": {
"code": {
"type": "string",
"enum": [
"invalid_input",
"not_found",
"shop_unavailable"
]
},
"message": {
"type": "string"
},
"fields": {
"description": "Nazwy błędnych parametrów (invalid_input)",
"type": "array",
"items": {
"type": "string"
}
},
"correlation_id": {
"description": "Identyfikator do zgłoszenia problemu (shop_unavailable)",
"type": "string"
},
"retry_after_seconds": {
"description": "Po ilu sekundach ponowić żądanie (shop_unavailable)",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"code",
"message"
],
"additionalProperties": false
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢list_fonts_threads
Listuje publiczne czcionki i nici dostępne w kreatorze. Zwraca id jako odpowiednio font_id i thread_id, nazwę, podgląd jako pełny URL oraz gotowy markdown obrazu; nici zawierają także color_hex w formacie #RRGGBB. Narzędzie nie przyjmuje parametrów.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"fonts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "To font_id używane przez kreator"
},
"name": {
"type": "string"
},
"preview_markdown": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Gotowy markdown obrazu podglądu ; null gdy brak podglądu"
}
},
"required": [
"id",
"name",
"preview_markdown"
],
"additionalProperties": false
}
},
"threads": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "To thread_id używane przez kreator"
},
"name": {
"type": "string"
},
"color_hex": {
"type": "string",
"pattern": "^#[0-9A-Fa-f]{6}$"
},
"preview_markdown": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Gotowy markdown obrazu podglądu ; null gdy brak podglądu"
}
},
"required": [
"id",
"name",
"color_hex",
"preview_markdown"
],
"additionalProperties": false
}
},
"error": {
"description": "Tylko przy isError: { code, message, ... }",
"type": "object",
"properties": {
"code": {
"type": "string",
"enum": [
"invalid_input",
"not_found",
"shop_unavailable"
]
},
"message": {
"type": "string"
},
"fields": {
"description": "Nazwy błędnych parametrów (invalid_input)",
"type": "array",
"items": {
"type": "string"
}
},
"correlation_id": {
"description": "Identyfikator do zgłoszenia problemu (shop_unavailable)",
"type": "string"
},
"retry_after_seconds": {
"description": "Po ilu sekundach ponowić żądanie (shop_unavailable)",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"code",
"message"
],
"additionalProperties": false
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢search(query)
Wyszukuje publiczne produkty sklepu. Zwraca identyfikatory, tytuły i kanoniczne URL-e zgodne z formatem ChatGPT search/fetch.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 200
}
},
"required": [
"query"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
}
},
"required": [
"id",
"title",
"url"
],
"additionalProperties": false
}
},
"error": {
"description": "Tylko przy isError: { code, message, ... }",
"type": "object",
"properties": {
"code": {
"type": "string",
"enum": [
"invalid_input",
"not_found",
"shop_unavailable"
]
},
"message": {
"type": "string"
},
"fields": {
"description": "Nazwy błędnych parametrów (invalid_input)",
"type": "array",
"items": {
"type": "string"
}
},
"correlation_id": {
"description": "Identyfikator do zgłoszenia problemu (shop_unavailable)",
"type": "string"
},
"retry_after_seconds": {
"description": "Po ilu sekundach ponowić żądanie (shop_unavailable)",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"code",
"message"
],
"additionalProperties": false
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢fetch(id)
Pobiera pełną treść publicznego produktu po id zwróconym przez search, wraz z tytułem i URL-em do cytowania.
입력 스키마
{
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 100
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"text": {
"type": "string"
},
"url": {
"type": "string",
"format": "uri"
},
"metadata": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"error": {
"description": "Tylko przy isError: { code, message, ... }",
"type": "object",
"properties": {
"code": {
"type": "string",
"enum": [
"invalid_input",
"not_found",
"shop_unavailable"
]
},
"message": {
"type": "string"
},
"fields": {
"description": "Nazwy błędnych parametrów (invalid_input)",
"type": "array",
"items": {
"type": "string"
}
},
"correlation_id": {
"description": "Identyfikator do zgłoszenia problemu (shop_unavailable)",
"type": "string"
},
"retry_after_seconds": {
"description": "Po ilu sekundach ponowić żądanie (shop_unavailable)",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"code",
"message"
],
"additionalProperties": false
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}커뮤니티
증거