Skip to main content

MCP server for ARI (Agentic Rate Indicators). Live fair-market-value lookups, leaderboards, and signed-receipt verification for x402/MPP services · usable from any MCP-aware agent (Claude Desktop, Cursor, Continue, Windsurf, Zed, ChatGPT desktop, Gemini CLI).

Project description

ari-mcp-py · Python MCP server for ARI

PyPI version License: Apache 2.0

MCP server for Agentic Rate Indicators. Gives any MCP-aware agent (Claude Desktop, Cursor, Continue, Windsurf, Zed, ChatGPT desktop, Gemini CLI) live fair-market-value lookups, leaderboards, observation history, and Ed25519 signed-receipt verification for x402/MPP services.

pipx install ari-mcp-py
ari-mcp install     # print copy-paste config blocks for popular hosts

Functionally identical to ari-mcp on npm. Use whichever you prefer · both expose the same eleven tools, the same JSON shapes, and verify receipts with the same Ed25519 wire format.

The published name differs (ari-mcp on npm vs ari-mcp-py on PyPI) only because ari is already taken on PyPI · the installed command, configuration, and tool surface are identical.

Why

LLM agents that pay for things need a pricing oracle they can cite, not a number a seller asserts. ARI indexes services that charge over x402 (Coinbase HTTP 402) and MPP (Stripe + Tempo Machine Payments Protocol), tracks observed prices, computes a Fair Market Value with a low/high band, and returns a green/amber/red verdict before any agent pays. Every JSON response is signed with an Ed25519 key and stamped with a citable receipt id, so an agent can refuse to overpay and a human auditor can re-verify any decision weeks later.

Install in 30 seconds

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) · %APPDATA%/Claude/claude_desktop_config.json (Windows)

{
  "mcpServers": {
    "ari": {
      "command": "uvx",
      "args": ["ari-mcp-py"]
    }
  }
}

Cursor

~/.cursor/mcp.json

{
  "mcpServers": {
    "ari": {
      "command": "uvx",
      "args": ["ari-mcp-py"]
    }
  }
}

Continue, Windsurf, Zed, ChatGPT desktop, Gemini CLI

Run ari-mcp install to print the right config block for each host. Add --client cursor (or any other slug) to print only one.

The eleven tools

Tool What it does
is_fair_price Green/amber/red verdict for a quoted price
refuse_if_overpriced Convenience wrapper to call right before paying
prepay_verdict Full pre-pay decision · FMV band, deviation, receipt id
get_fmv Median plus low/high band plus sample size for a service
get_service Full detail row · sources, related services, last observation
list_services Browse or filter the index by protocol or category
get_leaderboard Cheapest, most expensive, biggest movers
recent_observations Raw observed price history for a service
verify_receipt Re-verify a previously issued receipt id
get_signed_receipt Re-fetch the signed body for a receipt
subscribe_alert Set up a webhook or email price alert

Why signed receipts

An agent that pays for things needs to trust two parties at once · the seller quoting a price, and any oracle telling it whether that price is fair. ARI signs every response with an Ed25519 key whose public half ships embedded in this client at build time. There is no first-call trust window · the very first request a fresh install makes is verified against the pinned key id, and any mismatch fails closed with a clear error. If the publisher rotates keys, the new id is added to an accepted-id list one release before the old one is removed, so stale installs keep verifying correctly until they upgrade.

Pass --insecure-skip-pin to accept any key id the server returns (use this only during a rotation). Pass --insecure-skip-verify to skip Ed25519 verification entirely (test setups only).

Self-hosting

ari-mcp --api-base-url https://ari.example.corp

When the base URL is overridden, the client falls back to fetching the publisher key from <base>/.well-known/ari-pubkey.pem on first call · a single trust-on-first-use step that the operator opted in to by choosing the mirror.

CLI reference

ari-mcp [serve]            Start the MCP stdio server (default)
ari-mcp install            Print install snippets for popular MCP hosts
ari-mcp ping               Send a one-shot opt-in install ping
ari-mcp --version          Print the server version

OPTIONS
  --api-base-url URL       Override the ARI API base URL
  --api-key KEY            Bearer token for paid tiers (optional)
  --transport stdio|http   Transport for `serve`. Default: stdio
  --port N                 HTTP port (with --transport http). Default: 8765
  --host HOST              HTTP bind host. Default: 127.0.0.1
  --insecure-skip-verify   Skip Ed25519 receipt verification
  --insecure-skip-pin      Skip the build-time key-id pin (allow rotation)

Documentation

License

Apache-2.0 · contact hello@agenticrates.org.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ari_mcp_py-0.1.3.tar.gz (25.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ari_mcp_py-0.1.3-py3-none-any.whl (24.7 kB view details)

Uploaded Python 3

File details

Details for the file ari_mcp_py-0.1.3.tar.gz.

File metadata

  • Download URL: ari_mcp_py-0.1.3.tar.gz
  • Upload date:
  • Size: 25.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ari_mcp_py-0.1.3.tar.gz
Algorithm Hash digest
SHA256 be525ed84eab304d339adbbdafd383e604885f2d2722ff227ab69d329326d955
MD5 575e2f0b72bc8e4f561536b5038673b6
BLAKE2b-256 459083e304b98d74a9959bf26d5651dbab2d7c98c032564bf5d775cc70e3e4fe

See more details on using hashes here.

File details

Details for the file ari_mcp_py-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: ari_mcp_py-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 24.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ari_mcp_py-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 60b57cb33b8b7a40a31b24db8f04d99d7d974d9e5d83b21712a9ccad2c02338c
MD5 d6c96f847abc2fa595e1d2593afd3a5d
BLAKE2b-256 ae9c69f4f5dc5732b5bcb316b5841cbf7e35d3ba09d5468cd8f73d64e880ff8c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page