Fitness Starter – hand-picked gift ideas

Hand-picked gift ideas for new runners and yogis, turned into shareable wishlists fast.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
80%
Naming quality
93%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,872Tokens (tool definitions)
~2.9 KBTypical response size
Moderate attention impact (1.46% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "fitness-gifts": {
      "url": "https://fitness-starter.vercel.app/api/mcp"
    }
  }
}

Remote endpoints

https://fitness-starter.vercel.app/api/mcpstreamable-http

What it can do

Tool inventory

Tools (6)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_gear(q, goal, level, budgetBand, marketplace, ...)

Search fitness gear: hand-picked /dp/ matches plus English (amazon.com) or Swedish (amazon.se) search links. Pass marketplace=amazon.com for US shoppers; marketplace/locale are optional (en-US → amazon.com, otherwise amazon.se).

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Search query in English for amazon.com (optional; defaults to fitness starter gear)"
    },
    "goal": {
      "type": "string",
      "enum": [
        "run",
        "lift",
        "yoga"
      ],
      "description": "Fitness goal"
    },
    "level": {
      "type": "string",
      "enum": [
        "starter",
        "building",
        "serious"
      ],
      "description": "Experience level"
    },
    "budgetBand": {
      "type": "string",
      "enum": [
        "under-500",
        "500-1500",
        "1500-3000",
        "3000-plus"
      ]
    },
    "marketplace": {
      "type": "string",
      "description": "Optional. Amazon storefront domain or id, e.g. amazon.com, amazon.se, us, se. Use marketplace=amazon.com for US shoppers (hand-picked amazon.com /dp/ catalog, tag sw-fitness-20). If omitted: country, then Accept-Language (en-US → amazon.com), else amazon.se."
    },
    "country": {
      "type": "string",
      "description": "Optional ISO country code, e.g. US or SE (US → amazon.com). Used when marketplace is omitted."
    },
    "locale": {
      "type": "string",
      "description": "Optional end-user locale, e.g. en-US, sv-SE. Defaults from Accept-Language or the store (amazon.com → en-US, amazon.se → sv-SE)."
    },
    "limit": {
      "type": "integer",
      "default": 8
    }
  },
  "required": []
}
🟡create_pack(athleteName, goal, level, budgetBand, marketplace, ...)

Create a gear pack (optionally pre-filled). Returns ownerUrl + shopUrl + editToken. marketplace=amazon.com gives amazon.com /dp/ links; optional (en-US → amazon.com, otherwise amazon.se).

Input Schema

{
  "type": "object",
  "properties": {
    "athleteName": {
      "type": "string"
    },
    "goal": {
      "type": "string",
      "enum": [
        "run",
        "lift",
        "yoga"
      ]
    },
    "level": {
      "type": "string",
      "enum": [
        "starter",
        "building",
        "serious"
      ]
    },
    "budgetBand": {
      "type": "string",
      "enum": [
        "under-500",
        "500-1500",
        "1500-3000",
        "3000-plus"
      ]
    },
    "marketplace": {
      "type": "string",
      "description": "Optional. Amazon storefront domain or id, e.g. amazon.com, amazon.se, us, se. Use marketplace=amazon.com for US shoppers (hand-picked amazon.com /dp/ catalog, tag sw-fitness-20). If omitted: country, then Accept-Language (en-US → amazon.com), else amazon.se."
    },
    "country": {
      "type": "string",
      "description": "Optional ISO country code, e.g. US or SE (US → amazon.com). Used when marketplace is omitted."
    },
    "locale": {
      "type": "string",
      "description": "Optional end-user locale, e.g. en-US, sv-SE. Defaults from Accept-Language or the store (amazon.com → en-US, amazon.se → sv-SE)."
    },
    "itemAsins": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "itemKeywords": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "itemQueries": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": []
}
🟡create_and_fill(athleteName, goal, level, budgetBand, marketplace, ...)

One call: create a pre-filled gift pack (same as create_pack). Returns ownerUrl + shopUrl + editToken. marketplace=amazon.com gives amazon.com /dp/ links; optional (en-US → amazon.com, otherwise amazon.se).

Input Schema

{
  "type": "object",
  "properties": {
    "athleteName": {
      "type": "string"
    },
    "goal": {
      "type": "string",
      "enum": [
        "run",
        "lift",
        "yoga"
      ]
    },
    "level": {
      "type": "string",
      "enum": [
        "starter",
        "building",
        "serious"
      ]
    },
    "budgetBand": {
      "type": "string",
      "enum": [
        "under-500",
        "500-1500",
        "1500-3000",
        "3000-plus"
      ]
    },
    "marketplace": {
      "type": "string",
      "description": "Optional. Amazon storefront domain or id, e.g. amazon.com, amazon.se, us, se. Use marketplace=amazon.com for US shoppers (hand-picked amazon.com /dp/ catalog, tag sw-fitness-20). If omitted: country, then Accept-Language (en-US → amazon.com), else amazon.se."
    },
    "country": {
      "type": "string",
      "description": "Optional ISO country code, e.g. US or SE (US → amazon.com). Used when marketplace is omitted."
    },
    "locale": {
      "type": "string",
      "description": "Optional end-user locale, e.g. en-US, sv-SE. Defaults from Accept-Language or the store (amazon.com → en-US, amazon.se → sv-SE)."
    },
    "itemAsins": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "itemKeywords": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "itemQueries": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": []
}
🟡add_item(id, editToken, title, name, asin, ...)

Add a gear item to an existing pack. Requires id + editToken; marketplace/locale optional.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Pack id"
    },
    "editToken": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "asin": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "searchKeywords": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "emoji": {
      "type": "string"
    },
    "marketplace": {
      "type": "string",
      "description": "Optional. Amazon storefront domain or id, e.g. amazon.com, amazon.se, us, se. Use marketplace=amazon.com for US shoppers (hand-picked amazon.com /dp/ catalog, tag sw-fitness-20). If omitted: country, then Accept-Language (en-US → amazon.com), else amazon.se."
    },
    "country": {
      "type": "string",
      "description": "Optional ISO country code, e.g. US or SE (US → amazon.com). Used when marketplace is omitted."
    },
    "locale": {
      "type": "string",
      "description": "Optional end-user locale, e.g. en-US, sv-SE. Defaults from Accept-Language or the store (amazon.com → en-US, amazon.se → sv-SE)."
    }
  },
  "required": [
    "id",
    "editToken"
  ]
}
🟢browse_catalog(q, goal, level, budgetBand, limit, ...)

