# Last Price (remote · api.last-price.ai)

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

- Trust score: 68/100 (medium)
- Change this week: −6
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `api.last-price.ai`: 68/100 (this document), [markdown](https://verifymcp.io/servers/ai-last-price-pricing/api-mcp-rpc.md), [page](https://verifymcp.io/servers/ai-last-price-pricing/api-mcp-rpc)
- remote · `api.last-price.ai`: 67/100, [markdown](https://verifymcp.io/servers/ai-last-price-pricing/api-mcp-rpc-2.md), [page](https://verifymcp.io/servers/ai-last-price-pricing/api-mcp-rpc-2)

## Channel facts

- Endpoint: `https://api.last-price.ai/api/mcp/rpc`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.10.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (call_tool).
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 57/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 3321 tokens (~332/item across 10 items; 10 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 29/100
  - Stability check failed: schema churn in the 30 days we've observed: 15 tool removals, 0 breaking changes, 0 auth/transport breaks, 4 additions.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (80% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 10 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 11 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the Last Price MCP server?

Last Price is a hosted endpoint at https://api.last-price.ai/api/mcp/rpc, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http ai-last-price-pricing 'https://api.last-price.ai/api/mcp/rpc'
```

### Cursor

```json
{
  "mcpServers": {
    "ai-last-price-pricing": {
      "url": "https://api.last-price.ai/api/mcp/rpc"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "ai-last-price-pricing": {
      "type": "http",
      "url": "https://api.last-price.ai/api/mcp/rpc"
    }
  }
}
```

### Codex

```toml
[mcp_servers.ai-last-price-pricing]
url = "https://api.last-price.ai/api/mcp/rpc"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ai-last-price-pricing": {
      "type": "remote",
      "url": "https://api.last-price.ai/api/mcp/rpc",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add ai-last-price-pricing --url 'https://api.last-price.ai/api/mcp/rpc' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  ai-last-price-pricing:
    url: "https://api.last-price.ai/api/mcp/rpc"
```

### Netclaw

```json
{
  "McpServers": {
    "ai-last-price-pricing": {
      "Transport": "http",
      "Url": "https://api.last-price.ai/api/mcp/rpc"
    }
  }
}
```

### Vellum

```bash
assistant mcp add ai-last-price-pricing -t streamable-http -u 'https://api.last-price.ai/api/mcp/rpc'
```

### Other

```json
{
  "mcpServers": {
    "ai-last-price-pricing": {
      "type": "http",
      "url": "https://api.last-price.ai/api/mcp/rpc"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-04 (score 68, 0)

- [security] Tool “compute_price” rewrote its description, which is the text the model reads
- [security] Tool “verify_price” rewrote its description, which is the text the model reads
- [cosmetic] “list_functions” added an optional parameter “execution_type”
- [cosmetic] “list_functions” added an optional parameter “is_builtin”
- [cosmetic] “list_functions” added an optional parameter “limit”
- [cosmetic] “list_functions” added an optional parameter “status”
- [cosmetic] “list_functions” added an optional parameter “offset”

### 2026-11-03 (score 68, −4)

No change was recorded against any check on this day. Stability & Change Management went from 63 to 29.

### 2026-11-02 (score 72, −3)

No change was recorded against any check on this day. Stability & Change Management went from 80 to 63.

### 2026-10-31 (score 75, +1)

No change was recorded against any check on this day. Stability & Change Management went from 75 to 80.

### 2026-10-29 (score 74, −4)

We did not load change detail this far back for this component, so this day may have recorded more than is shown.

- [security regression] Tool “decide_approval” was removed
- [security regression] Tool “get_llm_usage” was removed
- [security regression] Tool “run_commerce_cycle” was removed
- [security regression] Tool “list_invoices” was removed
- [security regression] Tool “make_offer” was removed
- [security regression] Tool “refund_payment” was removed
- [security regression] Tool “get_usage_breakdown” was removed
- [security regression] Tool “get_feature_contract” was removed
- [security regression] Tool “delete_function” was removed
- [security regression] Tool “set_price_exploration” was removed
- [security regression] Tool “list_experiments” was removed
- [security regression] Tool “delete_order” was removed
- [security regression] Tool “get_experiment_results” was removed
- [security regression] Tool “get_wallet_balance” was removed
- [security regression] Tool “simulate_agent_cut” was removed
- [security regression] Tool “list_routing_policies” was removed
- [security regression] Tool “create_dispute” was removed
- [security regression] Tool “get_payment” was removed
- [security regression] Tool “update_workspace_settings” was removed
- [security regression] Tool “get_price_guardrails” was removed
- [security regression] Tool “get_analyst_brief” was removed
- [security regression] Tool “list_contacts” was removed
- [security regression] Tool “execute_commerce_proposals” was removed
- [security regression] Tool “get_workspace_settings” was removed
- [security regression] Tool “list_ucp_checkouts” was removed
- [security regression] Tool “remove_storefront_dns_record” was removed
- [security regression] Tool “delete_storefront” was removed
- [security regression] Tool “close_spend_session” was removed
- [security regression] Tool “get_contact_by_external_id” was removed
- [security regression] Tool “list_jale_contributions” was removed
- [security regression] Tool “get_purchase_intent” was removed
- [security regression] Tool “activate_order” was removed
- [security regression] Tool “get_aitune_system_stats” was removed
- [security regression] Tool “ping_webhook” was removed
- [security regression] Tool “browse_catalog” was removed
- [security regression] Tool “get_customer_by_external_id” was removed
- [security regression] Tool “compute_prices_batch” was removed
- [security regression] Tool “get_feature_launch_plan” was removed
- [security regression] Tool “list_aitune_backends” was removed
- [security regression] Tool “draw_session_spend” was removed
- [security regression] Tool “test_commerce_policy” was removed
- [security regression] Tool “get_negotiation” was removed
- [security regression] Tool “create_function” was removed
- [security regression] Tool “list_order_lines” was removed
- [security regression] Tool “list_rosetta_review” was removed
- [security regression] Tool “cancel_ucp_checkout” was removed
- [security regression] Tool “get_analyst_settings” was removed
- [security regression] Tool “reject_commerce_proposal” was removed
- [security regression] Tool “get_offer_settings” was removed
- [security regression] Tool “get_learned_routing” was removed
- [security regression] Tool “set_product_category” was removed
- [security regression] Tool “create_customer” was removed
- [security regression] Tool “update_commerce_policy” was removed
- [security regression] Tool “create_credit” was removed
- [security regression] Tool “suggest_frontier_price” was removed
- [security regression] Tool “propose_experiment_variant” was removed
- [security regression] Tool “get_prompt_class_benchmarks” was removed
- [security regression] Tool “get_usage” was removed
- [security regression] Tool “list_hosted_models” was removed
- [security regression] Tool “delete_webhook” was removed
- [security regression] Tool “list_vendor_adapters” was removed
- [security regression] Tool “record_cost” was removed
- [security regression] Tool “create_commerce_policy” was removed
- [security regression] Tool “list_outcomes” was removed
- [security regression] Tool “list_commerce_connectors” was removed
- [security regression] Tool “disconnect_connected_app” was removed
- [security regression] Tool “settle_purchase” was removed
- [security regression] Tool “create_marketplace_listing” was removed
- [security regression] Tool “settle_session_draw” was removed
- [security regression] Tool “set_agent_protocol” was removed
- [security regression] Tool “get_experiment_definition” was removed
- [security regression] Tool “list_connected_apps” was removed
- [security regression] Tool “list_demo_apps” was removed
- [security regression] Tool “contribute_price_data” was removed
- [security regression] Tool “upload_hosted_model_version” was removed
- [security regression] Tool “get_payout_run” was removed
- [security regression] Tool “verify_webhook_signature” was removed
- [security regression] Tool “list_negotiations” was removed
- [security regression] Tool “reject_forge_candidate” was removed
- [security regression] Tool “update_ucp_checkout” was removed
- [security regression] Tool “update_invoice” was removed
- [security regression] Tool “delete_invoice” was removed
- [security regression] Tool “get_cost_analytics” was removed
- [security regression] Tool “infer_feature_contract” was removed
- [security regression] Tool “get_agent_behaviour_test_run” was removed
- [security regression] Tool “create_storefront” was removed
- [security regression] Tool “create_ucp_checkout” was removed
- [security regression] Tool “quote_storefront_domain” was removed
- [security regression] Tool “freeze_rosetta_adapter” was removed
- [security regression] Tool “query_jale_pool” was removed
- [security regression] Tool “get_commerce_policy” was removed
- [security regression] Tool “get_marketplace_earnings” was removed
- [security regression] Tool “get_spend_policy” was removed
- [security regression] Tool “delete_marketplace_listing” was removed
- [security regression] Tool “plan_rosetta_mapping” was removed
- [security regression] Tool “get_reel” was removed
- [security regression] Tool “add_storefront_domain” was removed
- [security regression] Tool “get_x402_price_index” was removed
- [security regression] Tool “list_commerce_observations” was removed
- [security regression] Tool “create_routing_policy” was removed
- [security regression] Tool “open_spend_session” was removed
- [security regression] Tool “set_spend_policy” was removed
- [security regression] Tool “translate_with_rosetta” was removed
- [security regression] Tool “add_team_member” was removed
- [security regression] Tool “create_order” was removed
- [security regression] Tool “complete_ucp_checkout” was removed
- [security regression] Tool “list_my_marketplace_listings” was removed
- [security regression] Tool “contribute_price_data_batch” was removed
- [security regression] Tool “get_billing_settings” was removed
- [security regression] Tool “decide_learned_price_change” was removed
- [security regression] Tool “create_hosted_model” was removed
- [security regression] Tool “create_invoice” was removed
- [security regression] Tool “revoke_invitation” was removed
- [security regression] Tool “set_experiment_bandit” was removed
- [security regression] Tool “list_costs” was removed
- [security regression] Tool “set_offer_settings” was removed
- [security regression] Tool “add_storefront_dns_record” was removed
- [security regression] Tool “list_pricing_pipelines” was removed
- [security regression] Tool “update_dispute” was removed
- [security regression] Tool “list_approvals” was removed
- [security regression] Tool “remove_offer_product” was removed
- [security regression] Tool “run_agent_behaviour_tests” was removed
- [security regression] Tool “buy_day_pass” was removed
- [security regression] Tool “list_storefronts” was removed
- [security regression] Tool “list_invitations” was removed
- [security regression] Tool “list_canonical_schemas” was removed
- [security regression] Tool “get_channel_rates” was removed
- [security regression] Tool “update_alert_preferences” was removed
- [security regression] Tool “check_agent_readiness” was removed
- [security regression] Tool “get_rosetta_health” was removed
- [security regression] Tool “verify_storefront_domain” was removed
- [security regression] Tool “list_commerce_audit_events” was removed
- [security regression] Tool “create_payment” was removed
- [security regression] Tool “add_order_line” was removed
- [security regression] Tool “list_llm_usage_events” was removed
- [security regression] Tool “verify_signed_quote” was removed
- [security regression] Tool “retry_payout_run” was removed
- [security regression] Tool “get_agent_value_receipt” was removed
- [security regression] Tool “preview_offer” was removed
- [security regression] Tool “list_payout_runs” was removed
- [security regression] Tool “add_commerce_observation” was removed
- [security regression] Tool “list_team_members” was removed
- [security regression] Tool “list_commerce_policies” was removed
- [security regression] Tool “set_buyer_aware_pricing” was removed
- [security regression] Tool “list_credits” was removed
- [security regression] Tool “get_buyer_aware_pricing” was removed
- [security regression] Tool “change_team_member_role” was removed
- [security regression] Tool “train_hosted_model” was removed
- [security regression] Tool “list_usage_events” was removed
- [security regression] Tool “get_jale_token_balance” was removed
- [security regression] Tool “get_credit_balance” was removed
- [security regression] Tool “set_analyst_settings” was removed
- [security regression] Tool “set_price_guardrails” was removed
- [security regression] Tool “get_customer” was removed
- [security regression] Tool “update_billing_settings” was removed
- [security regression] Tool “delete_credit” was removed
- [security regression] Tool “read_my_inbox” was removed
- [security regression] Tool “update_function” was removed
- [security regression] Tool “get_ucp_quote” was removed
- [security regression] Tool “list_commerce_catalog” was removed
- [security regression] Tool “remove_storefront_domain” was removed
- [security regression] Tool “ingest_with_rosetta” was removed
- [security regression] Tool “confirm_purchase” was removed
- [security regression] Tool “get_public_leaderboard” was removed
- [security regression] Tool “list_orders” was removed
- [security regression] Tool “list_day_passes” was removed
- [security regression] Tool “get_experiment_stopping” was removed
- [security regression] Tool “run_function_health_probe” was removed
- [security regression] Tool “sync_commerce_connector” was removed
- [security regression] Tool “get_cut_advisor_settings” was removed
- [security regression] Tool “set_offer_product” was removed
- [security regression] Tool “ask_pricing_analyst” was removed
- [security regression] Tool “accept_counter” was removed
- [security regression] Tool “delete_feature_contract” was removed
- [security regression] Tool “rollback_hosted_model” was removed
- [security regression] Tool “create_commerce_connector” was removed
- [security regression] Tool “get_frontier_model” was removed
- [security regression] Tool “get_ucp_profile” was removed
- [security regression] Tool “create_card_topup” was removed
- [security regression] Tool “delete_contact” was removed
- [security regression] Tool “list_commerce_proposals” was removed
- [security regression] Tool “normalize_with_rosetta” was removed
- [security regression] Tool “get_payout_schedule” was removed
- [security regression] Tool “reconcile_purchase” was removed
- [security regression] Tool “get_forge_status” was removed
- [security regression] Tool “list_feature_launches” was removed
- [security regression] Tool “list_webhook_deliveries” was removed
- [security regression] Tool “list_customers” was removed
- [security regression] Tool “check_variant_significance” was removed
- [security regression] Tool “discover_offers” was removed

### 2026-10-27 (score 78, +1)

We did not load change detail this far back for this component, so this day may have recorded more than is shown.

### 2026-10-26 (score 77, +2)

We did not load change detail this far back for this component, so this day may have recorded more than is shown.

### 2026-10-23 (score 75, −1)

We did not load change detail this far back for this component, so this day may have recorded more than is shown.

## MCP tools (10)

### `pricing_conversation` (~159 tokens)

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.

Input parameters:

- `action` (string): prepare (free) returns the questions still open; compute prices once nothing is missing.
- `answers` (object): Answers to the questions the last call asked, by field, e.g. {"currency":"USD","unit_cost":4}.
- `request` (object): Partial REST PricingComputeRequest, including nested context, constraints, an explicit function selection and options. Reuse continuation.request on subsequent calls.

Output parameters:

- `assumptions` (array)
- `continuation` (object)
- `explanation` (string)
- `message` (string)
- `questions` (array)
- `result` (object)
- `status` (string)

### `compute_price` (~1035 tokens)

Compute a price. Returns the price, the function that produced it, the metered cost and a `trace` of each stage. Send currency plus unit_cost (what the work costs you) or current_price. Missing inputs return an error naming them. For a competitor offer, put competitor_price, competitor_currency and competitive_action in metadata. To pay for this one call with x402, pass payment (call without it to read the price). A result with valid_until (RFC 3339) holds only until then. confidence is the function's own 0 to 1 score for its price, not a probability that a buyer accepts.

Input parameters:

- `buyer_agent` (string|null): Optional. The buying agent, e.g. chatgpt. A label recorded with the quote only.
- `buyer_type` (string|null): Optional. Who the price is for: an AI agent or a person. Recorded with the quote only.
- `channel` (string): Optional. The sales channel, e.g. an agent marketplace. With a rate saved by set_channel_rates, the price covers the channel's cut.
- `currency` (string, required): Three-letter ISO currency code, e.g. USD.
- `current_price` (number): The current or reference price. Optional: functions that price relative to an incumbent need it, but lastprice/cost-plus prices from unit_cost instead.
- `customer_segment` (string): Optional segment, e.g. enterprise.
- `function_id` (string): Optional explicit pricing function UUID to use.
- `geo` (string): Optional geography hint, e.g. US.
- `idempotency_key` (string): Optional. A new value (e.g. a UUID) for each call you mean to make; send the SAME value if you retry after a timeout or error you cannot interpret, and the call is computed and charged once. Ignored…
- `include_buyer_envelope` (boolean): If true, with metadata.category set, the result adds buyer_envelope: what buyers' spend limits allowed in that category (pooled over 5 or more buyers) and where this price sits. It never changes the…
- `include_explanation` (boolean): If true, ask for an explanation and confidence with the price.
- `intent` (object): Optional. The spending limit the buyer approved, e.g. a card network mandate. The result says whether the price fits it.
- `learned_routing` (boolean): Optional. With routing_preference cheapest, fastest, round_robin or weighted, let the router learn from your own calls which function serves you best (see get_learned_routing). Ignored with a functio…
- `max_price` (number): Optional maximum acceptable price.
- `metadata` (object): Optional context. Competitive pricing: competitor_price, competitor_currency and competitive_action (match, or undercut with undercut_pct); confirm the products are comparable. Or market_query (the j…
- `min_price` (number): Optional minimum acceptable price. A competitive offer needs this or a declared unit_cost and target_margin_pct.
- `no_explore` (boolean): If true, give this price exactly as computed, without the small per-call variation a workspace may run so learned pricing can learn what buyers will pay (see get_price_exploration).
- `outcome_terms` (object): Optional, for a price charged per outcome: when the outcome counts as failed and what is owed then. The result echoes the terms normalised, with complete false until success_definition, resolve_by an…
- `payer` (string|null): Optional. Who pays, as distinct from who calls: an agent wallet, a person by card, or a company billed later.
- `payment` (string): Optional. The signed x402 payment, base64, as sent in an X-PAYMENT or PAYMENT-SIGNATURE header; or, where the answer offers MPP tempo, the whole Payment-Authorization value ("Payment " and the creden…
- `product_id` (string): Optional identifier of what is being priced.
- `product_type` (string): Optional category. Defaults to "custom".
- `routing` (object): Optional. Which functions may answer this call, by UUID from list_functions. If none qualifies, the call is refused before any charge.
- `routing_preference` (string): How to route across pricing functions. Defaults to "default".
- `target_margin_pct` (number): Margin on price for cost-plus, not markup on cost: price = unit_cost / (1 - margin). Defaults to 30.
- `unit_cost` (number): 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 requir…

Output parameters:

- `alternatives` (array|null)
- `computed_price` (number): The price the function returned, after the caller's bounds and the workspace's guardrails. Term: lp:computed-price.
- `confidence` (number|null): The function's own 0 to 1 score for this price; not a probability that a buyer accepts. Term: lp:confidence.quote.
- `currency` (string)
- `explanation` (string|null)
- `function_id` (string|null): The pricing function that produced the price. Term: lp:pricing-function.
- `function_name` (string|null): Its name, such as lastprice/cost-plus. Term: lp:pricing-function.
- `message` (string)
- `receipt` (object|null): The usage event that records this call. Pass receipt.id to report_outcome only when it differs from request_id; when no usage event was recorded, receipt.id falls back to request_id and there is noth…
- `request_id` (string)
- `valid_until` (string): RFC 3339; the price holds only until then.

### `verify_price` (~721 tokens)

Ask whether a price makes sense for its context, rather than what the price should be. Returns a verdict (within_band, 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 within_band. Act on next_step: buy (within band on confident, independent evidence), negotiate (too high), walk_away (far too high, confidently) or check_more (unknown, too low, or weak evidence); next_step_reason says why. Pass quote_valid_until from the compute_price result the price came from, and where quote expiry is switched on the answer says quote_expired when that quote is stale. Where paid verdicts are switched on, a caller with no key can pay for one verdict with x402: pass payment, a signed payment for the price and terms listed under payments.x402.verify_price in /.well-known/agents.json; a verdict of unknown is not charged. Where buyers' spend limits are switched on and metadata.category names a category, the evidence includes buyer_budget: what buyers' own spend checks allowed for it (buyer_envelope), reported and never counted in the verdict.

Input parameters:

- `buyer_agent` (string|null): Optional. The buying agent, e.g. chatgpt. A label recorded with the quote only.
- `buyer_type` (string|null): Optional. Who the price is for: an AI agent or a person. Recorded with the quote only.
- `channel` (string): Optional. The sales channel, e.g. an agent marketplace. With a rate saved by set_channel_rates, the price covers the channel's cut.
- `currency` (string): Three-letter ISO currency code, e.g. USD. Defaults to USD.
- `current_price` (number): Optional incumbent price. Not required: asking whether a price is sensible does not presuppose an existing one.
- `customer_segment` (string): Optional segment, e.g. enterprise.
- `geo` (string): Optional geography hint, e.g. US.
- `max_price` (number): Optional hard ceiling. Binding: a verdict will never relax it.
- `metadata` (object): Optional free-form context.
- `min_price` (number): Optional hard floor. Binding: a verdict will never relax it.
- `outcome_terms` (object): Optional, for a price charged per outcome: when the outcome counts as failed and what is owed then. The result echoes the terms normalised, with complete false until success_definition, resolve_by an…
- `payment` (string): Optional. The signed x402 payment, base64, as sent in an X-PAYMENT or PAYMENT-SIGNATURE header; or, where the answer offers MPP tempo, the whole Payment-Authorization value ("Payment " and the creden…
- `product_id` (string): Optional identifier of what is being priced.
- `product_type` (string): Optional category of what is being priced.
- `proposed_price` (number, required): The price to judge. This is the subject of the call.
- `quote_valid_until` (string): Optional. The valid_until of the compute_price result this price came from (RFC 3339). Where quote expiry is switched on, a time already past is answered with quote_expired: true.

Output parameters:

- `band` (object|null): The range the price was judged against; a null bound is open on that side. Term: lp:band.verification.
- `confidence` (number): The lowest evidence weight, halved when sources disagree. Term: lp:confidence.verdict.
- `currency` (string)
- `deviation_pct` (number|null): Percent from the reference price; positive is above it. Term: lp:deviation.
- `evidence` (array): Each source's reference, band and weight. Term: lp:evidence.
- `independent_evidence` (boolean): False means the verdict partly reasoned from the price itself. Term: lp:independent-evidence.
- `message` (string)
- `next_step` (string): What a buyer should do with this price. Term: lp:next-step.
- `next_step_reason` (string)
- `proposed_price` (number): The price that was judged. Term: lp:proposed-price.
- `reference_price` (number|null): The price the evidence points at. Term: lp:reference-price.
- `valid_until` (string): RFC 3339; the verdict holds only until then.
- `verdict` (string): unknown means nothing could judge the price, which is not within_band. Term: lp:verdict.

### `report_outcome` (~287 tokens)

Report whether a price from compute_price was used: once the buyer has accepted or turned down a price, report it. Pass receipt.id from that result as usage_event_id, or omit it to report the last price compute_price returned on this connection or tools instance, once (the hosted MCP endpoint remembers nothing, so pass it there). Outcomes are what later routing and confidence learn from. With outcome pricing on, a rejection within the call's outcome window gives back part of what it cost; the result says what was refunded. Needs a Last Price credential. Report only what actually happened. Needs a claimed workspace: a sandbox key from self-registration is refused (403) until a person claims the workspace.

Input parameters:

- `evidence_note` (string): Optional evidence: a short note on why.
- `evidence_reference` (string): Optional evidence: an order, ticket or invoice id in your own system.
- `evidence_url` (string): Optional evidence: an https link to the record.
- `outcome` (string, required): Whether the price was used.
- `quality_score` (number): Optional: how good the price was, 0 to 1.
- `usage_event_id` (string): The usage event of the priced call: receipt.id on the compute_price result. Pass it whenever you priced more than one thing. Omitted, the last compute_price result on this connection is reported, onc…

Output parameters:

- `event` (object)
- `message` (string)
- `outcome_window` (object)
- `quote_expired` (boolean)
- `quote_expired_seconds_ago` (number)

### `list_functions` (~103 tokens)

List the pricing functions registered for the authenticated tenant.

Input parameters:

- `execution_type` (string): Only functions of this execution type.
- `is_builtin` (boolean): True for built-in functions only, false for the tenant's own only.
- `limit` (integer): Page size. Defaults to 50; the API caps it at 100.
- `offset` (integer): Rows to skip. Defaults to 0.
- `status` (string): Only functions in this status.

Output parameters:

- `functions` (array)
- `items` (array)
- `message` (string)

### `get_receipt` (~167 tokens)

Get the receipt for one of your workspace's priced calls, by its usage event id (the id list_usage_events returns and report_outcome takes): what was priced, by which function and agent, when, the amount, how it was paid, and the outcome if one was reported. Receipts are made only when you ask, never sent for every call. For CSV or a printable page, call GET /api/receipts/{id} with format=csv or format=html. Needs a Last Price credential with price compute or billing read scope. Needs a claimed workspace: a sandbox key from self-registration is refused (403) until a person claims the workspace.

Input parameters:

- `usage_event_id` (string, required): The priced call's usage event id, as list_usage_events returns it.

Output parameters:

- `issued_at` (string)
- `issuer` (object)
- `message` (string)
- `object` (string)
- `receipt` (object)

### `search_tools` (~146 tokens)

Find the Last Price tool for a task. This connection lists only the tools that reach a price; the server has over 300 more (pricing functions, routing, experiments, webhooks, billing, orders, the marketplace and more). Pass query, a few words for the job, and get back the best matching tools with their full input schemas. Then call one with call_tool, or by its name. With no query it lists every tool name.

Input parameters:

- `limit` (integer): How many tools to return. Defaults to 5.
- `query` (string): What you want to do, in a few words, e.g. "create a webhook" or "experiment results".

Output parameters:

- `hint` (string)
- `message` (string)
- `query` (string)
- `tools` (array)

### `call_tool` (~95 tokens)

Run any Last Price tool by name, including one this connection does not list. Find the name and its arguments with search_tools first. What it does, and whether it changes anything, is what that tool says.

Input parameters:

- `arguments` (object): The arguments for that tool, as its input schema from search_tools describes. Defaults to {}.
- `name` (string, required): The tool to run, e.g. "list_webhooks".

Output parameters:

- `message` (string)

### `register_agent` (~204 tokens)

Sign up with no key and no human: creates a sandbox workspace of your own and returns its API key (shown once), its daily limits and a claim link a person can open to take the workspace into their account. Pass name (2 to 64 characters, such as your-system/role-name), and optionally contact_email and intended_use. On the hosted MCP server this session goes on using the new key, so the tools that need a credential work at once with no header to add; elsewhere send the returned key as the x-api-key header. Public: needs no credential.

Input parameters:

- `contact_email` (string): Where a person can reach whoever runs this agent. Never used to send mail until a person claims the workspace.
- `intended_use` (string): What the agent will price, in a sentence.
- `name` (string, required): What to call this agent, such as your-system/role-name: letters, digits, spaces and . _ : @ / + -

### `use_api_key` (~137 tokens)

Use a Last Price API key you already hold (a saved file, LASTPRICE_API_KEY) in this MCP connection, when it was opened without one: pass api_key. On the hosted MCP server this session then runs as that key's agent, so the tools that need a credential work at once with no header to add; it lasts until the session ends or the key is revoked or rotated. The key is checked, never echoed back. A connection that already has a credential keeps it. Public: needs no other credential.

Input parameters:

- `api_key` (string, required): Your Last Price API key: lp_ and 40 lowercase hex characters.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/ai-last-price-pricing/api-mcp-rpc#diagnostics

## Score history

- 2026-11-05: 68
- 2026-11-04: 68
- 2026-11-03: 68
- 2026-11-02: 72
- 2026-11-01: 75
- 2026-10-31: 75
- 2026-10-30: 74
- 2026-10-29: 74
- 2026-10-28: 78
- 2026-10-27: 78
- 2026-10-26: 77
- 2026-10-25: 75
- 2026-10-24: 75
- 2026-10-23: 75
- 2026-10-22: 76
- 2026-10-21: 75
- 2026-10-20: 75
- 2026-10-19: 74
- 2026-10-18: 74
- 2026-10-17: 74
- 2026-10-16: 73
- 2026-10-15: 73
- 2026-10-14: 72
- 2026-10-13: 72
- 2026-10-12: 71
- 2026-10-10: 70
- 2026-10-09: 70
- 2026-10-04: 67
- 2026-10-03: 66
- 2026-10-02: 65

## Common questions

### What is the Last Price MCP server?

Last Price is an MCP server listed in the public MCP registry as ai.last-price/pricing. Compute and verify prices from an agent, metered per call. Works keyless on a demo tenant. This page covers its hosted endpoint (https://api.last-price.ai/api/mcp/rpc).

### Is the Last Price MCP server safe to use?

Last Price scores 68 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Last Price MCP server expose?

Last Price exposes 10 tools: pricing_conversation, compute_price, verify_price, report_outcome, list_functions, and 5 more. Their descriptions and schemas cost roughly 3,054 tokens of context every time the server is loaded.

### Does the Last Price MCP server require authentication?

No. We connected to Last Price without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Last Price MCP server still maintained?

Last Price is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://api.last-price.ai/api/mcp/rpc
- Website: https://last-price.ai/
- Changelog RSS feed: https://verifymcp.io/servers/ai-last-price-pricing/api-mcp-rpc.xml
- Changelog JSON feed: https://verifymcp.io/servers/ai-last-price-pricing/api-mcp-rpc.json
- HTML version of this page: https://verifymcp.io/servers/ai-last-price-pricing/api-mcp-rpc
