Last Price

Compute and verify prices from an agent, metered per call. Works keyless on a demo tenant.

사용해야 할까요

품질 및 안전성

A
설명 품질
94%
스키마 완전성
67%
이름 품질
92%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (1)

  • LOWTool 'verify_price' description lacks action verbverify_price에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~1,249토큰 (도구 정의)
~2.5 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 0.98%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`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": {}
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 5개