Travel Packing MCP
A remote MCP server that allows AI agents to build curated gift wishlists and trip packing lists for Amazon products in Sweden or the United States, returning shareable links in a single call.
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://travel-packing-zeta.vercel.app/api/mcpWhat you can do with it
- Create a gift wishlist for trip packing lists
- Generate shareable owner and shopper links
- Search curated Amazon products by trip type
- Resolve product details via ASIN or keywords
Source and maintenance
Protocol and capabilities
- Server
- travel-packing 1.1.0
- MCP protocol
- 2025-06-18
- Tools
- 10 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
10 advertised
get_health — Health & marketplaces
Health check for Travel Packing. Returns ok, storage, trackingTag, defaultDomain (amazon.se), catalogCounts for amazon.se and amazon.com, storefronts and marketplaceSelection rules. Pass marketplace=amazon.com for United States users (English, USD, amazon.com /dp links); default amazon.se. Without marketplace/country, an en-US Accept-Language selects amazon.com. OpenAPI: getHealth.
{
"type": "object",
"properties": {}
}{
"readOnlyHint": true,
"openWorldHint": true
}list_marketplaces — List Amazon marketplaces
List Amazon storefronts (domain, label, currencyHint, tagConfigured). Curated catalogs: amazon.com (United States) and amazon.se (Sweden). Pass marketplace=amazon.com for United States users (English, USD, amazon.com /dp links); default amazon.se. Without marketplace/country, an en-US Accept-Language selects amazon.com.
{
"type": "object",
"properties": {}
}{
"readOnlyHint": true,
"openWorldHint": true
}search_packing_items — Search / suggest packing items
Search Amazon for packing items on the user's storefront. Returns packing search link cards (English searches on amazon.com) plus curated catalogMatches with /dp product links. Prefer buyUrl in results. Pass marketplace=amazon.com for United States users (English, USD, amazon.com /dp links); default amazon.se. Without marketplace/country, an en-US Accept-Language selects amazon.com. OpenAPI: searchAmazon.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"minLength": 1,
"description": "Search query, e.g. packing cubes"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1
},
"locale": {
"type": "string",
"minLength": 2,
"description": "User locale, e.g. en-US, sv-SE"
},
"climate": {
"enum": [
"tropical",
"hot-dry",
"temperate",
"cold",
"alpine",
"rainy",
"mixed"
],
"type": "string"
},
"country": {
"type": "string",
"description": "Optional ISO country code of the end user, e.g. US → amazon.com, SE → amazon.se. Used when marketplace is omitted."
},
"tripType": {
"enum": [
"beach",
"city",
"hiking",
"business",
"winter-sports",
"camping",
"road-trip",
"cruise",
"other"
],
"type": "string"
},
"marketplace": {
"type": "string",
"description": "Amazon storefront for the end user: amazon.com (United States — English titles, USD prices, amazon.com /dp links) or amazon.se (Sweden, SEK). Also accepts ids like us / se. Pass marketplace=amazon.com for US users. If omitted: country is used, then the caller's Accept-Language (en-US → amazon.com), else amazon.se. Unknown values fall back to amazon.se (never an error)."
},
"durationBand": {
"enum": [
"weekend",
"1-week",
"2-weeks",
"month-plus"
],
"type": "string"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true
}suggest_packing_items — Suggest packing items (alias)
Alias of search_packing_items — suggest gear for a trip by query + tripType/climate. Pass marketplace=amazon.com for United States users (English, USD, amazon.com /dp links); default amazon.se. Without marketplace/country, an en-US Accept-Language selects amazon.com.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"minLength": 1,
"description": "Search query, e.g. travel adapter"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1
},
"locale": {
"type": "string",
"minLength": 2,
"description": "User locale, e.g. en-US, sv-SE"
},
"climate": {
"enum": [
"tropical",
"hot-dry",
"temperate",
"cold",
"alpine",
"rainy",
"mixed"
],
"type": "string"
},
"country": {
"type": "string",
"description": "Optional ISO country code of the end user, e.g. US → amazon.com, SE → amazon.se. Used when marketplace is omitted."
},
"tripType": {
"enum": [
"beach",
"city",
"hiking",
"business",
"winter-sports",
"camping",
"road-trip",
"cruise",
"other"
],
"type": "string"
},
"marketplace": {
"type": "string",
"description": "Amazon storefront for the end user: amazon.com (United States — English titles, USD prices, amazon.com /dp links) or amazon.se (Sweden, SEK). Also accepts ids like us / se. Pass marketplace=amazon.com for US users. If omitted: country is used, then the caller's Accept-Language (en-US → amazon.com), else amazon.se. Unknown values fall back to amazon.se (never an error)."
},
"durationBand": {
"enum": [
"weekend",
"1-week",
"2-weeks",
"month-plus"
],
"type": "string"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true
}get_catalog — Curated packing catalog
Curated packing items. marketplace=amazon.com returns the United States catalog (English titles, amazon.com /dp links, priceUsd); marketplace=amazon.se (default) returns the Sweden catalog (/dp links, priceSek). Pass marketplace=amazon.com for United States users (English, USD, amazon.com /dp links); default amazon.se. Without marketplace/country, an en-US Accept-Language selects amazon.com. OpenAPI: getCatalog.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"q": {
"type": "string",
"description": "Full-text filter"
},
"ids": {
"type": "string",
"description": "Comma-separated catalog ids"
},
"limit": {
"type": "integer",
"default": 24,
"maximum": 100,
"minimum": 1
},
"locale": {
"type": "string",
"minLength": 2,
"description": "User locale, e.g. en-US, sv-SE"
},
"offset": {
"type": "integer",
"default": 0,
"minimum": 0
},
"climate": {
"enum": [
"tropical",
"hot-dry",
"temperate",
"cold",
"alpine",
"rainy",
"mixed"
],
"type": "string"
},
"country": {
"type": "string",
"description": "Optional ISO country code of the end user, e.g. US → amazon.com, SE → amazon.se. Used when marketplace is omitted."
},
"tripType": {
"enum": [
"beach",
"city",
"hiking",
"business",
"winter-sports",
"camping",
"road-trip",
"cruise",
"other"
],
"type": "string"
},
"marketplace": {
"type": "string",
"description": "Amazon storefront for the end user: amazon.com (United States — English titles, USD prices, amazon.com /dp links) or amazon.se (Sweden, SEK). Also accepts ids like us / se. Pass marketplace=amazon.com for US users. If omitted: country is used, then the caller's Accept-Language (en-US → amazon.com), else amazon.se. Unknown values fall back to amazon.se (never an error)."
},
"durationBand": {
"enum": [
"weekend",
"1-week",
"2-weeks",
"month-plus"
],
"type": "string"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true
}resolve_product — Resolve buy link
Resolve an ASIN, pasted Amazon /dp/ URL, or keywords to a buyUrl (product /dp or packing search) on the chosen storefront. With marketplace=amazon.com, keywords resolve to a matching US catalog product (/dp) when one exists. Pass marketplace=amazon.com for United States users (English, USD, amazon.com /dp links); default amazon.se. Without marketplace/country, an en-US Accept-Language selects amazon.com. OpenAPI: resolveProduct.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"url": {
"type": "string",
"description": "Pasted Amazon product URL"
},
"asin": {
"type": "string",
"description": "10-char Amazon ASIN"
},
"locale": {
"type": "string",
"minLength": 2,
"description": "User locale, e.g. en-US, sv-SE"
},
"climate": {
"enum": [
"tropical",
"hot-dry",
"temperate",
"cold",
"alpine",
"rainy",
"mixed"
],
"type": "string"
},
"country": {
"type": "string",
"description": "Optional ISO country code of the end user, e.g. US → amazon.com, SE → amazon.se. Used when marketplace is omitted."
},
"keywords": {
"type": "string",
"description": "Search keywords if no ASIN"
},
"tripType": {
"enum": [
"beach",
"city",
"hiking",
"business",
"winter-sports",
"camping",
"road-trip",
"cruise",
"other"
],
"type": "string"
},
"marketplace": {
"type": "string",
"description": "Amazon storefront for the end user: amazon.com (United States — English titles, USD prices, amazon.com /dp links) or amazon.se (Sweden, SEK). Also accepts ids like us / se. Pass marketplace=amazon.com for US users. If omitted: country is used, then the caller's Accept-Language (en-US → amazon.com), else amazon.se. Unknown values fall back to amazon.se (never an error)."
},
"durationBand": {
"enum": [
"weekend",
"1-week",
"2-weeks",
"month-plus"
],
"type": "string"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true
}create_packing_list — Create packing list
Create a trip packing list (storefront chosen like the other tools: marketplace → country → en-US Accept-Language → amazon.se). Returns id, editToken, ownerUrl, listUrl, shopUrl, wishlist, storage. Save editToken for add_packing_item. If storage is token, later mutations may return a new id — always use the latest. OpenAPI: createWishlist.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"asin": {
"type": "string"
},
"name": {
"type": "string"
},
"emoji": {
"type": "string"
},
"title": {
"type": "string"
},
"packed": {
"type": "boolean"
},
"catalogId": {
"type": "string"
},
"searchKeywords": {
"type": "string"
}
},
"additionalProperties": false
}
},
"locale": {
"type": "string",
"minLength": 2,
"description": "User locale, e.g. en-US, sv-SE"
},
"season": {
"enum": [
"spring",
"summer",
"autumn",
"winter",
"any"
],
"type": "string"
},
"climate": {
"enum": [
"tropical",
"hot-dry",
"temperate",
"cold",
"alpine",
"rainy",
"mixed"
],
"type": "string"
},
"country": {
"type": "string",
"description": "Optional ISO country code of the end user, e.g. US → amazon.com, SE → amazon.se. Used when marketplace is omitted."
},
"tripName": {
"type": "string"
},
"tripType": {
"enum": [
"beach",
"city",
"hiking",
"business",
"winter-sports",
"camping",
"road-trip",
"cruise",
"other"
],
"type": "string"
},
"travelers": {
"enum": [
"solo",
"couple",
"family",
"group"
],
"type": "string"
},
"destination": {
"type": "string"
},
"marketplace": {
"type": "string",
"description": "Amazon storefront for the end user: amazon.com (United States — English titles, USD prices, amazon.com /dp links) or amazon.se (Sweden, SEK). Also accepts ids like us / se. Pass marketplace=amazon.com for US users. If omitted: country is used, then the caller's Accept-Language (en-US → amazon.com), else amazon.se. Unknown values fall back to amazon.se (never an error)."
},
"durationBand": {
"enum": [
"weekend",
"1-week",
"2-weeks",
"month-plus"
],
"type": "string"
},
"durationDays": {
"type": "integer",
"maximum": 365,
"minimum": 1
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": true
}create_and_fill — One-shot create and fill packing list
One call: create a curated trip packing list and return shopUrl (share link) + ownerUrl. Pass marketplace=amazon.com for United States users (English, USD, amazon.com /dp links); default amazon.se. Without marketplace/country, an en-US Accept-Language selects amazon.com. Preferred agent path: create a packing list and add ASINs / keywords / search queries in one call. Returns id, editToken, ownerUrl, listUrl, shopUrl. OpenAPI: agentCreateAndFill.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"locale": {
"type": "string",
"minLength": 2,
"description": "User locale, e.g. en-US, sv-SE"
},
"climate": {
"enum": [
"tropical",
"hot-dry",
"temperate",
"cold",
"alpine",
"rainy",
"mixed"
],
"type": "string"
},
"country": {
"type": "string",
"description": "Optional ISO country code of the end user, e.g. US → amazon.com, SE → amazon.se. Used when marketplace is omitted."
},
"tripName": {
"type": "string"
},
"tripType": {
"enum": [
"beach",
"city",
"hiking",
"business",
"winter-sports",
"camping",
"road-trip",
"cruise",
"other"
],
"type": "string"
},
"itemAsins": {
"type": "array",
"items": {
"type": "string"
}
},
"travelers": {
"enum": [
"solo",
"couple",
"family",
"group"
],
"type": "string"
},
"destination": {
"type": "string"
},
"itemQueries": {
"type": "array",
"items": {
"type": "string"
},
"description": "Each query is searched and added as a packing item"
},
"marketplace": {
"type": "string",
"description": "Amazon storefront for the end user: amazon.com (United States — English titles, USD prices, amazon.com /dp links) or amazon.se (Sweden, SEK). Also accepts ids like us / se. Pass marketplace=amazon.com for US users. If omitted: country is used, then the caller's Accept-Language (en-US → amazon.com), else amazon.se. Unknown values fall back to amazon.se (never an error)."
},
"durationBand": {
"enum": [
"weekend",
"1-week",
"2-weeks",
"month-plus"
],
"type": "string"
},
"durationDays": {
"type": "integer",
"maximum": 365,
"minimum": 1
},
"itemKeywords": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": true
}get_packing_list — Get packing list
Fetch a packing list by id. Returns wishlist items with buyUrl/linkType when available, plus ownerUrl, listUrl, shopUrl. OpenAPI: getWishlist.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Packing list id (short Redis id or t.* token)"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true
}add_packing_item — Add packing item
Add an item to a packing list. Requires editToken from create. Body: name/title plus asin, url (pasted /dp), searchKeywords, or catalogId. Token storage may return a new id — update bookmarks. OpenAPI: addWishlistItem.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id",
"editToken"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Packing list id"
},
"url": {
"type": "string"
},
"asin": {
"type": "string"
},
"name": {
"type": "string"
},
"emoji": {
"type": "string"
},
"title": {
"type": "string"
},
"packed": {
"type": "boolean"
},
"catalogId": {
"type": "string"
},
"editToken": {
"type": "string",
"minLength": 1,
"description": "X-Edit-Token from create/mutate response"
},
"searchKeywords": {
"type": "string"
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": true
}Prompts
Not advertised
Resources
Not advertised
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
- 1401 ms
- 95th percentile latency
- 1401 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1401 ms · metadata changed · 10 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http travel-packing-mcp https://travel-packing-zeta.vercel.app/api/mcpCodex
codex mcp add travel-packing-mcp --url https://travel-packing-zeta.vercel.app/api/mcpCursor
{
"mcpServers": {
"travel-packing-mcp": {
"url": "https://travel-packing-zeta.vercel.app/api/mcp"
}
}
}Cline
{
"mcpServers": {
"travel-packing-mcp": {
"type": "streamableHttp",
"url": "https://travel-packing-zeta.vercel.app/api/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"travel-packing-mcp": {
"type": "http",
"url": "https://travel-packing-zeta.vercel.app/api/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http travel-packing-mcp https://travel-packing-zeta.vercel.app/api/mcpClaude Desktop
{
"mcpServers": {
"travel-packing-mcp": {
"url": "https://travel-packing-zeta.vercel.app/api/mcp"
}
}
}Windsurf
{
"mcpServers": {
"travel-packing-mcp": {
"serverUrl": "https://travel-packing-zeta.vercel.app/api/mcp"
}
}
}Let your agent find its tools
Find servers like Travel Packing MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.