Koskamo

Sportpoeder MCP

An MCP server providing access to Sportpoeder's supplement price comparison data, including real-time prices, price history, verified discount codes, and SupplementScore ratings for sports supplements in the Netherlands and Belgium.

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.

Sportpoeder MCP logo, by GoSocialFit B.V.Vendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-06Operated by GoSocialFit B.V.
MCP endpoint (Streamable HTTP)
https://sportpoeder.nl/api/agent/mcp
Vendor documentation

What its tools do

12 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

12 of 12 have a description · 12 of 12 declare behavior hints · 1 of 12 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to sportpoeder.nl ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Find the cheapest whey protein per kilo under a specific price
  • Check if a discount code is verified and active
  • View price history for a specific supplement product
  • Get SupplementScore ratings and medical opinions

Source and maintenance

Vendor evidenceRegistry 1.3.0

Protocol and capabilities

Server
sportpoeder-agent 1.1.0
MCP protocol negotiated in check
2025-06-18
Tools
12 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {}
}

Tools

12 advertised

zoek_producten — Producten zoeken
Advertised by the server during the last successful anonymous check.
Advertised read-only

Zoek supplementen over alle shops in de gekozen markt (ook niet-Shopify) met prijs per 100 g/portie, SupplementScore en actuele kortingscode.

