Overview
The MCP Server exposes five powerful tools that enable LLM agents to extract, analyze, and optimize SaaS pricing models. All tools accept pricing data either as a URL (for extraction) or as raw YAML content (for direct analysis).All tool results are returned as JSON content blocks, eliminating the need for text parsing.
Common Parameters
These parameters are shared across multiple tools:URL of the SaaS pricing page to extract and analyze. If provided, the MCP server will fetch and transform the pricing data via A-MINT.Example:
https://buffer.com/pricingRaw Pricing2Yaml YAML content to analyze directly, bypassing extraction. Useful when you already have structured pricing data.Note: Either
pricing_url or pricing_yaml must be provided for all tools.Force cache refresh. When
true, bypasses cached pricing data and fetches fresh data from the source.CSP solver to use for analysis. Options:
minizinc, chocominizinc: Open-source constraint modeling languagechoco: Java constraint solver library
iPricing
Returns the canonical Pricing2Yaml (iPricing) document for a given pricing page or YAML content.The tool name is
iPricing (camelCase) in the MCP interface.Parameters
URL of the SaaS pricing page to extract
Pre-existing Pricing2Yaml content to return
Bypass cache and fetch fresh pricing data
Response
Complete Pricing2Yaml document in YAML format
Source of the pricing data:
amint (extracted) or upload (provided)Example
Use Case
UseiPricing when you need to:
- Extract structured pricing data from a URL
- Retrieve the complete pricing model for manual inspection
- Pass pricing data to other systems or tools
summary
Provides high-level statistics and metadata about a pricing model, including counts of plans, features, usage limits, and add-ons.Parameters
URL of the SaaS pricing page
Pricing2Yaml content to summarize
Force fresh data extraction
Response
Statistical summary of the pricing model
Name of the SaaS product
Currency code (e.g., USD, EUR)
Number of pricing plans
Total number of features
Total number of usage limits
Number of available add-ons
List of plan names
List of feature names
List of usage limit names
Example
Use Case
Usesummary to:
- Get a quick overview of a pricing model’s complexity
- Validate that pricing data was extracted correctly
- Understand the scope before running detailed analysis
subscriptions
Enumerates all valid subscription configurations within the pricing configuration space, optionally filtered by constraints.Parameters
URL of the SaaS pricing page
Pricing2Yaml content to analyze
Constraints to filter subscriptions. Structure:
CSP solver:
minizinc or chocoForce cache refresh
Response
Request parameters
Analysis results from the CSP solver
Total number of valid configurations found
Example
Use Case
Usesubscriptions to:
- Enumerate all possible pricing combinations
- Find configurations matching specific requirements
- Understand the configuration space size
- Compare multiple valid options
optimal
Computes the optimal subscription (cheapest or most expensive) that satisfies given constraints.Parameters
URL of the SaaS pricing page
Pricing2Yaml content to analyze
Required constraints for the subscription. Same structure as
subscriptions.Optimization objective:
minimize (cheapest) or maximize (most expensive)CSP solver:
minizinc or chocoForce cache refresh
Response
Request parameters including filters and objective
Optimal subscription configuration
Optimal plan name
Required add-ons (if any)
Feature values in optimal configuration
Usage limit values in optimal configuration
Monthly cost of optimal configuration
Annual cost (if available)
Example
Use Case
Useoptimal to:
- Find the cheapest plan meeting user requirements
- Identify the most feature-rich configuration within budget
- Answer “what’s the best plan for X users with Y features?”
- Provide pricing recommendations
validate
Validates the pricing configuration against the selected CSP solver to ensure mathematical consistency.Parameters
URL of the SaaS pricing page
Pricing2Yaml content to validate
CSP solver:
minizinc or chocoForce cache refresh
Response
Request parameters
Example
Use Case
Usevalidate to:
- Check pricing model consistency before deployment
- Identify configuration errors in YAML
- Ensure add-on dependencies are satisfied
- Verify feature/limit relationships
Error Handling
All tools follow consistent error patterns:Missing Input
Invalid Solver
Invalid Objective
Service Failure
Implementation Reference
The tool implementations are located in:- Tool definitions:
/mcp_server/src/pricing_mcp/mcp_server.py:39-223 - Workflow orchestration:
/mcp_server/src/pricing_mcp/workflows/pricing.py - A-MINT client:
/mcp_server/src/pricing_mcp/clients/amint.py - Analysis client:
/mcp_server/src/pricing_mcp/clients/analysis.py