List hand-picked catalog products with /dp/ buy links: marketplace=amazon.com → US catalog (amazon.com/dp/ASIN?tag=sw-fitness-20), amazon.se → Swedish catalog (tag sw-fitness-21). If marketplace is omitted, en-US → amazon.com, otherwise amazon.se. Filter by goal/level/budgetBand/q.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string"
    },
    "goal": {
      "type": "string",
      "enum": [
        "run",
        "lift",
        "yoga"
      ]
    },
    "level": {
      "type": "string",
      "enum": [
        "starter",
        "building",
        "serious"
      ]
    },
    "budgetBand": {
      "type": "string",
      "enum": [
        "under-500",
        "500-1500",
        "1500-3000",
        "3000-plus"
      ]
    },
    "limit": {
      "type": "number"
    },
    "marketplace": {
      "type": "string",
      "description": "Optional. Amazon storefront domain or id, e.g. amazon.com, amazon.se, us, se. Use marketplace=amazon.com for US shoppers (hand-picked amazon.com /dp/ catalog, tag sw-fitness-20). If omitted: country, then Accept-Language (en-US → amazon.com), else amazon.se."
    },
    "country": {
      "type": "string",
      "description": "Optional ISO country code, e.g. US or SE (US → amazon.com). Used when marketplace is omitted."
    },
    "locale": {
      "type": "string",
      "description": "Optional end-user locale, e.g. en-US, sv-SE. Defaults from Accept-Language or the store (amazon.com → en-US, amazon.se → sv-SE)."
    }
  },
  "required": []
}
⚪resolve_product(asin, url, keywords, goal, level, ...)

Resolve ASIN, Amazon URL, or keywords to a buy URL (buyUrl + trackingTag) on amazon.com, amazon.se or another storefront. marketplace optional (en-US → amazon.com, otherwise amazon.se).

Input Schema

{
  "type": "object",
  "properties": {
    "asin": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "keywords": {
      "type": "string"
    },
    "goal": {
      "type": "string",
      "enum": [
        "run",
        "lift",
        "yoga"
      ]
    },
    "level": {
      "type": "string",
      "enum": [
        "starter",
        "building",
        "serious"
      ]
    },
    "marketplace": {
      "type": "string",
      "description": "Optional. Amazon storefront domain or id, e.g. amazon.com, amazon.se, us, se. Use marketplace=amazon.com for US shoppers (hand-picked amazon.com /dp/ catalog, tag sw-fitness-20). If omitted: country, then Accept-Language (en-US → amazon.com), else amazon.se."
    },
    "country": {
      "type": "string",
      "description": "Optional ISO country code, e.g. US or SE (US → amazon.com). Used when marketplace is omitted."
    },
    "locale": {
      "type": "string",
      "description": "Optional end-user locale, e.g. en-US, sv-SE. Defaults from Accept-Language or the store (amazon.com → en-US, amazon.se → sv-SE)."
    }
  },
  "required": []
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded6 tools