Last Price
Compute and verify prices from an agent, metered per call. Works keyless on a demo tenant.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (1)
- LOWin verify_price
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"pricing": {
"url": "https://api.last-price.ai/api/mcp/rpc"
}
}
}Remote-Endpunkte
https://api.last-price.ai/api/mcp/rpcstreamable-httpWas es kann
Tool-Inventar
Tools (5)
🟡pricing_conversation(action, request, answers)
Ask Last Price what pricing inputs are missing. Start with request: {}, return its questions to the caller, then send continuation.request and answers. Prepare is free and does not compute. When ready, action compute uses the existing authenticated pricing API; configure a credential first. Never invent answers or treat a continuation as authorization.
Eingabe-Schema
{
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": [
"prepare",
"compute"
],
"default": "prepare"
},
"request": {
"type": "object",
"description": "Partial REST PricingComputeRequest, including nested context, constraints, an explicit function selection and options. Reuse continuation.request on subsequent calls."
},
"answers": {
"type": "object",
"additionalProperties": false,
"properties": {
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$"
},
"current_price": {
"type": "number",
"minimum": 0
},
"unit_cost": {
"type": "number",
"minimum": 0
},
"target_margin_pct": {
"type": "number",
"minimum": 0,
"maximum": 95
},
"min_price": {
"type": "number",
"minimum": 0
},
"max_price": {
"type": "number",
"minimum": 0
}
}
}
},
"additionalProperties": false
}🟡compute_price(product_id, product_type, current_price, unit_cost, target_margin_pct, ...)
Compute a price for a product/context via the Last Price Pricing Compute Network. Returns the computed price, the function that produced it, token metering/cost, and a `trace` listing each stage the request passed through (cache, route, execute, fallback, constrain, meter). For a competitor offer, put competitor_price, competitor_currency and competitive_action in metadata, then supply min_price or unit_cost with target_margin_pct. Missing business inputs return an error naming them.
Eingabe-Schema
{
"type": "object",
"properties": {
"product_id": {
"type": "string",
"description": "Optional identifier of what is being priced."
},
"product_type": {
"type": "string",
"enum": [
"saas",
"ecommerce",
"marketplace",
"digital",
"api",
"custom"
],
"description": "Optional category. Defaults to \"custom\"."
},
"current_price": {
"type": "number",
"minimum": 0,
"description": "The current or reference price. Optional: functions that price relative to an incumbent need it, but lastprice/cost-plus prices from unit_cost instead."
},
"unit_cost": {
"type": "number",
"minimum": 0,
"description": "What the work costs you. It lets lastprice/cost-plus price with no current_price, which is the usual case when pricing a task you are about to run. Routing picks a function that can use it; to require cost-plus, pass its UUID from list_functions as function_id."
},
"target_margin_pct": {
"type": "number",
"minimum": 0,
"maximum": 95,
"description": "Margin on price for cost-plus, not markup on cost: price = unit_cost / (1 - margin). Defaults to 30."
},
"min_price": {
"type": "number",
"minimum": 0,
"description": "Optional minimum acceptable price. A competitive offer needs this or a declared unit_cost and target_margin_pct."
},
"max_price": {
"type": "number",
"minimum": 0,
"description": "Optional maximum acceptable price."
},
"currency": {
"type": "string",
"minLength": 3,
"maxLength": 3,
"description": "Three-letter ISO currency code, e.g. USD."
},
"customer_segment": {
"type": "string",
"description": "Optional segment, e.g. enterprise."
},
"geo": {
"type": "string",
"description": "Optional geography hint, e.g. US."
},
"routing_preference": {
"type": "string",
"enum": [
"cheapest",
"fastest",
"explicit",
"round_robin",
"weighted",
"policy",
"default"
],
"description": "How to route across pricing functions. Defaults to \"default\"."
},
"function_id": {
"type": "string",
"format": "uuid",
"description": "Optional explicit pricing function UUID to use."
},
"include_explanation": {
"type": "boolean",
"description": "If true, ask for an explanation and confidence with the price."
},
"metadata": {
"type": "object",
"description": "Optional context. For competitive pricing: competitor_price, competitor_currency and competitive_action (match or undercut); undercut requires undercut_pct. Confirm product comparability before calling."
}
},
"required": [
"currency"
]
}⚪verify_price(proposed_price, currency, product_id, product_type, current_price, ...)
Ask whether a price makes sense for its context, rather than what the price should be. Returns a verdict (fair, too_high, too_low, or unknown), the band it was judged against, a signed deviation from the reference, a confidence, and the evidence behind it. A verdict of "unknown" means the price could not be judged, which is not the same as fair.
Eingabe-Schema
{
"type": "object",
"properties": {
"proposed_price": {
"type": "number",
"minimum": 0,
"description": "The price to judge. This is the subject of the call."
},
"currency": {
"type": "string",
"minLength": 3,
"maxLength": 3,
"description": "Three-letter ISO currency code, e.g. USD. Defaults to USD."
},
"product_id": {
"type": "string",
"description": "Optional identifier of what is being priced."
},
"product_type": {
"type": "string",
"enum": [
"saas",
"ecommerce",
"marketplace",
"digital",
"api",
"custom"
],
"description": "Optional category of what is being priced."
},
"current_price": {
"type": "number",
"minimum": 0,
"description": "Optional incumbent price. Not required: asking whether a price is sensible does not presuppose an existing one."
},
"customer_segment": {
"type": "string",
"description": "Optional segment, e.g. enterprise."
},
"geo": {
"type": "string",
"description": "Optional geography hint, e.g. US."
},
"min_price": {
"type": "number",
"minimum": 0,
"description": "Optional hard floor. Binding: a verdict will never relax it."
},
"max_price": {
"type": "number",
"minimum": 0,
"description": "Optional hard ceiling. Binding: a verdict will never relax it."
},
"metadata": {
"type": "object",
"description": "Optional free-form context."
}
},
"required": [
"proposed_price"
]
}🟢list_functions
List the pricing functions registered for the authenticated tenant.
Eingabe-Schema
{
"type": "object",
"properties": {}
}⚪browse_catalog
Browse the public marketplace catalog of pricing functions.
Eingabe-Schema
{
"type": "object",
"properties": {}
}Community
Nachweis