zoek_producten input schema
{
  "type": "object",
  "required": [
    "zoekterm"
  ],
  "properties": {
    "markt": {
      "enum": [
        "nl",
        "be",
        "de",
        "fr",
        "es",
        "uk"
      ],
      "type": "string",
      "default": "nl",
      "description": "Markt/land voor prijzen, links en codes (standaard nl); uk = Verenigd Koninkrijk, prijzen in ponden."
    },
    "zoekterm": {
      "type": "string"
    },
    "max_prijs": {
      "type": "number"
    }
  }
}
zoek_producten annotations
{
  "title": "Producten zoeken",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
product_oordeel — Productoordeel (SupplementScore)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Onafhankelijk kwaliteitsoordeel over één product: SupplementScore met onderbouwing, reviews en actuele prijs.

product_oordeel input schema
{
  "type": "object",
  "required": [
    "product_id"
  ],
  "properties": {
    "markt": {
      "enum": [
        "nl",
        "be",
        "de",
        "fr",
        "es",
        "uk"
      ],
      "type": "string",
      "default": "nl",
      "description": "Markt/land voor prijzen, links en codes (standaard nl); uk = Verenigd Koninkrijk, prijzen in ponden."
    },
    "product_id": {
      "type": "integer"
    }
  }
}
product_oordeel annotations
{
  "title": "Productoordeel (SupplementScore)",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
prijs_historie — Prijshistorie
Advertised by the server during the last successful anonymous check.
Advertised read-only

Prijsverloop van een product (dagmetingen): laagste/hoogste/mediaan en of de huidige 'korting' echt een korting is. Geef product_id (het id uit zoek_producten, beste_in_categorie of product_oordeel) of product_key (uit datzelfde resultaat) mee.

prijs_historie input schema
{
  "type": "object",
  "properties": {
    "dagen": {
      "type": "integer",
      "default": 90
    },
    "markt": {
      "enum": [
        "nl",
        "be",
        "de",
        "fr",
        "es",
        "uk"
      ],
      "type": "string",
      "default": "nl",
      "description": "Markt/land voor prijzen, links en codes (standaard nl); uk = Verenigd Koninkrijk, prijzen in ponden."
    },
    "product_id": {
      "type": "integer",
      "description": "Het id van het product uit een eerder zoekresultaat; de sleutel voor de prijshistorie wordt dan zelf opgezocht."
    },
    "product_key": {
      "type": "string",
      "description": "Warehouse-sleutel catalog:<shop>:<variant-id> (veld product_key in een zoekresultaat); alternatief voor product_id."
    }
  }
}
prijs_historie annotations
{
  "title": "Prijshistorie",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
geverifieerde_code — Geverifieerde kortingscode
Advertised by the server during the last successful anonymous check.
Advertised read-only

De actuele kortingscode voor een merk in de gekozen markt, met laatst-geverifieerd-datum en succespercentage uit gebruikersstemmen.

geverifieerde_code input schema
{
  "type": "object",
  "required": [
    "merk"
  ],
  "properties": {
    "merk": {
      "type": "string"
    },
    "markt": {
      "enum": [
        "nl",
        "be",
        "de",
        "fr",
        "es",
        "uk"
      ],
      "type": "string",
      "default": "nl",
      "description": "Markt/land voor prijzen, links en codes (standaard nl); uk = Verenigd Koninkrijk, prijzen in ponden."
    }
  }
}
geverifieerde_code annotations
{
  "title": "Geverifieerde kortingscode",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
beste_in_categorie — Beste in categorie
Advertised by the server during the last successful anonymous check.
Advertised read-only

Onze ranglijst van de beste producten in een categorie (bijv. eiwitten, creatine, pre-workout).

beste_in_categorie input schema
{
  "type": "object",
  "required": [
    "categorie"
  ],
  "properties": {
    "markt": {
      "enum": [
        "nl",
        "be",
        "de",
        "fr",
        "es",
        "uk"
      ],
      "type": "string",
      "default": "nl",
      "description": "Markt/land voor prijzen, links en codes (standaard nl); uk = Verenigd Koninkrijk, prijzen in ponden."
    },
    "categorie": {
      "type": "string"
    }
  }
}
beste_in_categorie annotations
{
  "title": "Beste in categorie",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
week_deals — Weekfolder-deals
Advertised by the server during the last successful anonymous check.
Advertised read-only

De actuele weekfolder-deals (supermarkt én online) met oude/nieuwe prijs en korting; alleen voor markt nl/be.

week_deals input schema
{
  "type": "object",
  "properties": {
    "markt": {
      "enum": [
        "nl",
        "be",
        "de",
        "fr",
        "es",
        "uk"
      ],
      "type": "string",
      "default": "nl",
      "description": "Markt/land voor prijzen, links en codes (standaard nl); uk = Verenigd Koninkrijk, prijzen in ponden."
    },
    "winkel": {
      "type": "string"
    }
  }
}
week_deals annotations
{
  "title": "Weekfolder-deals",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
actuele_sales — Actuele sales
Advertised by the server during the last successful anonymous check.
Advertised read-only

Welke supplementmerken nú een sale hebben in de gekozen markt, met hoogste korting en voorbeeldproduct.

actuele_sales input schema
{
  "type": "object",
  "properties": {
    "merk": {
      "type": "string"
    },
    "markt": {
      "enum": [
        "nl",
        "be",
        "de",
        "fr",
        "es",
        "uk"
      ],
      "type": "string",
      "default": "nl",
      "description": "Markt/land voor prijzen, links en codes (standaard nl); uk = Verenigd Koninkrijk, prijzen in ponden."
    }
  }
}
actuele_sales annotations
{
  "title": "Actuele sales",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
verwachte_sales — Verwachte sales
Advertised by the server during the last successful anonymous check.
Advertised read-only

Sale-planning vooruit: aangekondigde en verwachte sales per merk (van/tot, korting), op basis van merk-aankondigingen en onze eigen sale-waarnemingen.

verwachte_sales input schema
{
  "type": "object",
  "properties": {
    "merk": {
      "type": "string"
    },
    "markt": {
      "enum": [
        "nl",
        "be",
        "de",
        "fr",
        "es",
        "uk"
      ],
      "type": "string",
      "default": "nl",
      "description": "Markt/land voor prijzen, links en codes (standaard nl); uk = Verenigd Koninkrijk, prijzen in ponden."
    }
  }
}
verwachte_sales annotations
{
  "title": "Verwachte sales",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
score_methodologie — SupplementScore-methodologie
Advertised by the server during the last successful anonymous check.
Advertised read-only

Het volledige SupplementScore-scoremodel, machine-leesbaar: criteria, letterschaal, bewijslast, onafhankelijke review en dispuutprocedure.

score_methodologie input schema
{
  "type": "object",
  "properties": {
    "markt": {
      "enum": [
        "nl",
        "be",
        "de",
        "fr",
        "es",
        "uk"
      ],
      "type": "string",
      "default": "nl",
      "description": "Markt/land voor prijzen, links en codes (standaard nl); uk = Verenigd Koninkrijk, prijzen in ponden."
    }
  }
}
score_methodologie annotations
{
  "title": "SupplementScore-methodologie",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
search_catalog — UCP: catalogus doorzoeken
Advertised by the server during the last successful anonymous check.
Advertised read-only

Zoek supplementen in UCP-vorm (Universal Commerce Protocol): producten met prijs in centen, verkoper, en per variant kortingscode (discounts.codes), attribution, partner_url en permalink. Dezelfde bron als zoek_producten.

search_catalog input schema
{
  "type": "object",
  "properties": {
    "meta": {
      "type": "object",
      "properties": {
        "ucp-agent": {
          "type": "object",
          "properties": {
            "profile": {
              "type": "string",
              "format": "uri"
            }
          }
        }
      },
      "description": "meta[\"ucp-agent\"].profile = URL van het UCP-profiel van het platform (spec: verplicht; wij loggen het en weigeren niet)."
    },
    "markt": {
      "enum": [
        "nl",
        "be",
        "de",
        "fr",
        "es",
        "uk"
      ],
      "type": "string",
      "default": "nl",
      "description": "Markt/land voor prijzen, links en codes (standaard nl); uk = Verenigd Koninkrijk, prijzen in ponden."
    },
    "catalog": {
      "type": "object",
      "properties": {
        "query": {
          "type": "string"
        },
        "context": {
          "type": "object",
          "properties": {
            "currency": {
              "type": "string"
            },
            "language": {
              "type": "string"
            },
            "address_country": {
              "type": "string"
            }
          },
          "description": "address_country (NL/BE/DE/FR/ES) of language kiest de markt; anders de markt van de site."
        },
        "filters": {
          "type": "object",
          "properties": {
            "price": {
              "type": "object",
              "properties": {
                "max": {
                  "type": "integer",
                  "description": "in centen"
                },
                "min": {
                  "type": "integer"
                }
              }
            },
            "categories": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "bijv. creatine, eiwitten, pre-workout"
            }
          }
        },
        "pagination": {
          "type": "object",
          "properties": {
            "limit": {
              "type": "integer",
              "default": 10,
              "maximum": 20,
              "minimum": 1
            },
            "cursor": {
              "type": "string"
            }
          }
        },
        "attribution": {
          "type": "object",
          "description": "vrije string-map (utm_source, gclid, …), wordt gelogd",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    }
  }
}
search_catalog output schema
{
  "type": "object",
  "required": [
    "ucp",
    "products"
  ],
  "properties": {
    "ucp": {
      "type": "object"
    },
    "messages": {
      "type": "array"
    },
    "policies": {
      "type": "array"
    },
    "products": {
      "type": "array"
    },
    "pagination": {
      "type": "object"
    }
  },
  "description": "UCP search-antwoord, zie https://ucp.dev/2026-08-25/schemas/shopping/catalog_search.json#/$defs/search_response"
}
search_catalog annotations
{
  "title": "UCP: catalogus doorzoeken",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
lookup_catalog — UCP: producten opzoeken op id
Advertised by the server during the last successful anonymous check.
Advertised read-only

Haal producten op via hun UCP-id (sp-p-<id> of sp-v-<id>, ook kale post-id) in UCP-vorm; elke variant draagt inputs[] met de gevraagde id. Onbekende id's worden gemeld, niet geweigerd.

lookup_catalog input schema
{
  "type": "object",
  "required": [
    "catalog"
  ],
  "properties": {
    "meta": {
      "type": "object",
      "properties": {
        "ucp-agent": {
          "type": "object",
          "properties": {
            "profile": {
              "type": "string",
              "format": "uri"
            }
          }
        }
      },
      "description": "meta[\"ucp-agent\"].profile = URL van het UCP-profiel van het platform (spec: verplicht; wij loggen het en weigeren niet)."
    },
    "markt": {
      "enum": [
        "nl",
        "be",
        "de",
        "fr",
        "es",
        "uk"
      ],
      "type": "string",
      "default": "nl",
      "description": "Markt/land voor prijzen, links en codes (standaard nl); uk = Verenigd Koninkrijk, prijzen in ponden."
    },
    "catalog": {
      "type": "object",
      "required": [
        "ids"
      ],
      "properties": {
        "ids": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxItems": 20,
          "minItems": 1
        },
        "context": {
          "type": "object",
          "properties": {
            "currency": {
              "type": "string"
            },
            "language": {
              "type": "string"
            },
            "address_country": {
              "type": "string"
            }
          },
          "description": "address_country (NL/BE/DE/FR/ES) of language kiest de markt; anders de markt van de site."
        },
        "filters": {
          "type": "object",
          "properties": {
            "price": {
              "type": "object",
              "properties": {
                "max": {
                  "type": "integer",
                  "description": "in centen"
                },
                "min": {
                  "type": "integer"
                }
              }
            },
            "categories": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "bijv. creatine, eiwitten, pre-workout"
            }
          }
        },
        "attribution": {
          "type": "object",
          "description": "vrije string-map (utm_source, gclid, …), wordt gelogd",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    }
  }
}
lookup_catalog output schema
{
  "type": "object",
  "required": [
    "ucp",
    "products"
  ],
  "properties": {
    "ucp": {
      "type": "object"
    },
    "messages": {
      "type": "array"
    },
    "policies": {
      "type": "array"
    },
    "products": {
      "type": "array"
    }
  },
  "description": "UCP lookup-antwoord, zie https://ucp.dev/2026-08-25/schemas/shopping/catalog_lookup.json#/$defs/lookup_response"
}
lookup_catalog annotations
{
  "title": "UCP: producten opzoeken op id",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
get_product — UCP: één product in detail
Advertised by the server during the last successful anonymous check.
Advertised read-only

Eén product (sp-p-<id> / sp-v-<id>) in UCP-vorm met kortingscode, partnerlink en permalink; bij een onbekend id een JSON-RPC-fout.

get_product input schema
{
  "type": "object",
  "required": [
    "catalog"
  ],
  "properties": {
    "meta": {
      "type": "object",
      "properties": {
        "ucp-agent": {
          "type": "object",
          "properties": {
            "profile": {
              "type": "string",
              "format": "uri"
            }
          }
        }
      },
      "description": "meta[\"ucp-agent\"].profile = URL van het UCP-profiel van het platform (spec: verplicht; wij loggen het en weigeren niet)."
    },
    "markt": {
      "enum": [
        "nl",
        "be",
        "de",
        "fr",
        "es",
        "uk"
      ],
      "type": "string",
      "default": "nl",
      "description": "Markt/land voor prijzen, links en codes (standaard nl); uk = Verenigd Koninkrijk, prijzen in ponden."
    },
    "catalog": {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "context": {
          "type": "object",
          "properties": {
            "currency": {
              "type": "string"
            },
            "language": {
              "type": "string"
            },
            "address_country": {
              "type": "string"
            }
          },
          "description": "address_country (NL/BE/DE/FR/ES) of language kiest de markt; anders de markt van de site."
        },
        "attribution": {
          "type": "object",
          "description": "vrije string-map (utm_source, gclid, …), wordt gelogd",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    }
  }
}
get_product output schema
{
  "type": "object",
  "required": [
    "ucp",
    "product"
  ],
  "properties": {
    "ucp": {
      "type": "object"
    },
    "options": {
      "type": "array"
    },
    "product": {
      "type": "object"
    },
    "messages": {
      "type": "array"
    },
    "policies": {
      "type": "array"
    },
    "selected": {
      "type": "array"
    }
  },
  "description": "UCP get_product-antwoord, zie https://ucp.dev/2026-08-25/schemas/shopping/catalog_lookup.json#/$defs/get_product_response"
}
get_product annotations
{
  "title": "UCP: één product in detail",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (3 of 3 answered).

  1. 2026-11-07: 2 of 2 checks answered
  2. 2026-11-09: 1 of 1 checks answered

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
7772 ms
95th percentile latency
7772 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 7772 ms · metadata changed · 12 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http sportpoeder-mcp https://sportpoeder.nl/api/agent/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add sportpoeder-mcp --url https://sportpoeder.nl/api/agent/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable sportpoeder-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "sportpoeder-mcp": {
      "url": "https://sportpoeder.nl/api/agent/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "sportpoeder-mcp": {
      "type": "streamableHttp",
      "url": "https://sportpoeder.nl/api/agent/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start sportpoeder-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "sportpoeder-mcp": {
      "type": "http",
      "url": "https://sportpoeder.nl/api/agent/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http sportpoeder-mcp https://sportpoeder.nl/api/agent/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://sportpoeder.nl/api/agent/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "sportpoeder-mcp": {
      "serverUrl": "https://sportpoeder.nl/api/agent/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Sportpoeder MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Sportpoeder MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing