Softwear Prints

Search the Softwear Prints catalogue of workwear, teamwear and promotional items.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
94%
Naming quality
95%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,564Tokens (tool definitions)
~3.3 KBTypical response size
Moderate attention impact (1.22% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "catalog": {
      "url": "https://mcp.softwear-prints.com/mcp"
    }
  }
}

Remote endpoints

https://mcp.softwear-prints.com/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_products(query, category, brand, color, size, ...)

Searches the Softwear Prints catalogue of textiles and promotional items that can be printed or embroidered. Supports free text and filters for category, brand, colour, size, target group, material, certification and price. Returns name, brand, article number, unit price (net and gross), colours and a link to the product page.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Free-text search, e.g. 'polo shirt organic cotton'.",
      "type": "string",
      "maxLength": 120
    },
    "category": {
      "description": "Category slug or id as returned by list_categories.",
      "type": "string",
      "maxLength": 120
    },
    "brand": {
      "description": "Brand names, e.g. ['HAKRO'].",
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 60
      }
    },
    "color": {
      "description": "Colour names in German or English, e.g. ['navy'] or ['rot'].",
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 60
      }
    },
    "size": {
      "description": "Sizes, e.g. ['XL', '3XL'].",
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 60
      }
    },
    "gender": {
      "description": "Target group, e.g. ['Damen'], ['Herren'], ['Kinder'], ['Unisex'].",
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 60
      }
    },
    "material": {
      "description": "Material names, e.g. ['Baumwolle'].",
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 60
      }
    },
    "certification": {
      "description": "Certifications, e.g. ['Oeko-Tex 100'].",
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 60
      }
    },
    "price_min": {
      "description": "Minimum unit price in EUR.",
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "price_max": {
      "description": "Maximum unit price in EUR.",
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "price_basis": {
      "default": "gross",
      "description": "Whether price_min and price_max include German VAT (gross) or not (net).",
      "type": "string",
      "enum": [
        "gross",
        "net"
      ]
    },
    "sort": {
      "default": "relevance",
      "type": "string",
      "enum": [
        "relevance",
        "price_asc",
        "price_desc",
        "newest"
      ]
    },
    "page": {
      "default": 1,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "page_size": {
      "default": 5,
      "description": "Products per page. With a colour filter a page can hold more or fewer products.",
      "type": "integer",
      "minimum": 1,
      "maximum": 10
    },
    "language": {
      "default": "de",
      "description": "Language of product names in the result.",
      "type": "string",
      "enum": [
        "de",
        "en",
        "fr",
        "es",
        "nl",
        "it",
        "pl",
        "dk"
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_product(product, color, language)

Returns the details of one product: description, properties such as material and certifications, colours, sizes, unit price (net and gross), EAN and stock per variant, and the minimum quantities and production time for decoration.

Input Schema

{
  "type": "object",
  "properties": {
    "product": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "pattern": "^[A-Za-z0-9._-]+$",
      "description": "Product slug or id as returned by search_products."
    },
    "color": {
      "description": "Limit the variant list to one colour name, e.g. 'Navy'.",
      "type": "string",
      "maxLength": 60
    },
    "language": {
      "default": "de",
      "description": "Language of names and texts in the result.",
      "type": "string",
      "enum": [
        "de",
        "en",
        "fr",
        "es",
        "nl",
        "it",
        "pl",
        "dk"
      ]
    }
  },
  "required": [
    "product"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_categories(parent, language)

Returns the category tree of the Softwear Prints catalogue with product counts and links. The slugs can be used as the category filter of search_products.

Input Schema

{
  "type": "object",
  "properties": {
    "parent": {
      "description": "Slug or id of a category to list only its subcategories. Omit for the whole tree.",
      "type": "string",
      "maxLength": 120
    },
    "language": {
      "default": "de",
      "description": "Language of category names in the result.",
      "type": "string",
      "enum": [
        "de",
        "en",
        "fr",
        "es",
        "nl",
        "it",
        "pl",
        "dk"
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴request_shop_setup(organisation, contact_name, email, phone, shop_type, ...)

Sends a request to the Softwear Prints sales team for an own online shop (staff shop, club or team shop, school, merchandise or event shop). Transmits the organisation, contact name, email address and the message to Softwear Prints; the sales team replies by email.

Input Schema

{
  "type": "object",
  "properties": {
    "organisation": {
      "type": "string",
      "minLength": 2,
      "maxLength": 120,
      "pattern": "^[^\\r\\n<>]*$",
      "description": "Name of the company, club, school or organisation that wants the shop."
    },
    "contact_name": {
      "type": "string",
      "minLength": 2,
      "maxLength": 100,
      "pattern": "^[^\\r\\n<>]*$",
      "description": "Full name of the contact person."
    },
    "email": {
      "type": "string",
      "maxLength": 160,
      "format": "email",
      "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
      "description": "Email address the sales team should reply to."
    },
    "phone": {
      "description": "Phone number for a call back.",
      "type": "string",
      "maxLength": 40,
      "pattern": "^[0-9+()\\/ .-]{5,}$"
    },
    "shop_type": {
      "type": "string",
      "enum": [
        "company",
        "club",
        "school",
        "merchandise",
        "event",
        "other"
      ],
      "description": "Kind of shop: company (staff shop), club (team shop), school, merchandise, event or other."
    },
    "expected_users": {
      "description": "Roughly how many people will order in the shop.",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000000
    },
    "message": {
      "description": "What the shop is needed for: products, decoration, start date, questions.",
      "type": "string",
      "maxLength": 1500
    },
    "language": {
      "default": "de",
      "description": "Language for the reply from the sales team.",
      "type": "string",
      "enum": [
        "de",
        "en",
        "fr",
        "es",
        "nl",
        "it",
        "pl",
        "dk"
      ]
    }
  },
  "required": [
    "organisation",
    "contact_name",
    "email",
    "shop_type"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools