Skip to main content
Glama
Streaming Subscription Prices by Country MCP Server

Streaming Subscription Prices by Country MCP Server

Streaming Subscription Prices by Country MCP Server

npm version license

An MCP server for the Mamba Labs Streaming Subscription Prices by Country actor on Apify. Streaming plan prices by country, as rows.

What's Inside

Related MCP server: ComparEdge Pricing API MCP Server

What it does

Takes 2 letter country codes and returns Spotify and Netflix monthly plan prices in local currency, one row per plan, with the price text exactly as shown.

All of the work runs on Apify. This package is a thin client that starts the actor run, waits for it, and hands back the dataset rows.

Quick start

You need Node.js 18 or newer and an Apify account with an API token.

Add this to your Claude Desktop config (claude_desktop_config.json), Cursor, or any MCP client:

{
  "mcpServers": {
    "mamba-streaming-subscription-prices-by-country": {
      "command": "npx",
      "args": [
        "-y",
        "@mambalabsdev/mcp-streaming-subscription-prices-by-country"
      ],
      "env": {
        "APIFY_TOKEN": "your-apify-token"
      }
    }
  }
}

Restart the client. The get_streaming_prices_by_country tool appears.

Prerequisites

Example prompts

  • "What does Spotify Premium cost in India, Brazil, and Japan?"

  • "Compare Netflix plan prices in the US and Germany."

Tool

get_streaming_prices_by_country. One tool. Example arguments:

{
  "countries": [
    "US",
    "DE"
  ],
  "services": [
    "spotify"
  ]
}

Inputs

Every buyer facing input of the actor. Omitted inputs take the actor's own defaults.

Input

Type

Required

Description

countries

array

no

2 letter country codes, such as US, DE, IN, BR, or JP. UK and GB both mean the United Kingdom. Up to 250. Each country is read once per service.

services

array

no

spotify, netflix, or both. Default both. Spotify rows cost less, because Netflix must be read from an address in each country.

max_charge_usd

number

no

Optional. The run stops before a charge that would pass this amount. Summary rows are always returned.

Pricing

Pay per event on Apify, billed to your Apify account. Prices in USD.

Event

Free plan

Bronze

Silver

Gold

plan-row, one Spotify plan in one country

$0.003

$0.00285

$0.0027

$0.00255

netflix-plan-row, one Netflix plan in one country

$0.005

$0.00475

$0.0045

$0.00425

country, one country asked for, served or not

$0.003

$0.00285

$0.0027

$0.00255

apify-actor-start, per run start

$0.009

$0.009

$0.009

$0.009

Country summaries and refused input are free rows. Each country asked for is charged once. Mamba Labs pays the platform costs of the run, Apify proxy traffic included.

Full actor documentation

apify.com/mambalabs/streaming-subscription-prices-by-country

License

MIT. See LICENSE.

Available Tools

1 tool
get_streaming_prices_by_countryGet streaming prices by countryA
Read-onlyIdempotent

Get monthly Spotify and Netflix plan prices in local currency for a list of 2 letter country codes. One row per plan per country, with the price text as shown and a numeric price.

NameRequiredDescriptionDefault
servicesNospotify, netflix, or both. Default both. Spotify rows cost less, because Netflix must be read from an address in each country.
countriesNo2 letter country codes, such as US, DE, IN, BR, or JP. UK and GB both mean the United Kingdom. Up to 250. Each country is read once per service.
max_charge_usdNoOptional. The run stops before a charge that would pass this amount. Summary rows are always returned.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only, open-world, idempotent, and non-destructive behavior. The description adds useful output context (one row per plan per country, local currency, price text and numeric price), but it does not mention potential charges or the max_charge_usd safeguard at the top level.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two tightly written sentences, front-loaded with the core action and followed by return-shape detail. Every sentence contributes directly to understanding the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given rich schema descriptions and annotations, the definition is nearly complete. The one notable omission is that the description does not surface the charge-related behavior described in max_charge_usd, which is important context for an open-world paid lookup.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema coverage is 100%, so the schema already documents all three parameters in detail, including service choice, country codes, and max_charge_usd. The description only restates country and service scope, so it does not add meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: getting monthly Spotify and Netflix plan prices in local currency for country codes. It clearly distinguishes the tool from a generic lookup by naming services, locality, and output shape.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by 'for a list of 2 letter country codes,' but there is no explicit when-to-use or when-not-to-use guidance. With no sibling tools, alternatives are not relevant, but the description still leaves selection conditions implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev1.0.0
    • First observedget_streaming_prices_by_country

TDQS

A3.9/5.0

Scored across 1 tool

Disambiguation5/5

There is only one tool, so there is no possibility of misselection between tools. Its purpose (fetch Spotify/Netflix plan prices for a list of country codes) is stated explicitly and unambiguously.

Naming Consistency5/5

The single tool follows a clear verb_noun pattern (get_streaming_prices_by_country) in snake_case. With one name there is no inconsistency to detect, and the name is readable and predictive of the action.

Tool Count3/5

A single read-only lookup tool is defensible for a narrow data-retrieval server, but it is thin — one call and the agent has exhausted the surface. There is no companion operation (e.g. supported services, single-country lookup) to make this a well-rounded set.

Completeness3/5

It covers the core retrieval of plan prices per country, which is the stated purpose, but the server name implies streaming services broadly while the tool is hardcoded to Spotify and Netflix only. There is also no way to discover which services, plans, or countries are supported, which could cause dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers