Koskamo

Dorm Kit MCP

A remote MCP server that allows AI agents to browse curated dorm essentials from Amazon, search for specific items, and create shareable wishlists for students moving into dorms in Sweden or the United States.

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.

Dorm Kit MCP logo, by Dorm KitCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-01Published by Dorm Kit
MCP endpoint (Streamable HTTP)
https://dorm-kit.vercel.app/mcp
Vendor documentation

What you can do with it

  • Browse curated dorm essentials catalog
  • Search for specific dorm items
  • Create a shareable gift wishlist
  • Resolve product links for Amazon

Source and maintenance

Community listingRegistry 1.2.0

Protocol and capabilities

Server
dorm-kit 1.0.0
MCP protocol
2025-06-18
Tools
8 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Tools

8 advertised

health — Health
Advertised by the server during the last successful anonymous check.

Service health, storage mode, trackingTag status, and catalog count.

health input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {}
}
list_marketplaces — List marketplaces
Advertised by the server during the last successful anonymous check.

List supported Amazon storefronts (id, domain, defaultLocale). Match marketplace + locale to the end user: amazon.com (tag sw-dormkit-20) for the US, amazon.se (tag sw-dormkit-21) for Sweden.

list_marketplaces input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {}
}
search_kit_items — Search dorm kit items
Advertised by the server during the last successful anonymous check.

Search dorm / back-to-school essentials. Returns Amazon search deep-links (and optional catalog matches). Pass marketplace=amazon.com + locale=en-US for US shoppers (amazon.com links, English queries) or marketplace=amazon.se for Sweden. Missing store falls back (en-US → amazon.com, else amazon.se).

search_kit_items input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "q"
  ],
  "properties": {
    "q": {
      "type": "string",
      "minLength": 1,
      "description": "Search query, e.g. desk lamp or twin XL sheets"
    },
    "limit": {
      "type": "integer",
      "maximum": 20,
      "minimum": 1,
      "description": "Max results (1-20)"
    },
    "locale": {
      "type": "string",
      "description": "BCP-47 locale for the shopper (e.g. en-US, sv-SE). Recommended; en-US without a marketplace selects amazon.com."
    },
    "roomType": {
      "enum": [
        "single",
        "shared",
        "suite",
        "studio",
        "other"
      ],
      "type": "string",
      "description": "Room type filter"
    },
    "dormRules": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Residence constraints, e.g. no-candles, no-hot-plates"
    },
    "budgetBand": {
      "enum": [
        "under-500",
        "500-1500",
        "1500-3000",
        "3000-plus"
      ],
      "type": "string",
      "description": "Budget band"
    },
    "university": {
      "type": "string",
      "description": "Optional university / campus context"
    },
    "marketplace": {
      "type": "string",
      "description": "Amazon storefront id (us, se) or domain (amazon.com, amazon.se). Recommended. For US shoppers pass marketplace=amazon.com (US catalog, amazon.com /dp/ links, tag sw-dormkit-20). If omitted: locale en-US selects amazon.com, anything else falls back to amazon.se (never an error)."
    }
  }
}
list_catalog_items — List curated dorm catalog
Advertised by the server during the last successful anonymous check.

Browse the hand-picked dorm essentials catalog for a storefront. marketplace=amazon.com (US) returns verified amazon.com /dp/ product links; marketplace=amazon.se returns the Swedish catalog with amazon.se /dp/ links. Optional q/category filters.

list_catalog_items input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "q": {
      "type": "string",
      "description": "Optional text filter, e.g. twin xl, lamp"
    },
    "limit": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1,
      "description": "Max items returned (default 25)"
    },
    "category": {
      "enum": [
        "bedding",
        "lighting",
        "storage",
        "desk",
        "laundry",
        "bath",
        "kitchen",
        "tech",
        "safety",
        "decor",
        "cleaning",
        "other"
      ],
      "type": "string",
      "description": "Optional category filter"
    },
    "marketplace": {
      "type": "string",
      "description": "Amazon storefront id (us, se) or domain (amazon.com, amazon.se). Recommended. For US shoppers pass marketplace=amazon.com (US catalog, amazon.com /dp/ links, tag sw-dormkit-20). If omitted: locale en-US selects amazon.com, anything else falls back to amazon.se (never an error)."
    }
  }
}
create_kit — Create dorm kit
Advertised by the server during the last successful anonymous check.

Create an empty or pre-filled dorm kit wishlist. Returns id, editToken, ownerUrl, roommateUrl. marketplace=amazon.com + locale=en-US for US shoppers; amazon.se for Sweden. Missing store falls back (en-US → amazon.com, else amazon.se).

