Last Price
REMOTE · API.LAST-PRICE.AI · 2 COMPONENTS
Compute and verify prices from an agent, metered per call. Works keyless on a demo tenant.
Available components
Last scanned (1 hour ago)
Scores higher than 53% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Finance and Payments
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. How we score → Why this is hard to score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (call_tool). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability57
- AI-judged instruction clarity (good).Pass
- 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. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management29
- Stability check failed: schema churn in the 30 days we've observed: 15 tool removals, 0 breaking changes, 0 auth/transport breaks, 4 additions. See how to fix → Fail
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (80% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 10 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 11 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Nov 26 0
- 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 security
- “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” cosmetic
- 3 Nov 26 −4
No change was recorded against any check on this day. Stability & Change Management went from 63 to 29.
- 2 Nov 26 −3
No change was recorded against any check on this day. Stability & Change Management went from 80 to 63.
- 31 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 75 to 80.
- 29 Oct 26 −4
We did not load change detail this far back for this component, so this day may have recorded more than is shown.
- Tool “decide_approval” was removed ▼ security
- Tool “get_llm_usage” was removed ▼ security
- Tool “run_commerce_cycle” was removed ▼ security
- Tool “list_invoices” was removed ▼ security
- Tool “make_offer” was removed ▼ security
- Tool “refund_payment” was removed ▼ security
- Tool “get_usage_breakdown” was removed ▼ security
- Tool “get_feature_contract” was removed ▼ security
- Tool “delete_function” was removed ▼ security
- Tool “set_price_exploration” was removed ▼ security
- Tool “list_experiments” was removed ▼ security
- Tool “delete_order” was removed ▼ security
- Tool “get_experiment_results” was removed ▼ security
- Tool “get_wallet_balance” was removed ▼ security
- Tool “simulate_agent_cut” was removed ▼ security
- Tool “list_routing_policies” was removed ▼ security
- Tool “create_dispute” was removed ▼ security
- Tool “get_payment” was removed ▼ security
- Tool “update_workspace_settings” was removed ▼ security
- Tool “get_price_guardrails” was removed ▼ security
- Tool “get_analyst_brief” was removed ▼ security
- Tool “list_contacts” was removed ▼ security
- Tool “execute_commerce_proposals” was removed ▼ security
- Tool “get_workspace_settings” was removed ▼ security
- Tool “list_ucp_checkouts” was removed ▼ security
- Tool “remove_storefront_dns_record” was removed ▼ security
- Tool “delete_storefront” was removed ▼ security
- Tool “close_spend_session” was removed ▼ security
- Tool “get_contact_by_external_id” was removed ▼ security
- Tool “list_jale_contributions” was removed ▼ security
- Tool “get_purchase_intent” was removed ▼ security
- Tool “activate_order” was removed ▼ security
- Tool “get_aitune_system_stats” was removed ▼ security
- Tool “ping_webhook” was removed ▼ security
- Tool “browse_catalog” was removed ▼ security
- Tool “get_customer_by_external_id” was removed ▼ security
- Tool “compute_prices_batch” was removed ▼ security
- Tool “get_feature_launch_plan” was removed ▼ security
- Tool “list_aitune_backends” was removed ▼ security
- Tool “draw_session_spend” was removed ▼ security
- Tool “test_commerce_policy” was removed ▼ security
- Tool “get_negotiation” was removed ▼ security
- Tool “create_function” was removed ▼ security
- Tool “list_order_lines” was removed ▼ security
- Tool “list_rosetta_review” was removed ▼ security
- Tool “cancel_ucp_checkout” was removed ▼ security
- Tool “get_analyst_settings” was removed ▼ security
- Tool “reject_commerce_proposal” was removed ▼ security
- Tool “get_offer_settings” was removed ▼ security
- Tool “get_learned_routing” was removed ▼ security
- Tool “set_product_category” was removed ▼ security
- Tool “create_customer” was removed ▼ security
- Tool “update_commerce_policy” was removed ▼ security
- Tool “create_credit” was removed ▼ security
- Tool “suggest_frontier_price” was removed ▼ security
- Tool “propose_experiment_variant” was removed ▼ security
- Tool “get_prompt_class_benchmarks” was removed ▼ security
- Tool “get_usage” was removed ▼ security
- Tool “list_hosted_models” was removed ▼ security
- Tool “delete_webhook” was removed ▼ security
- Tool “list_vendor_adapters” was removed ▼ security
- Tool “record_cost” was removed ▼ security
- Tool “create_commerce_policy” was removed ▼ security
- Tool “list_outcomes” was removed ▼ security
- Tool “list_commerce_connectors” was removed ▼ security
- Tool “disconnect_connected_app” was removed ▼ security
- Tool “settle_purchase” was removed ▼ security
- Tool “create_marketplace_listing” was removed ▼ security
- Tool “settle_session_draw” was removed ▼ security
- Tool “set_agent_protocol” was removed ▼ security
- Tool “get_experiment_definition” was removed ▼ security
- Tool “list_connected_apps” was removed ▼ security
- Tool “list_demo_apps” was removed ▼ security
- Tool “contribute_price_data” was removed ▼ security
- Tool “upload_hosted_model_version” was removed ▼ security
- Tool “get_payout_run” was removed ▼ security
- Tool “verify_webhook_signature” was removed ▼ security
- Tool “list_negotiations” was removed ▼ security
- Tool “reject_forge_candidate” was removed ▼ security
- Tool “update_ucp_checkout” was removed ▼ security
- Tool “update_invoice” was removed ▼ security
- Tool “delete_invoice” was removed ▼ security
- Tool “get_cost_analytics” was removed ▼ security
- Tool “infer_feature_contract” was removed ▼ security
- Tool “get_agent_behaviour_test_run” was removed ▼ security
- Tool “create_storefront” was removed ▼ security
- Tool “create_ucp_checkout” was removed ▼ security
- Tool “quote_storefront_domain” was removed ▼ security
- Tool “freeze_rosetta_adapter” was removed ▼ security
- Tool “query_jale_pool” was removed ▼ security
- Tool “get_commerce_policy” was removed ▼ security
- Tool “get_marketplace_earnings” was removed ▼ security
- Tool “get_spend_policy” was removed ▼ security
- Tool “delete_marketplace_listing” was removed ▼ security
- Tool “plan_rosetta_mapping” was removed ▼ security
- Tool “get_reel” was removed ▼ security
- Tool “add_storefront_domain” was removed ▼ security
- Tool “get_x402_price_index” was removed ▼ security
- Tool “list_commerce_observations” was removed ▼ security
- Tool “create_routing_policy” was removed ▼ security
- Tool “open_spend_session” was removed ▼ security
- Tool “set_spend_policy” was removed ▼ security
- Tool “translate_with_rosetta” was removed ▼ security
- Tool “add_team_member” was removed ▼ security
- Tool “create_order” was removed ▼ security
- Tool “complete_ucp_checkout” was removed ▼ security
- Tool “list_my_marketplace_listings” was removed ▼ security
- Tool “contribute_price_data_batch” was removed ▼ security
- Tool “get_billing_settings” was removed ▼ security
- Tool “decide_learned_price_change” was removed ▼ security
- Tool “create_hosted_model” was removed ▼ security
- Tool “create_invoice” was removed ▼ security
- Tool “revoke_invitation” was removed ▼ security
- Tool “set_experiment_bandit” was removed ▼ security
- Tool “list_costs” was removed ▼ security
- Tool “set_offer_settings” was removed ▼ security
- Tool “add_storefront_dns_record” was removed ▼ security
- Tool “list_pricing_pipelines” was removed ▼ security
- Tool “update_dispute” was removed ▼ security
- Tool “list_approvals” was removed ▼ security
- Tool “remove_offer_product” was removed ▼ security
- Tool “run_agent_behaviour_tests” was removed ▼ security
- Tool “buy_day_pass” was removed ▼ security
- Tool “list_storefronts” was removed ▼ security
- Tool “list_invitations” was removed ▼ security
- Tool “list_canonical_schemas” was removed ▼ security
- Tool “get_channel_rates” was removed ▼ security
- Tool “update_alert_preferences” was removed ▼ security
- Tool “check_agent_readiness” was removed ▼ security
- Tool “get_rosetta_health” was removed ▼ security
- Tool “verify_storefront_domain” was removed ▼ security
- Tool “list_commerce_audit_events” was removed ▼ security
- Tool “create_payment” was removed ▼ security
- Tool “add_order_line” was removed ▼ security
- Tool “list_llm_usage_events” was removed ▼ security
- Tool “verify_signed_quote” was removed ▼ security
- Tool “retry_payout_run” was removed ▼ security
- Tool “get_agent_value_receipt” was removed ▼ security
- Tool “preview_offer” was removed ▼ security
- Tool “list_payout_runs” was removed ▼ security
- Tool “add_commerce_observation” was removed ▼ security
- Tool “list_team_members” was removed ▼ security
- Tool “list_commerce_policies” was removed ▼ security
- Tool “set_buyer_aware_pricing” was removed ▼ security
- Tool “list_credits” was removed ▼ security
- Tool “get_buyer_aware_pricing” was removed ▼ security
- Tool “change_team_member_role” was removed ▼ security
- Tool “train_hosted_model” was removed ▼ security
- Tool “list_usage_events” was removed ▼ security
- Tool “get_jale_token_balance” was removed ▼ security
- Tool “get_credit_balance” was removed ▼ security
- Tool “set_analyst_settings” was removed ▼ security
- Tool “set_price_guardrails” was removed ▼ security
- Tool “get_customer” was removed ▼ security
- Tool “update_billing_settings” was removed ▼ security
- Tool “delete_credit” was removed ▼ security
- Tool “read_my_inbox” was removed ▼ security
- Tool “update_function” was removed ▼ security
- Tool “get_ucp_quote” was removed ▼ security
- Tool “list_commerce_catalog” was removed ▼ security
- Tool “remove_storefront_domain” was removed ▼ security
- Tool “ingest_with_rosetta” was removed ▼ security
- Tool “confirm_purchase” was removed ▼ security
- Tool “get_public_leaderboard” was removed ▼ security
- Tool “list_orders” was removed ▼ security
- Tool “list_day_passes” was removed ▼ security
- Tool “get_experiment_stopping” was removed ▼ security
- Tool “run_function_health_probe” was removed ▼ security
- Tool “sync_commerce_connector” was removed ▼ security
- Tool “get_cut_advisor_settings” was removed ▼ security
- Tool “set_offer_product” was removed ▼ security
- Tool “ask_pricing_analyst” was removed ▼ security
- Tool “accept_counter” was removed ▼ security
- Tool “delete_feature_contract” was removed ▼ security
- Tool “rollback_hosted_model” was removed ▼ security
- Tool “create_commerce_connector” was removed ▼ security
- Tool “get_frontier_model” was removed ▼ security
- Tool “get_ucp_profile” was removed ▼ security
- Tool “create_card_topup” was removed ▼ security
- Tool “delete_contact” was removed ▼ security
- Tool “list_commerce_proposals” was removed ▼ security
- Tool “normalize_with_rosetta” was removed ▼ security
- Tool “get_payout_schedule” was removed ▼ security
- Tool “reconcile_purchase” was removed ▼ security
- Tool “get_forge_status” was removed ▼ security
- Tool “list_feature_launches” was removed ▼ security
- Tool “list_webhook_deliveries” was removed ▼ security
- Tool “list_customers” was removed ▼ security
- Tool “check_variant_significance” was removed ▼ security
- Tool “discover_offers” was removed ▼ security
- 27 Oct 26 +1
We did not load change detail this far back for this component, so this day may have recorded more than is shown.
- 26 Oct 26 +2
We did not load change detail this far back for this component, so this day may have recorded more than is shown.
- 23 Oct 26 −1
We did not load change detail this far back for this component, so this day may have recorded more than is shown.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://api.last-price.ai/api/mcp/rpc
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=*.last-price.ai | CN=YR1,O=Let's Encrypt,C=US | 18 Sept 2026 | 17 Dec 2026 | RSA 2048 | SHA256-RSA | 51f18b20b7b64e2b30433925b7cb7e10cf7 |
| SANs: *.last-price.ai, last-price.ai | ||||||
| CN=YR1,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | a20253f15f2691c05dc1ce13b9bcca4e |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of api.last-price.ai. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| ai. | present | 1814, 3799 | 8, 8 | Verified |
| last-price.ai. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains; preload |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(), microphone=(), geolocation=(), interest-cohort=() |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://api.last-price.ai/api/mcp/rpc | Verified | 200 | |
| http (plaintext) | http://api.last-price.ai/api/mcp/rpc | HTTPS enforced | 308 | https://api.last-price.ai/api/mcp/rpc |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
call_tool ~95
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.
| Name | Type | Req | Description |
|---|---|---|---|
| arguments | object | – | The arguments for that tool, as its input schema from search_tools describes. Defaults to {}. |
| name | string | yes | The tool to run, e.g. "list_webhooks". |
| Name | Type | Req | Description |
|---|---|---|---|
| message | string | – | – |
No examples provided.
compute_price ~1,035
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.
| Name | Type | Req | Description |
|---|---|---|---|
| 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 | yes | 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… |
| Name | Type | Req | Description |
|---|---|---|---|
| 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. |
No examples provided.
get_receipt ~167
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.
| Name | Type | Req | Description |
|---|---|---|---|
| usage_event_id | string | yes | The priced call's usage event id, as list_usage_events returns it. |
| Name | Type | Req | Description |
|---|---|---|---|
| issued_at | string | – | – |
| issuer | object | – | – |
| message | string | – | – |
| object | string | – | – |
| receipt | object | – | – |
No examples provided.
list_functions ~103
List the pricing functions registered for the authenticated tenant.
| Name | Type | Req | Description |
|---|---|---|---|
| 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| functions | array | – | – |
| items | array | – | – |
| message | string | – | – |
No examples provided.
pricing_conversation ~159
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.
| Name | Type | Req | Description |
|---|---|---|---|
| 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| assumptions | array | – | – |
| continuation | object | – | – |
| explanation | string | – | – |
| message | string | – | – |
| questions | array | – | – |
| result | object | – | – |
| status | string | – | – |
No examples provided.
register_agent ~204
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.
| Name | Type | Req | Description |
|---|---|---|---|
| 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 | yes | What to call this agent, such as your-system/role-name: letters, digits, spaces and . _ : @ / + - |
No output schema declared.
No examples provided.
report_outcome ~287
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.
| Name | Type | Req | Description |
|---|---|---|---|
| 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 | yes | 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… |
| Name | Type | Req | Description |
|---|---|---|---|
| event | object | – | – |
| message | string | – | – |
| outcome_window | object | – | – |
| quote_expired | boolean | – | – |
| quote_expired_seconds_ago | number | – | – |
No examples provided.
search_tools ~146
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.
| Name | Type | Req | Description |
|---|---|---|---|
| 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". |
| Name | Type | Req | Description |
|---|---|---|---|
| hint | string | – | – |
| message | string | – | – |
| query | string | – | – |
| tools | array | – | – |
No examples provided.
use_api_key ~137
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.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | yes | Your Last Price API key: lp_ and 40 lowercase hex characters. |
No output schema declared.
No examples provided.
verify_price ~721
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.
| Name | Type | Req | Description |
|---|---|---|---|
| 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 | yes | 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| 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. |
No examples provided.
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.
remote · api.last-price.ai
claude mcp add --transport http ai-last-price-pricing 'https://api.last-price.ai/api/mcp/rpc'
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.