Greener Closet MCP
A read-only MCP server that allows agents to score clothing items based on disclosed fiber content, look up products in the catalog, summarize brand data, find alternatives, and explain material properties without scraping retailer sites.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://greenercloset.com/mcpWhat you can do with it
- Score a pasted fiber composition for sustainability and health impact
- Look up a specific product URL in the Greener Closet catalog
- Summarize analyzed products for a given brand
- Find products by type and fiber composition
Source and maintenance
Protocol and capabilities
- Server
- greener-closet 1.0.0
- MCP protocol
- 2025-06-18
- Tools
- 5 advertised
- Resources
- 2 advertised
- Resource templates
- 0 advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
},
"resources": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
5 advertised
check_fabric_label — Check a fabric label
Use this when the user gives a garment's fiber composition or care-label text (for example "60% cotton, 40% polyester" or "100% merino wool") and asks whether it's good, sustainable, synthetic, plastic-based or a better choice than another label, for example "my shirt label says 52% organic cotton, 48% recycled polyester. is that good?" or "95% cotton 5% elastane vs 60% cotton 40% polyester, which is better". To compare labels, call it once per label. Returns Greener Closet's 0-100 score, the synthetic share and the main concerns. If the percentages don't add up to 100, it reports the gap instead of a score. Do not use this for a product URL (use check_product) or for a general question about one fiber (use explain_fiber).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"composition"
],
"properties": {
"composition": {
"type": "string",
"maxLength": 1000,
"minLength": 2,
"description": "The fiber composition as written on the label, e.g. \"52% organic cotton, 48% recycled polyester\"."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"status"
],
"properties": {
"status": {
"enum": [
"scored",
"incomplete",
"unrecognized",
"invalid"
],
"type": "string"
}
},
"additionalProperties": {}
}{
"title": "Check a fabric label",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}check_product — Check a clothing product
Use this when the user shares a link to a clothing product page and asks what it's made of, whether it contains polyester or other synthetics, whether it's 100% cotton, or how sustainable it is, for example "what is this shirt made of? <link>". Returns Greener Closet's stored fiber breakdown and score when the product is in its catalog. Otherwise it returns a link where the user can analyze the product on greenercloset.com. Do not use this for pasted label text (use check_fabric_label) or for a product described without a URL.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"maxLength": 2048,
"minLength": 8,
"description": "The full product page URL, e.g. https://www.patagonia.com/product/..."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"status"
],
"properties": {
"status": {
"enum": [
"found",
"not_in_catalog",
"invalid_url"
],
"type": "string"
}
},
"additionalProperties": {}
}{
"title": "Check a clothing product",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}explain_fiber — Explain a fiber
Use this when the user asks what a clothing fiber is or whether it's natural, synthetic or a concern to wear, for example "is modal a natural fiber", "is polyester bad for you", "what is Tencel", "is rayon a natural fiber", "is spandex as bad as polyester" or "what is regenerated cellulose". Returns Greener Closet's reviewed guide with sources when one exists, and says plainly when it has only limited information. Do not use this to score a whole garment label (use check_fabric_label).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"fiber"
],
"properties": {
"fiber": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "One fiber or fiber family, e.g. \"polyester\", \"Tencel\", \"bamboo viscose\", \"regenerated cellulose\"."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"status"
],
"properties": {
"status": {
"enum": [
"guide",
"fiber_family",
"ambiguous",
"limited",
"unknown"
],
"type": "string"
}
},
"additionalProperties": {}
}{
"title": "Explain a fiber",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}check_brand — Check a clothing brand
Use this when the user asks about a clothing brand's materials or sustainability, for example "is Vuori sustainable", "is Vuori non-toxic", "does Vuori use PFAS", "is Lululemon mostly polyester" or "what are Quince clothes made of". Returns how the brand's products that Greener Closet has analyzed score, how many contain synthetic fibers, and any sourced claims on file. It never rates the company itself, and it can't say whether a brand uses PFAS finishes. Do not use this for one product (use check_product) or to find other brands (use find_alternatives).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"brand"
],
"properties": {
"brand": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "The brand name, e.g. \"Vuori\", \"Pact\", \"Carter's\"."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"status"
],
"properties": {
"status": {
"enum": [
"found",
"no_products",
"not_found"
],
"type": "string"
}
},
"additionalProperties": {}
}{
"title": "Check a clothing brand",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}find_alternatives — Find clothing by fiber content
Use this when the user wants clothing with specific fiber content or an alternative to a brand, for example "leggings like Lululemon without polyester", "Vuori dupes without synthetic fabric", "natural fiber underwear for women", "linen shirts for men with no synthetics" or "polyester-free socks". For a PFAS-free request it can find clothing with no synthetic fibers, but fiber content is not a PFAS test. Returns products Greener Closet has analyzed, highest score first, with their disclosed fiber breakdown. Fiber exclusions only count products whose full composition is disclosed. It doesn't filter by price. Do not use this to check one product or brand (use check_product or check_brand).
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"maximum": 8,
"minimum": 1
},
"minScore": {
"type": "integer",
"maximum": 100,
"minimum": 0,
"description": "Lowest Greener Closet score to include. Defaults to 70."
},
"department": {
"enum": [
"women",
"men",
"kids",
"baby"
],
"type": "string"
},
"productType": {
"type": "string",
"maxLength": 60,
"description": "What kind of clothing, e.g. \"leggings\", \"socks\", \"t-shirt\", \"dress\", \"pajamas\"."
},
"replaceBrand": {
"type": "string",
"maxLength": 80,
"description": "A brand the user wants an alternative to; its products are excluded."
},
"excludeFibers": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40,
"minLength": 2
},
"maxItems": 6,
"description": "Fibers the products must not contain, e.g. [\"polyester\", \"nylon\"]. Recycled versions are excluded too."
},
"requireFibers": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40,
"minLength": 2
},
"maxItems": 3,
"description": "Fibers the products must contain, e.g. [\"linen\"] or [\"merino wool\"]."
},
"excludeAllSynthetics": {
"type": "boolean",
"description": "True when the user wants no synthetic fibers at all."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"status"
],
"properties": {
"status": {
"enum": [
"found",
"none",
"invalid"
],
"type": "string"
}
},
"additionalProperties": {}
}{
"title": "Find clothing by fiber content",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
2 advertised
product-cards — Greener Closet product cards
ui://greenercloset/product-cards-v2.htmlproduct-cards-legacy-product-cards-v1 — Greener Closet product cards
ui://greenercloset/product-cards-v1.html30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 771 ms
- 95th percentile latency
- 771 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 771 ms · metadata changed · 5 tool(s), 2 resource(s), 0 resource template(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http greener-closet-mcp https://greenercloset.com/mcpCodex
codex mcp add greener-closet-mcp --url https://greenercloset.com/mcpCursor
{
"mcpServers": {
"greener-closet-mcp": {
"url": "https://greenercloset.com/mcp"
}
}
}Cline
{
"mcpServers": {
"greener-closet-mcp": {
"type": "streamableHttp",
"url": "https://greenercloset.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"greener-closet-mcp": {
"type": "http",
"url": "https://greenercloset.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http greener-closet-mcp https://greenercloset.com/mcpClaude Desktop
{
"mcpServers": {
"greener-closet-mcp": {
"url": "https://greenercloset.com/mcp"
}
}
}Windsurf
{
"mcpServers": {
"greener-closet-mcp": {
"serverUrl": "https://greenercloset.com/mcp"
}
}
}Let your agent find its tools
Find servers like Greener Closet MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other data and analytics servers
Do you run Greener Closet MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.