create_kit input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "asin": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "emoji": {
            "type": "string"
          },
          "notes": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "catalogId": {
            "type": "string"
          },
          "searchKeywords": {
            "type": "string"
          }
        }
      }
    },
    "locale": {
      "type": "string",
      "description": "BCP-47 locale for the shopper (e.g. en-US, sv-SE). Recommended; en-US without a marketplace selects amazon.com."
    },
    "roomType": {
      "enum": [
        "single",
        "shared",
        "suite",
        "studio",
        "other"
      ],
      "type": "string"
    },
    "dormRules": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "budgetBand": {
      "enum": [
        "under-500",
        "500-1500",
        "1500-3000",
        "3000-plus"
      ],
      "type": "string"
    },
    "university": {
      "type": "string"
    },
    "marketplace": {
      "type": "string",
      "description": "Amazon storefront id (us, se) or domain (amazon.com, amazon.se). Recommended. For US shoppers pass marketplace=amazon.com (US catalog, amazon.com /dp/ links, tag sw-dormkit-20). If omitted: locale en-US selects amazon.com, anything else falls back to amazon.se (never an error)."
    },
    "studentName": {
      "type": "string"
    }
  }
}
create_and_fill_kit — Create and fill dorm kit
Advertised by the server during the last successful anonymous check.

One-shot: create a dorm kit and fill from itemQueries, itemKeywords, and/or itemAsins. marketplace=amazon.com + locale=en-US for US shoppers; amazon.se for Sweden. Missing store falls back (en-US → amazon.com, else amazon.se).

create_and_fill_kit input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "locale": {
      "type": "string",
      "description": "BCP-47 locale for the shopper (e.g. en-US, sv-SE). Recommended; en-US without a marketplace selects amazon.com."
    },
    "roomType": {
      "enum": [
        "single",
        "shared",
        "suite",
        "studio",
        "other"
      ],
      "type": "string"
    },
    "dormRules": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "itemAsins": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "budgetBand": {
      "enum": [
        "under-500",
        "500-1500",
        "1500-3000",
        "3000-plus"
      ],
      "type": "string"
    },
    "university": {
      "type": "string"
    },
    "itemQueries": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "marketplace": {
      "type": "string",
      "description": "Amazon storefront id (us, se) or domain (amazon.com, amazon.se). Recommended. For US shoppers pass marketplace=amazon.com (US catalog, amazon.com /dp/ links, tag sw-dormkit-20). If omitted: locale en-US selects amazon.com, anything else falls back to amazon.se (never an error)."
    },
    "studentName": {
      "type": "string"
    },
    "itemKeywords": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  }
}
add_kit_item — Add kit item
Advertised by the server during the last successful anonymous check.

Add an item to an existing dorm kit. Requires kit id and editToken from create_kit / create_and_fill_kit.

add_kit_item input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "id",
    "editToken"
  ],
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "description": "Wishlist / kit id"
    },
    "url": {
      "type": "string"
    },
    "asin": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "emoji": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "catalogId": {
      "type": "string"
    },
    "editToken": {
      "type": "string",
      "minLength": 1,
      "description": "Owner edit token (X-Edit-Token)"
    },
    "searchKeywords": {
      "type": "string"
    }
  }
}
resolve_product — Resolve product buy link
Advertised by the server during the last successful anonymous check.

Resolve ASIN, Amazon URL, or keywords to a buy deep-link on the selected marketplace. amazon.se links carry ?tag=sw-dormkit-21; amazon.com links carry ?tag=sw-dormkit-20. Missing store falls back (en-US → amazon.com, else amazon.se).

resolve_product input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "url": {
      "type": "string"
    },
    "asin": {
      "type": "string"
    },
    "locale": {
      "type": "string",
      "description": "BCP-47 locale for the shopper (e.g. en-US, sv-SE). Recommended; en-US without a marketplace selects amazon.com."
    },
    "category": {
      "type": "string"
    },
    "keywords": {
      "type": "string"
    },
    "budgetBand": {
      "type": "string"
    },
    "marketplace": {
      "type": "string",
      "description": "Amazon storefront id (us, se) or domain (amazon.com, amazon.se). Recommended. For US shoppers pass marketplace=amazon.com (US catalog, amazon.com /dp/ links, tag sw-dormkit-20). If omitted: locale en-US selects amazon.com, anything else falls back to amazon.se (never an error)."
    }
  }
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-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
690 ms
95th percentile latency
690 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 690 ms · metadata changed · 8 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http dorm-kit-mcp https://dorm-kit.vercel.app/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add dorm-kit-mcp --url https://dorm-kit.vercel.app/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable dorm-kit-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "dorm-kit-mcp": {
      "url": "https://dorm-kit.vercel.app/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "dorm-kit-mcp": {
      "type": "streamableHttp",
      "url": "https://dorm-kit.vercel.app/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start dorm-kit-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "dorm-kit-mcp": {
      "type": "http",
      "url": "https://dorm-kit.vercel.app/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http dorm-kit-mcp https://dorm-kit.vercel.app/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "dorm-kit-mcp": {
      "url": "https://dorm-kit.vercel.app/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "dorm-kit-mcp": {
      "serverUrl": "https://dorm-kit.vercel.app/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Dorm Kit MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.