Last Price
Compute and verify prices from an agent, metered per call. Works keyless on a demo tenant.
사용해야 할까요
품질 및 안전성
발견 사항 (1)
- LOWverify_price에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"pricing": {
"url": "https://api.last-price.ai/api/mcp/rpc"
}
}
}원격 엔드포인트
https://api.last-price.ai/api/mcp/rpcstreamable-http할 수 있는 일
도구 목록
도구 (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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"type": "object",
"properties": {}
}⚪browse_catalog
Browse the public marketplace catalog of pricing functions.
입력 스키마
{
"type": "object",
"properties": {}
}커뮤니티
증거