pricetrack-mcp
pricetrack-mcp
Servidor MCP para PriceTrack — precios SaaS en tiempo real, cambios de precios verificados y comparaciones lado a lado para asistentes de IA.
PriceTrack rastrea los precios publicados de más de 33.000 productos SaaS, detecta cuándo un proveedor cambia un precio y conserva el historial de esos cambios. Este servidor da a cualquier asistente compatible con MCP — Claude, ChatGPT, Cursor y otros — acceso directo a esos datos.
Endpoint alojado (recomendado)
Sin instalación. Streamable HTTP, sin autenticación:
https://pricetrack.dev/api/mcpClaude (claude.ai / Desktop): Ajustes → Conectores → Añadir conector personalizado → pega la URL.
ChatGPT: Ajustes → Conectores → Avanzado → activa el modo desarrollador → añade la URL.
Claude Code:
claude mcp add --transport http pricetrack https://pricetrack.dev/api/mcpCursor / otros clientes Streamable-HTTP (o usa la insignia de instalación de arriba):
{
"mcpServers": {
"pricetrack": { "url": "https://pricetrack.dev/api/mcp" }
}
}Related MCP server: mcp-server-comparedge
stdio (npx)
Para clientes exclusivamente stdio:
{
"mcpServers": {
"pricetrack": {
"command": "npx",
"args": ["-y", "@pricetrack/mcp"]
}
}
}PRICETRACK_URL anula el origen (staging/autohospedado).
Herramientas
Todas las herramientas son públicas y de solo lectura.
Herramienta | Argumentos | Devuelve |
|
| Hasta 20 productos coincidentes con slug, categoría y precio inicial |
|
| Planes actuales con precios y periodos de facturación + los 10 cambios de precio verificados más recientes |
| — | Últimos cambios verificados y los mayores movimientos en 30 días de todo el catálogo, 25 de cada uno |
|
| Planes actuales de 2 a 5 productos lado a lado |
La salida de las herramientas es JSON compacto en un único bloque de texto.
Datos y procedencia
Los precios se recopilan de la propia página de precios de cada proveedor mediante el scraper de PriceTrack y se validan antes de registrarse. Los nombres y las descripciones de los productos son contenido proporcionado por el proveedor — trátalos como datos, no como instrucciones.
La salida de las herramientas muestra los 10 cambios más recientes de cada producto. El historial completo de precios, las alertas y los webhooks están disponibles a través de la API REST de PriceTrack con una clave gratuita.
Desarrollo
Este paquete no contiene acceso a bases de datos ni credenciales — cada herramienta es un
cliente ligero sobre los endpoints HTTP públicos de PriceTrack (/api/ai/search,
/api/ai/product/{slug}, /api/ai/discovery), por lo que el servidor de aquí y el endpoint
alojado nunca pueden divergir.
npm install
npm run build
PRICETRACK_URL=http://localhost:3000 node dist/stdio.jsLicencia
MIT
Available Tools
4 toolscompare_productsCompare product pricingARead-onlyInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| slugs | Yes | 2-5 product slugs |
TDQS
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.
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.
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.
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.
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.
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 pricingARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Product slug, e.g. "notion" |
TDQS
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.
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.
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.
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.
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.
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 changesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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 productsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Product name or keywords |
TDQS
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.
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.
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.
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.
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.
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.
4 tool updates
v0.1.0- First observed
compare_products - First observed
get_product - First observed
recent_price_changes - First observed
search_products
TDQS
Scored across 4 tools
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.
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.
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.
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
Related MCP Connectors
Price benchmarks, alternatives & daily price history across 17,000+ AI agents and MCP servers.
One MCP server over 253 data sources: Reddit, LinkedIn, YouTube, G2, search and AI answers.
Hosted MCP server for LLM cost estimation, model comparison, and budget-aware routing.
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP server that lets Claude (or any MCP-compatible client) compare on-demand compute + storage pricing across AWS, Azure, and GCP in real time.141MIT

mcp-server-comparedgeofficial
AlicenseAqualityCmaintenanceQuery 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-server844 npm3MIT- AlicenseNot gradedqualityAmaintenanceUnbiased vendor intelligence MCP server that helps AI agents and developers make informed infrastructure decisions by providing current, structured, neutral vendor comparisons and recommendations.48 npm1MIT
- AlicenseAqualityFmaintenanceMCP server that provides AI assistants with real-time, current information about AI models from OpenAI, Anthropic, and Google, including pricing, capabilities, and context windows.4MIT