Home Office Builder MCP
A remote MCP server that allows AI assistants to generate curated home office gift wishlists from Amazon.se products. It supports creating shareable owner and shopper links, searching for items by role and budget, and resolving product URLs with affiliate tracking tags for the Swedish market.
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://home-office-builder.vercel.app/api/mcpWhat you can do with it
- Build a home office shopping list for a developer
- Create a gift wishlist for a colleague working from home
- Search curated home office gear by role and budget
- Generate shareable wishlist links for gift-givers
Source and maintenance
Protocol and capabilities
- Server
- home-office-builder 1.1.0
- MCP protocol
- 2025-06-18
- Tools
- 8 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
8 advertised
get_health — Health & tag status
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": {}
}{
"readOnlyHint": true,
"openWorldHint": true
}search_desk_gear — Search desk gear
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",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"q",
"marketplace",
"locale"
],
"properties": {
"q": {
"type": "string",
"minLength": 1,
"description": "Search query, e.g. monitor arm"
},
"role": {
"enum": [
"developer",
"designer",
"student",
"general"
],
"type": "string",
"description": "developer | designer | student | general"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1
},
"locale": {
"type": "string",
"minLength": 2,
"description": "User locale, e.g. en, sv, de, fr, es, en-US"
},
"budgetBand": {
"enum": [
"under-500",
"500-1500",
"1500-4000",
"4000-plus"
],
"type": "string",
"description": "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."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true
}get_catalog — Curated desk catalog
Paginated curated desk starters (~51). Prefer search_desk_gear for discovery. ALWAYS pass marketplace + locale. Filter by role + budgetBand. OpenAPI: getCatalog.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"marketplace",
"locale"
],
"properties": {
"q": {
"type": "string",
"description": "Full-text filter"
},
"role": {
"enum": [
"developer",
"designer",
"student",
"general"
],
"type": "string"
},
"limit": {
"type": "integer",
"default": 48,
"maximum": 100,
"minimum": 1
},
"locale": {
"type": "string",
"minLength": 2,
"description": "User locale, e.g. en, sv, de, fr, es, en-US"
},
"offset": {
"type": "integer",
"default": 0,
"minimum": 0
},
"category": {
"type": "string"
},
"budgetBand": {
"enum": [
"under-500",
"500-1500",
"1500-4000",
"4000-plus"
],
"type": "string"
},
"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."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true
}resolve_product — Resolve buy / product link
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",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"marketplace",
"locale"
],
"properties": {
"url": {
"type": "string",
"description": "Pasted Amazon product URL"
},
"asin": {
"type": "string",
"description": "10-char Amazon ASIN"
},
"role": {
"enum": [
"developer",
"designer",
"student",
"general"
],
"type": "string"
},
"locale": {
"type": "string",
"minLength": 2,
"description": "User locale, e.g. en, sv, de, fr, es, en-US"
},
"keywords": {
"type": "string",
"description": "Search keywords if no ASIN"
},
"budgetBand": {
"enum": [
"under-500",
"500-1500",
"1500-4000",
"4000-plus"
],
"type": "string"
},
"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."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true
}create_desk_board — Create desk board
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",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"role": {
"enum": [
"developer",
"designer",
"student",
"general"
],
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"asin": {
"type": "string"
},
"name": {
"type": "string"
},
"emoji": {
"type": "string"
},
"title": {
"type": "string"
},
"catalogId": {
"type": "string"
},
"searchKeywords": {
"type": "string"
}
},
"additionalProperties": false
}
},
"locale": {
"type": "string",
"minLength": 2,
"description": "User locale, e.g. en, sv, de, fr, es, en-US"
},
"deskName": {
"type": "string"
},
"budgetBand": {
"enum": [
"under-500",
"500-1500",
"1500-4000",
"4000-plus"
],
"type": "string"
},
"personName": {
"type": "string"
},
"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."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": true
}create_and_fill — One-shot create and fill
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",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"role": {
"enum": [
"developer",
"designer",
"student",
"general"
],
"type": "string"
},
"locale": {
"type": "string",
"minLength": 2,
"description": "User locale, e.g. en, sv, de, fr, es, en-US"
},
"deskName": {
"type": "string"
},
"itemAsins": {
"type": "array",
"items": {
"type": "string"
}
},
"budgetBand": {
"enum": [
"under-500",
"500-1500",
"1500-4000",
"4000-plus"
],
"type": "string"
},
"personName": {
"type": "string"
},
"itemQueries": {
"type": "array",
"items": {
"type": "string"
},
"description": "Each query is searched and added as a desk item"
},
"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."
},
"itemKeywords": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": true
}get_desk_board — Get desk board
Fetch a desk board by id. Returns items with buy links when available, plus ownerUrl and shopUrl. OpenAPI: getWishlist.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Board id (short Redis id or t.* token)"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true
}add_desk_item — Add desk item
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",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id",
"editToken"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Desk board id"
},
"url": {
"type": "string"
},
"asin": {
"type": "string"
},
"name": {
"type": "string"
},
"emoji": {
"type": "string"
},
"title": {
"type": "string"
},
"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
- 1507 ms
- 95th percentile latency
- 1507 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1507 ms · metadata changed · 8 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http home-office-builder-mcp https://home-office-builder.vercel.app/api/mcpCodex
codex mcp add home-office-builder-mcp --url https://home-office-builder.vercel.app/api/mcpCursor
{
"mcpServers": {
"home-office-builder-mcp": {
"url": "https://home-office-builder.vercel.app/api/mcp"
}
}
}Cline
{
"mcpServers": {
"home-office-builder-mcp": {
"type": "streamableHttp",
"url": "https://home-office-builder.vercel.app/api/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"home-office-builder-mcp": {
"type": "http",
"url": "https://home-office-builder.vercel.app/api/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http home-office-builder-mcp https://home-office-builder.vercel.app/api/mcpClaude Desktop
{
"mcpServers": {
"home-office-builder-mcp": {
"url": "https://home-office-builder.vercel.app/api/mcp"
}
}
}Windsurf
{
"mcpServers": {
"home-office-builder-mcp": {
"serverUrl": "https://home-office-builder.vercel.app/api/mcp"
}
}
}Let your agent find its tools
Find servers like Home Office Builder MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.