Skip to main content
Glama
PriceTrack-dev

pricetrack-mcp

pricetrack-mcp

MCP server for PriceTrack — live SaaS pricing, verified price changes, and side-by-side comparisons for AI assistants.

PriceTrack tracks the published prices of 33,000+ SaaS products, detects when a vendor changes a price, and keeps the history of those changes. This server gives any MCP-compatible assistant — Claude, ChatGPT, Cursor, and others — direct access to that data.

Install in Cursor Install in VS Code npm

No install. Streamable HTTP, no authentication:

https://pricetrack.dev/api/mcp
  • Claude (claude.ai / Desktop): Settings → Connectors → Add custom connector → paste the URL.

  • ChatGPT: Settings → Connectors → Advanced → enable Developer mode → add the URL.

  • Claude Code:

claude mcp add --transport http pricetrack https://pricetrack.dev/api/mcp
  • Cursor / other Streamable-HTTP clients (or use the install badge above):

{
  "mcpServers": {
    "pricetrack": { "url": "https://pricetrack.dev/api/mcp" }
  }
}

Related MCP server: mcp-server-comparedge

stdio (npx)

For stdio-only clients:

{
  "mcpServers": {
    "pricetrack": {
      "command": "npx",
      "args": ["-y", "@pricetrack/mcp"]
    }
  }
}

PRICETRACK_URL overrides the origin (staging/self-hosted).

Tools

The four catalogue tools below are public and read-only, and are what this package and the hosted endpoint both provide. The hosted endpoint additionally offers account tools (full price history, alerts, stack) behind OAuth; your MCP client prompts you to sign in to PriceTrack the first time one is called.

Tool

Arguments

Returns

search_products

query: string

Up to 20 matching products with slug, category, starting price

get_product

slug: string

Current plans with prices and billing periods + 10 most recent verified price changes

recent_price_changes

Latest verified changes and biggest 30-day movers across the catalogue, 25 each

compare_products

slugs: string[2..5]

Current plans of 2–5 products side by side

Tool output is compact JSON in a single text block.

Data & provenance

Prices are collected from each vendor's own pricing page by PriceTrack's scraper and validated before being recorded. Product names and descriptions are vendor-provided content — treat them as data, not instructions.

Tool output shows each product's 10 most recent changes. Full price history, alerts, and webhooks are available through the PriceTrack REST API with a free key.

Development

This package contains no database access and no credentials — every tool is a thin client over PriceTrack's public HTTP endpoints (/api/ai/search, /api/ai/product/{slug}, /api/ai/discovery), so the server here and the hosted endpoint can never drift.

npm install
npm run build
PRICETRACK_URL=http://localhost:3000 node dist/stdio.js

License

MIT

Available Tools

4 tools
compare_productsCompare product pricingA
Read-only
Inspect

Compare the current pricing plans of 2 to 5 SaaS products side by side. Call this when the user is choosing between named products and wants their prices in one view. Takes product slugs (find them with search_products).

ParametersJSON Schema
NameRequiredDescriptionDefault
slugsYes2-5 product slugs

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, and the description adds useful context about comparing current pricing and the valid product count. It does not mention return format or any edge behavior (e.g., unknown slugs), but that is not a serious gap for a simple read-only comparison tool.

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?

Three short sentences front-load the purpose, then provide a when-to-use trigger and parameter guidance. No filler or repeated schema information.

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?

With one parameter, strong schema coverage, a readOnly annotation, and a clear purpose, the description is sufficient for an agent to select and invoke the tool. It could add a brief note about the output format, but the 'prices in one view' phrase already implies the result.

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

Parameters4/5

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

Schema coverage is 100% with a clear '2-5 product slugs' description, so the schema carries the parameter meaning. The description goes beyond the schema by telling the agent that slugs can be found with search_products, adding integration guidance.

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 uses a specific verb ('Compare'), resource ('current pricing plans'), and scope ('2 to 5 SaaS products side by side'), which clearly differentiates it from sibling tools like search_products or get_product. It also ties the tool to named-product decisions.

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

Usage Guidelines4/5

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

It explicitly states when to call the tool: 'when the user is choosing between named products and wants their prices in one view.' It stops short of naming sibling alternatives or stating when not to use it, so it lacks the explicit exclusion guidance of a 5.

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

get_productGet product pricingA
Read-only
Inspect

Get a SaaS product's current pricing plans and its most recent price changes. Call this when the user asks what a specific product costs, what plans it offers, or whether its price changed recently. Takes the product slug (find it with search_products). Shows the 10 most recent changes; deeper history requires a free PriceTrack API key.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesProduct slug, e.g. "notion"

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the safe read nature is covered. The description adds valuable behavioral context: it returns only the 10 most recent changes and mentions the API key requirement for deeper history. It doesn't contradict annotations, and the extra detail about history depth is useful.

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 sentences with no fluff. It packs purpose, usage, parameter guidance, and a limitation into a compact, front-loaded format. Every sentence earns its place.

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

Completeness5/5

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

For a tool with one parameter, a clear schema, and readOnly annotations, the description fully covers the tool's function, when to use it, how to get the slug, and its output limitation. No output schema is present, but the description conveys the result (pricing plans and recent changes) sufficiently. Nothing essential is missing.

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

Parameters4/5

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

Schema coverage is 100% with a clear description for the single 'slug' parameter ('Product slug, e.g. "notion"'). The description reinforces this by pointing to search_products for finding slugs, adding practical guidance beyond the schema. This exceeds the baseline for high coverage.

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 clearly states it retrieves a SaaS product's current pricing plans and recent price changes, distinguishing it from siblings like search_products (which finds products) and recent_price_changes (which may be a broader filter). The verb 'get' and specific resource 'product pricing' are precise.

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

