Home Office Builder – hand-picked gift ideas
Hand-picked gift ideas for home offices that assistants turn into shareable wishlists fast. SE + US.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"homeoffice-gifts": {
"url": "https://home-office-builder.vercel.app/api/mcp"
}
}
}원격 엔드포인트
https://home-office-builder.vercel.app/api/mcpstreamable-http할 수 있는 일
도구 목록
도구 (8)
🟢get_health
Health check for Home Office Builder. Returns ok, storage, paapi, trackingTag, tagConfigured, domain, catalogCount. tagConfigured is false until real Associates IDs are set (links omit tag=). OpenAPI: getHealth.
입력 스키마
{
"type": "object",
"properties": {}
}🟢search_desk_gear(q, marketplace, locale, role, budgetBand, ...)
Search Amazon for home-office desk gear on the user's marketplace. Filter by role + budgetBand. Returns PA-API products when configured, otherwise desk-setup search deep-link cards + catalogMatches. ALWAYS pass marketplace + locale. Amazon URLs omit tag= until tagConfigured is true. OpenAPI: searchAmazon.
입력 스키마
{
"type": "object",
"properties": {
"q": {
"type": "string",
"minLength": 1,
"description": "Search query, e.g. monitor arm"
},
"marketplace": {
"type": "string",
"minLength": 2,
"description": "Amazon storefront domain or id for the end user, e.g. amazon.se, amazon.com, se, de. REQUIRED — pass the user's storefront; curated ASINs only produce /dp links when trusted for that marketplace."
},
"locale": {
"type": "string",
"minLength": 2,
"description": "User locale, e.g. en, sv, de, fr, es, en-US"
},
"role": {
"type": "string",
"enum": [
"developer",
"designer",
"student",
"general"
],
"description": "developer | designer | student | general"
},
"budgetBand": {
"type": "string",
"enum": [
"under-500",
"500-1500",
"1500-4000",
"4000-plus"
],
"description": "under-500 | 500-1500 | 1500-4000 | 4000-plus"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"default": 10
}
},
"required": [
"q",
"marketplace",
"locale"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_catalog(marketplace, locale, q, role, budgetBand, ...)
Paginated curated desk starters (~51). Prefer search_desk_gear for discovery. ALWAYS pass marketplace + locale. Filter by role + budgetBand. OpenAPI: getCatalog.
입력 스키마
{
"type": "object",
"properties": {
"marketplace": {
"type": "string",
"minLength": 2,
"description": "Amazon storefront domain or id for the end user, e.g. amazon.se, amazon.com, se, de. REQUIRED — pass the user's storefront; curated ASINs only produce /dp links when trusted for that marketplace."
},
"locale": {
"type": "string",
"minLength": 2,
"description": "User locale, e.g. en, sv, de, fr, es, en-US"
},
"q": {
"type": "string",
"description": "Full-text filter"
},
"role": {
"type": "string",
"enum": [
"developer",
"designer",
"student",
"general"
]
},
"budgetBand": {
"type": "string",
"enum": [
"under-500",
"500-1500",
"1500-4000",
"4000-plus"
]
},
"category": {
"type": "string"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 48
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
}
},
"required": [
"marketplace",
"locale"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢resolve_product(marketplace, locale, asin, url, keywords, ...)
Resolve an ASIN, pasted Amazon /dp/ URL, or keywords to an buyUrl (product /dp or desk search). ALWAYS pass marketplace + locale. Does not invent tracking tags — when unset, URLs omit tag= and tagConfigured is false. OpenAPI: resolveProduct.
입력 스키마
{
"type": "object",
"properties": {
"marketplace": {
"type": "string",
"minLength": 2,
"description": "Amazon storefront domain or id for the end user, e.g. amazon.se, amazon.com, se, de. REQUIRED — pass the user's storefront; curated ASINs only produce /dp links when trusted for that marketplace."
},
"locale": {
"type": "string",
"minLength": 2,
"description": "User locale, e.g. en, sv, de, fr, es, en-US"
},
"asin": {
"type": "string",
"description": "10-char Amazon ASIN"
},
"url": {
"type": "string",
"description": "Pasted Amazon product URL"
},
"keywords": {
"type": "string",
"description": "Search keywords if no ASIN"
},
"role": {
"type": "string",
"enum": [
"developer",
"designer",
"student",
"general"
]
},
"budgetBand": {
"type": "string",
"enum": [
"under-500",
"500-1500",
"1500-4000",
"4000-plus"
]
}
},
"required": [
"marketplace",
"locale"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_desk_board(personName, deskName, role, budgetBand, marketplace, ...)
Create a home-office desk board (wishlist). Returns id, editToken, ownerUrl, shopUrl, wishlist, storage. Save editToken for add_desk_item. Prefer create_and_fill for one-shot. OpenAPI: createWishlist.
입력 스키마
{
"type": "object",
"properties": {
"personName": {
"type": "string"
},
"deskName": {
"type": "string"
},
"role": {
"type": "string",
"enum": [
"developer",
"designer",
"student",
"general"
]
},
"budgetBand": {
"type": "string",
"enum": [
"under-500",
"500-1500",
"1500-4000",
"4000-plus"
]
},
"marketplace": {
"type": "string",
"minLength": 2,
"description": "Amazon storefront domain or id for the end user, e.g. amazon.se, amazon.com, se, de. REQUIRED — pass the user's storefront; curated ASINs only produce /dp links when trusted for that marketplace."
},
"locale": {
"type": "string",
"minLength": 2,
"description": "User locale, e.g. en, sv, de, fr, es, en-US"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"name": {
"type": "string"
},
"asin": {
"type": "string"
},
"url": {
"type": "string"
},
"searchKeywords": {
"type": "string"
},
"catalogId": {
"type": "string"
},
"emoji": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_and_fill(personName, deskName, role, budgetBand, marketplace, ...)
One call: create a curated home office setup gift wishlist and return shopUrl (share link) + ownerUrl. Preferred agent path: create a desk board and add ASINs / keywords / search queries in one call. Pass marketplace + locale + role + budgetBand. Returns id, editToken, ownerUrl, shopUrl. OpenAPI: agentCreateAndFill.
입력 스키마
{
"type": "object",
"properties": {
"personName": {
"type": "string"
},
"deskName": {
"type": "string"
},
"role": {
"type": "string",
"enum": [
"developer",
"designer",
"student",
"general"
]
},
"budgetBand": {
"type": "string",
"enum": [
"under-500",
"500-1500",
"1500-4000",
"4000-plus"
]
},
"marketplace": {
"type": "string",
"minLength": 2,
"description": "Amazon storefront domain or id for the end user, e.g. amazon.se, amazon.com, se, de. REQUIRED — pass the user's storefront; curated ASINs only produce /dp links when trusted for that marketplace."
},
"locale": {
"type": "string",
"minLength": 2,
"description": "User locale, e.g. en, sv, de, fr, es, en-US"
},
"itemAsins": {
"type": "array",
"items": {
"type": "string"
}
},
"itemKeywords": {
"type": "array",
"items": {
"type": "string"
}
},
"itemQueries": {
"type": "array",
"items": {
"type": "string"
},
"description": "Each query is searched and added as a desk item"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_desk_board(id)
Fetch a desk board by id. Returns items with buy links when available, plus ownerUrl and shopUrl. OpenAPI: getWishlist.
입력 스키마
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Board id (short Redis id or t.* token)"
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡add_desk_item(id, editToken, name, title, asin, ...)
Add an item to a desk board. 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",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Desk board id"
},
"editToken": {
"type": "string",
"minLength": 1,
"description": "X-Edit-Token from create/mutate response"
},
"name": {
"type": "string"
},
"title": {
"type": "string"
},
"asin": {
"type": "string"
},
"url": {
"type": "string"
},
"searchKeywords": {
"type": "string"
},
"catalogId": {
"type": "string"
},
"emoji": {
"type": "string"
}
},
"required": [
"id",
"editToken"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}커뮤니티
증거