SuppCo
by supp.co · remote · no sign-in to list tools · v2.0.0 · published by co.supp
Supplement research, product and brand TrustScores, and your SuppCo stack and Buying Club cart.
30 tools: 7 can delete or cancel things, 6 change things and 17 only read.
Scanned Oct 21, 2026
- Deletes or cancels7Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things6Claude Code: ask: see these tools
- Only reads17Claude Code: allow: see these tools
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http suppco https://api.supp.co/mcpFindings
Matches of fixed checks, with the text they matched.
The server marks "suppco_find_buying_club_products" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "suppco_find_buying_club_products" says "find": a word for reading.
The server marks "suppco_get_checkout_url" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "suppco_get_checkout_url" says "get": a word for reading.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
30 tools
Deletes or cancels 7Claude Code: deny
suppco_manage_stackLegacy: prefer suppco_add_to_stack / suppco_remove_from_stack / suppco_swap_products.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Legacy: prefer suppco_add_to_stack / suppco_remove_from_stack / suppco_swap_products. Add, remove, or swap products in user's supplement stack using natural language commands.
Annotations the server declares
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
- title: Manage stack
suppco_remove_from_cartRemove a product from the signed-in user's cart, or set remove_unavailable to true to clear items that are no longer available.No findings
Why it is in this group
- The name "suppco_remove_from_cart" says "remove": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Remove a product from the signed-in user's cart, or set remove_unavailable to true to clear items that are no longer available. Removing a product removes every cart line for it, one-time and subscription. Returns the updated cart.
Annotations the server declares
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: false
- title: Remove from cart
suppco_remove_from_stackUse this when the user has stopped taking a product or wants it off their SuppCo stack.No findings
Why it is in this group
- The name "suppco_remove_from_stack" says "remove": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Use this when the user has stopped taking a product or wants it off their SuppCo stack. Removes the product from the signed-in user's stack. `id` is a SuppCo product UUID or slug, as shown by suppco_get_my_stack.
Annotations the server declares
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
- title: Remove from stack
suppco_swap_productsUse this when the user wants to replace a product in their stack with a different one, for example after comparing alternatives.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Use this when the user wants to replace a product in their stack with a different one, for example after comparing alternatives. Removes old_product_id from the stack and adds new_product_id. Both are SuppCo product UUIDs or slugs.
Annotations the server declares
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
- title: Swap stack products
suppco_update_cart_itemSet the quantity of a product that is already in the signed-in user's cart.No findings
Why it is in this group
- The name "suppco_update_cart_item" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Set the quantity of a product that is already in the signed-in user's cart. quantity is the new total, not an amount to add, so repeating the call is safe; 0 removes the item. If the product is in the cart as both a one-time purchase and a subscription, set subscription to choose which one to change. Returns the updated cart.
Annotations the server declares
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: false
- title: Update cart item
suppco_update_my_profileUse this when the user gives profile details they want saved: age, sex, health goals, dietary preferences, experience level, buying preference, preferred form or biggest challenge.No findings
Why it is in this group
- The name "suppco_update_my_profile" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Use this when the user gives profile details they want saved: age, sex, health goals, dietary preferences, experience level, buying preference, preferred form or biggest challenge. Only the fields you pass are changed, and each one replaces the stored value. Saved preferences change the defaults other SuppCo tools use, such as product search ranking.
Annotations the server declares
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: false
- title: Update my profile
suppco_update_product_scheduleUse this when the user wants to change when or how they take a product that is already in their stack.No findings
Why it is in this group
- The name "suppco_update_product_schedule" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Use this when the user wants to change when or how they take a product that is already in their stack. Replaces that product's schedule: time-of-day amounts, daily, specific-days or every-other-day timing, as-needed, with food, and timing notes.
Annotations the server declares
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: false
- title: Update product schedule
Changes things 6Claude Code: ask
suppco_add_to_cartAdd a Buying Club product to the signed-in user's cart (the same cart as the SuppCo app).No findings
Why it is in this group
- The name "suppco_add_to_cart" says "add": a word for a change.
Description, as the server wrote it Add a Buying Club product to the signed-in user's cart (the same cart as the SuppCo app). Use a product ID or slug from suppco_find_buying_club_products or suppco_compare_to_buying_club; only Buying Club products can be added. Set subscription to true for a recurring subscription at the product's recommended shipping interval. Returns the updated cart. This adds to any quantity already in the cart, so calling it again adds more units; to set an exact quantity, use suppco_update_cart_item.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: false
- title: Add to cart
suppco_add_to_stackUse this when the user wants to start tracking a product in their SuppCo stack.No findings
Why it is in this group
- The name "suppco_add_to_stack" says "add": a word for a change.
Description, as the server wrote it Use this when the user wants to start tracking a product in their SuppCo stack. Adds the product to the signed-in user's stack. `id` is a SuppCo product UUID or slug from a search or product result. This does not buy anything; to buy a Buying Club product, use suppco_add_to_cart.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
- title: Add to stack
suppco_find_buying_club_productsOpen-ended search/browse of the SuppCo buying club catalog: free-text lookups ("Thorne Magnesium") or filtered browsing by category, trust, price, form, certifications, and brand.1 finding
Why it is in this group
- The name "suppco_find_buying_club_products" says "find": a word for reading.
- The description's first verb is "open": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "suppco_find_buying_club_products" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "suppco_find_buying_club_products" says "find": a word for reading.
Description, as the server wrote it Open-ended search/browse of the SuppCo buying club catalog: free-text lookups ("Thorne Magnesium") or filtered browsing by category, trust, price, form, certifications, and brand. Every result is a buying-club product with member pricing and earnings credit (cashback). Use this when the user is exploring a category with no specific current product in play. For finding an alternative to a product the user already takes, use suppco_compare_to_buying_club instead (it returns their current product as the anchor).
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Find Buying Club products
suppco_get_checkout_urlGet a secure checkout link for the signed-in user's cart.1 finding
Why it is in this group
- The name "suppco_get_checkout_url" says "get": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "suppco_get_checkout_url" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "suppco_get_checkout_url" says "get": a word for reading.
Description, as the server wrote it Get a secure checkout link for the signed-in user's cart. The link signs the user into checkout so member pricing and credit apply. It works once and expires after 10 minutes, so call this only when the user is ready to pay and give them the link right away. Buying Club credit is applied by default; set use_wallet to false if the user doesn't want to use their credit.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: false
- title: Get checkout link
suppco_refresh_stack_scoreKick off a StackScore refresh.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Kick off a StackScore refresh. The score recalculates asynchronously and takes a few minutes. Only use when the user confirms they want to refresh.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
- title: Refresh my StackScore
suppco_save_memoryUse this when the user explicitly asks SuppCo to remember a preference or fact about them for future SuppCo conversations.No findings
Why it is in this group
- The name "suppco_save_memory" says "save": a word for a change.
Description, as the server wrote it Use this when the user explicitly asks SuppCo to remember a preference or fact about them for future SuppCo conversations. Saves one short note to their SuppCo account.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- readOnlyHint: false
- title: Save a note about me
Only reads 17Claude Code: allow
suppco_compare_product_to_alternativesCompare a product against alternatives in its category.No findings
Why it is in this group
- The name "suppco_compare_product_to_alternatives" says "compare": a word for reading.
Description, as the server wrote it Compare a product against alternatives in its category. Returns a detailed view of the anchor product (trust score, ingredients, excipients) alongside filtered alternatives. Use when user asks to compare, find alternatives, or asks "is there something better?"
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Compare product to alternatives
suppco_compare_to_buying_clubUse this when the user asks whether the SuppCo Buying Club carries an alternative to a specific product, usually one they already take.No findings
Why it is in this group
- The name "suppco_compare_to_buying_club" says "compare": a word for reading.
Description, as the server wrote it Use this when the user asks whether the SuppCo Buying Club carries an alternative to a specific product, usually one they already take. Returns that product plus Buying Club products in the same category with TrustScore, price, member price and cashback.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Compare to Buying Club
suppco_find_brandsFind and filter brands.No findings
Why it is in this group
- The name "suppco_find_brands" says "find": a word for reading.
Description, as the server wrote it Find and filter brands. Use this to search for brands by name or to list brands matching specific criteria (e.g., brands that have been TESTED by SuppCo).
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Find brands
suppco_find_productsFind products based on user query - handles search, browsing, and recommendations.No findings
Why it is in this group
- The name "suppco_find_products" says "find": a word for reading.
Description, as the server wrote it Find products based on user query - handles search, browsing, and recommendations. Use this whenever the user wants to discover or find products.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Find products
suppco_get_brand_trust_scoreUse this when the user asks how trustworthy or high-quality a specific supplement brand is.No findings
Why it is in this group
- The name "suppco_get_brand_trust_score" says "get": a word for reading.
Description, as the server wrote it Use this when the user asks how trustworthy or high-quality a specific supplement brand is. Returns the brand's TrustScore with its quality assessment. Pass the brand's name, slug or UUID as brand_query.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Get brand TrustScore
suppco_get_my_cartGet the signed-in user's Buying Club cart: items, quantities, one-time or subscription, prices, subtotal, available credit and estimated cashback, plus any items that are no longer…No findings
Why it is in this group
- The name "suppco_get_my_cart" says "get": a word for reading.
Description, as the server wrote it Get the signed-in user's Buying Club cart: items, quantities, one-time or subscription, prices, subtotal, available credit and estimated cashback, plus any items that are no longer available.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: Get my cart
suppco_get_my_nutrient_planUse this when the user asks which nutrients they should take or how much.No findings
Why it is in this group
- The name "suppco_get_my_nutrient_plan" says "get": a word for reading.
Description, as the server wrote it Use this when the user asks which nutrients they should take or how much. Returns the signed-in user's personalized plan with recommended nutrients and dosages. For what their current stack actually provides, use suppco_get_my_nutrient_totals.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: Get my nutrient plan
suppco_get_my_nutrient_totalsUse this when the user asks how much of a nutrient their current supplements provide, or whether they are over or under recommended amounts.No findings
Why it is in this group
- The name "suppco_get_my_nutrient_totals" says "get": a word for reading.
Description, as the server wrote it Use this when the user asks how much of a nutrient their current supplements provide, or whether they are over or under recommended amounts. Returns the daily nutrient totals from the signed-in user's stack compared with recommended values.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: Get my nutrient totals
suppco_get_my_protocolsUse this when the user asks about the health protocols they are following.No findings
Why it is in this group
- The name "suppco_get_my_protocols" says "get": a word for reading.
Description, as the server wrote it Use this when the user asks about the health protocols they are following. Returns the signed-in user's protocols with progress and supplement recommendations. To find new protocols, use suppco_search_protocols.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: Get my protocols
suppco_get_my_scheduleGet the user's current supplement schedule — shows when each product is taken (morning, midday, evening, bedtime, workout), dose amounts per time slot, with_food flags, and schedul…No findings
Why it is in this group
- The name "suppco_get_my_schedule" says "get": a word for reading.
Description, as the server wrote it Get the user's current supplement schedule — shows when each product is taken (morning, midday, evening, bedtime, workout), dose amounts per time slot, with_food flags, and schedule frequency.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: Get my schedule
suppco_get_my_stackUse this when you need the signed-in user's current supplements, for example before recommending, comparing, swapping or removing products.No findings
Why it is in this group
- The name "suppco_get_my_stack" says "get": a word for reading.
Description, as the server wrote it Use this when you need the signed-in user's current supplements, for example before recommending, comparing, swapping or removing products. Returns every product in their stack with dosages and daily totals, including the product IDs other SuppCo tools accept.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: Get my stack
suppco_get_nutrient_infoUse this when the user asks about dosing for a specific nutrient or supplement: typical daily intake ranges and upper limits from SuppCo's references, timing and whether to take it…No findings
Why it is in this group
- The name "suppco_get_nutrient_info" says "get": a word for reading.
Description, as the server wrote it Use this when the user asks about dosing for a specific nutrient or supplement: typical daily intake ranges and upper limits from SuppCo's references, timing and whether to take it with food, plus a summary of its graded research. General information only; does not diagnose, treat or give personalized dosing advice. For what studies say about a supplement for a specific health area, use suppco_search_effects.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Get nutrient info
suppco_get_product_infoLook up detailed information (composition, ingredients, price, format, servings) for one or more specific products by UUID, slug, or name.No findings
Why it is in this group
- The name "suppco_get_product_info" says "get": a word for reading.
Description, as the server wrote it Look up detailed information (composition, ingredients, price, format, servings) for one or more specific products by UUID, slug, or name. Use for "tell me about <product>" or to hydrate products you only have ids for (e.g. from the user's stack). Accepts names when you don't have an id yet. For TrustScore rationale, certifications, or testing, call suppco_get_product_trust_score instead.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Get product info
suppco_get_product_trust_scoreGet TrustScore details and quality assessment for one or more products: score rationale/commentary, certifications, testing and verified lab results, brand manufacturing/testing pr…No findings
Why it is in this group
- The name "suppco_get_product_trust_score" says "get": a word for reading.
Description, as the server wrote it Get TrustScore details and quality assessment for one or more products: score rationale/commentary, certifications, testing and verified lab results, brand manufacturing/testing practices, and excipient risk ratings. Accepts product ids/slugs/names (multiple). Call this before discussing why a product is (or is not) trustworthy, its certifications, or its testing — the other product tools return only the headline score number.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Get product TrustScore
suppco_get_stack_scoreUse this when the user asks how good their supplement stack is or how to improve it.No findings
Why it is in this group
- The name "suppco_get_stack_score" says "get": a word for reading.
Description, as the server wrote it Use this when the user asks how good their supplement stack is or how to improve it. Returns the signed-in user's StackScore with Quality, Value, Goals and Dosage ratings and coaching recommendations. Pass category to get a single category.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- readOnlyHint: true
- title: Get my StackScore
suppco_search_effectsUse this when the user asks what published research says about a supplement: its overall effects, or whether it does something for a specific health area such as heart health, stre…No findings
Why it is in this group
- The name "suppco_search_effects" says "search": a word for reading.
Description, as the server wrote it Use this when the user asks what published research says about a supplement: its overall effects, or whether it does something for a specific health area such as heart health, stress or focus. Also use it when the user asks which supplements have the most research behind them for a health area. Returns SuppCo's summaries of published studies with evidence grades. General information only; does not diagnose, treat or recommend treatment for any condition. For dosing and nutrient basics, use suppco_get_nutrient_info; for a full supplement routine for a goal, use suppco_search_protocols.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Search supplement effects
suppco_search_protocolsUse this when the user asks for a supplement protocol for a health goal, such as sleep, energy or weight loss.No findings
Why it is in this group
- The name "suppco_search_protocols" says "search": a word for reading.
Description, as the server wrote it Use this when the user asks for a supplement protocol for a health goal, such as sleep, energy or weight loss. Searches SuppCo's protocols and returns the matches. For protocols the user already follows, use suppco_get_my_protocols.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Search protocols
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 2.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http suppco https://api.supp.co/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__suppco__suppco_find_products",
"mcp__suppco__suppco_get_product_info",
"mcp__suppco__suppco_get_product_trust_score",
"mcp__suppco__suppco_compare_product_to_alternatives",
"mcp__suppco__suppco_compare_to_buying_club",
"mcp__suppco__suppco_get_brand_trust_score",
"mcp__suppco__suppco_find_brands",
"mcp__suppco__suppco_search_effects",
"mcp__suppco__suppco_get_nutrient_info",
"mcp__suppco__suppco_search_protocols",
"mcp__suppco__suppco_get_my_stack",
"mcp__suppco__suppco_get_my_schedule",
"mcp__suppco__suppco_get_my_nutrient_plan",
"mcp__suppco__suppco_get_my_nutrient_totals",
"mcp__suppco__suppco_get_my_protocols",
"mcp__suppco__suppco_get_stack_score",
"mcp__suppco__suppco_get_my_cart"
],
"ask": [
"mcp__suppco__suppco_find_buying_club_products",
"mcp__suppco__suppco_save_memory",
"mcp__suppco__suppco_add_to_stack",
"mcp__suppco__suppco_refresh_stack_score",
"mcp__suppco__suppco_add_to_cart",
"mcp__suppco__suppco_get_checkout_url"
],
"deny": [
"mcp__suppco__suppco_update_product_schedule",
"mcp__suppco__suppco_update_my_profile",
"mcp__suppco__suppco_remove_from_stack",
"mcp__suppco__suppco_swap_products",
"mcp__suppco__suppco_manage_stack",
"mcp__suppco__suppco_update_cart_item",
"mcp__suppco__suppco_remove_from_cart"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as suppco. Review it before you use it.