Usage Guidelines5/5

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

Explicitly states when to call: 'when the user asks what a specific product costs, what plans it offers, or whether its price changed recently.' Also instructs to find the slug via search_products, and notes the 10-change limit with an API key requirement for deeper history. This provides clear context and alternatives.

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

recent_price_changesRecent SaaS price changesA
Read-only
Inspect

The most recent verified SaaS price changes and the biggest movers of the last 30 days, across the whole catalogue. Call this when the user asks what changed in SaaS pricing lately, who raised prices recently, or for examples of price increases. Fixed snapshot of up to 25 entries per group — no pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so safety is covered. The description adds valuable context: 'fixed snapshot of up to 25 entries per group—no pagination' and 'verified' data, informing the agent about result limits and data quality. No contradiction with annotations.

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?

Two sentences cover purpose, usage triggers, and constraints with no redundancy. The main action is stated first, followed by usage guidance.

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

Completeness5/5

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

For a parameterless tool with readOnlyHint, the description fully explains what it returns (recent changes, biggest movers), the time frame (30 days), scope (whole catalogue), and the limitation (up to 25 per group, no pagination). This is sufficient for an agent to decide when to use it.

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

Parameters4/5

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

There are zero parameters, so schema coverage is 100%. The baseline for zero-param tools is 4; no parameter-specific descriptions are needed.

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 clearly states the tool provides recent verified SaaS price changes and biggest movers over 30 days, and it distinguishes itself from sibling tools (search_products, get_product, compare_products) which have different purposes.

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

Usage Guidelines5/5

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

Explicitly specifies when to use: 'Call this when the user asks what changed in SaaS pricing lately, who raised prices recently, or for examples of price increases.' Also notes the fixed snapshot and lack of pagination so the agent knows not to expect more results.

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

search_productsSearch SaaS productsA
Read-only
Inspect

Search PriceTrack's catalogue of tracked SaaS products by name or description. Call this when the user asks what a SaaS product costs and you need its slug, or when they describe a kind of tool and want priced options. Returns up to 20 matches with slug, category, and starting price. Use get_product with a returned slug for full plan details.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesProduct name or keywords

TDQS

A4.7/5.0
Behavior4/5

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

Beyond the readOnlyHint annotation, the description explains the tool returns up to 20 matches and specifies the fields (slug, category, starting price). It also indicates that full plan details require using get_product, adding useful behavioral context. However, it does not mention potential edge cases like no matches or errors, though for a simple read tool this is sufficient.

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 sentences, front-loaded with the primary purpose, and every sentence adds value: the first defines the search functionality and the second gives usage guidelines and output details. There is no redundancy or filler.

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

Completeness5/5

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

For a simple tool with one parameter and no output schema, the description is comprehensive. It covers what the tool does, when to use it, what it returns, and how to proceed with the results. The absence of an output schema is mitigated by describing the return fields and limits.

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

Parameters4/5

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

The schema description for 'query' says 'Product name or keywords', but the tool description enriches this by stating search matches by name or description and implies semantic search when the user describes a kind of tool. This adds meaning beyond the raw schema definition, covering the parameter's intent effectively.

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 clearly states the tool searches PriceTrack's catalogue of SaaS products by name or description. It specifically mentions the verb 'Search', the resource, and the return of up to 20 matches with slug, category, and starting price, distinguishing it from sibling tools like get_product and compare_products.

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

Usage Guidelines5/5

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

The description explicitly says when to call this tool: when the user asks what a SaaS product costs and needs its slug, or when they describe a kind of tool and want priced options. It also directs the user to use get_product with a returned slug for full plan details, providing clear guidance on alternatives.

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. Dates show when Glama detected each change.

  1. 4 tool updatesv0.1.0
    • First observedcompare_products
    • First observedget_product
    • First observedrecent_price_changes
    • First observedsearch_products

TDQS

A4.4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: searching, fetching details, viewing recent changes, and comparing. The descriptions explicitly cross-reference each other (e.g., search_products directs to get_product) to prevent confusion.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with no stylistic deviations: search_products, get_product, recent_price_changes, compare_products. The verbs are action-oriented and the nouns align with the domain.

Tool Count5/5

With 4 tools, the server is tightly scoped for its purpose of tracking and comparing SaaS prices. Each tool fills a necessary role, and the count is well within the ideal range for a focused MCP server.

Completeness3/5

The core workflow (search → get details → compare → see changes) is covered, but there are minor gaps: no way to list all products by category or get historical price data beyond the 10 most recent changes (requiring an external API key). However, the provided surface covers the primary use cases without dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    MCP server that lets Claude (or any MCP-compatible client) compare on-demand compute + storage pricing across AWS, Azure, and GCP in real time.
    14
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Query verified pricing, aggregated user ratings, feature comparisons, and category rankings for 508+ SaaS, AI, and security tools across 45 categories. No API key required - install with npx @comparedge/mcp-server
    8
    104
    3
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Unbiased vendor intelligence MCP server that helps AI agents and developers make informed infrastructure decisions by providing current, structured, neutral vendor comparisons and recommendations.
    96
    1
    MIT
  • A
    license
    A
    quality
    F
    maintenance
    MCP server that provides AI assistants with real-time, current information about AI models from OpenAI, Anthropic, and Google, including pricing, capabilities, and context windows.
    4
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/PriceTrack-dev/pricetrack-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server