New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

aimarket-oracle-gateway

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

aimarket-oracle-gateway

AIMarket Oracle Gateway — full oracle family (17 oracles, 35 MCP tools) pay-per-call

pipPyPI
Version
0.3.3
Weekly downloads
291
238.37%
Maintainers
1
Weekly downloads
 
Created

aimarket-oracle-gateway — MCP server

CI aimarket-oracle-gateway MCP server Test coverage License: MIT

One MCP server. Seventeen oracle families. Pay-per-call.

Transport: stdio (aimarket_oracle_gateway/stdio_server.py). Built with the official Model Context Protocol Python SDK (mcp, FastMCP). Compatible hosts: Claude Desktop, Cursor, Glama, and any MCP client that supports stdio servers.

ItemLocation
MCP entrypointaimarket_oracle_gateway/stdio_server.py
Tool routing coreaimarket_oracle_gateway/gateway_core.py
Extended tool surfaceaimarket_oracle_gateway/mcp_tool_surface.py
Glama / Docker runDockerfile, glama.json

A passthrough MCP server — the discovery + consumption storefront for the entire oracle-as-a-service specs. One server, 35 oracle capabilities plus a free discovery tool (36 MCP tools), every result independently verifiable (signatures, VDF proofs, classical certificates, deterministic replay).

Tools (35 capabilities plus discovery)

CategoryMCP toolcapabilityIdprice
Randomnessget_randomplaton.random@v1$0.004
get_randomness_beaconplaton.beacon@v1$0.004
ask_oracleplaton.ask@v1$0.003
verify_randomplaton.verify@v1$0.001
Delaycompute_vdfchronos.eval@v1$0.01
verify_vdfchronos.verify@v1$0.001
Reputationget_reputation_scoreslumen.reputation@v1$0.005
get_agent_trustlumen.score@v1$0.003
verify_reputationlumen.verify@v1$0.002
Consensusaggregate_valuesmurmuration.aggregate@v1$0.002
Thermodynamicsaudit_compute_costlandauer.audit@v1$0.01
verify_compute_costlandauer.verify@v1$0.001
Routingcompute_least_time_routefermat.route@v1$0.01
verify_least_time_routefermat.verify@v1$0.001
Cascade riskanalyze_cascade_riskablation.cascade@v1$0.01
verify_cascade_riskablation.verify@v1$0.001
Samplingget_quasirandom_sequencelattice.sequence@v1$0.002
get_blue_noiseturing.bluenoise@v1$0.002
Optimizationoptimize_routecolony.optimize@v1$0.005
Resilienceanalyze_network_resiliencepercola.threshold@v1$0.01
verify_network_resiliencepercola.verify@v1$0.001
Randomnesssortes_drawsortes.draw@v1$0.006
sortes_verifysortes.verify@v1$0.001
Learninggauss_fieldgauss.field@v1$0.006
gauss_suggestgauss.suggest@v1$0.006
gauss_verifygauss.verify@v1$0.001
Time-lockaestus_sealaestus.seal@v1$0.006
aestus_openaestus.open@v1$0.01
aestus_verifyaestus.verify@v1$0.001
Topologybetti_homologybetti.homology@v1$0.008
betti_distancebetti.distance@v1$0.004
Transportkantor_transportkantor.transport@v1$0.006
kantor_verifykantor.verify@v1$0.001
Spectralfourier_spectrumfourier.spectrum@v1$0.005
fourier_verifyfourier.verify@v1$0.001
Discoverylist_oracle_capabilities—free

Subscription tiers (optional Hub bundles)

High-volume tools also advertise monthly bundles in list_oracle_capabilities:

ToolStarterPro
aggregate_values10k calls / $10100k / $50
get_reputation_scores5k / $2050k / $100
audit_compute_cost10k / $15100k / $75
compute_least_time_route10k / $25100k / $120
analyze_cascade_risk5k / $5050k / $250

Pay-per-call remains the default; bundles are Hub-side packaging.

Configure (env)

varmeaning
AIMARKET_HUB_URLAIMarket Hub base URL — recommended: metered + paid
AIMARKET_SOURCE_HUBCopy the selected Hub search result's source_hub for federated oracles; defaults to local
AIMARKET_ORACLE_URLdirect oracle-family URL (if no hub) — demo/free path
AIMARKET_PAYMENT_CHANNELoptional pre-opened payment channel id
AIMARKET_PAYMENT_CHANNEL_SECRETper-channel debit secret
AIMARKET_API_TOKENoptional bearer token
AIMARKET_MAX_PER_CALL_USDhard cap per call (default 0.10)
AIMARKET_MAX_SPEND_USDhard cumulative budget (default 5.0)
AIMARKET_PRICE_TOLERANCEreject overcharge vs advertised (default 0.10)

If neither URL is set the server fails closed with a clear message.

Payment safety (spec 03): spending caps are enforced client-side and cannot be overridden by a prompt-injected agent. See docs/specs/03-mcp-payment-and-security.md.

Hub invokes include max_price_usd, bounded by the per-call limit, remaining budget, and advertised-price tolerance. A supporting Hub checks this ceiling before work or payment. The Gateway also rejects an over-limit response and preserves an explicit zero price. Direct oracle endpoints do not use the Hub's atomic ceiling contract; the client-side response checks alone cannot undo work or charges at a provider.

Run

Install the published server:

pip install aimarket-oracle-gateway==0.3.3

Set AIMARKET_HUB_URL and, for a federated result, AIMARKET_SOURCE_HUB as above, then run aimarket-oracle-gateway. For a source checkout instead:

pip install -r requirements-mcp.txt && pip install --no-deps -e .
# Set this to the exact source_hub returned by the Hub's oracle search.
export AIMARKET_SOURCE_HUB="<source_hub from the selected catalog result>"
AIMARKET_HUB_URL=https://modelmarket.dev python -m aimarket_oracle_gateway.stdio_server

Claude Desktop (mcpServers entry):

{ "mcpServers": { "aimarket-oracle-gateway": {
  "command": "python", "args": ["-m", "aimarket_oracle_gateway.stdio_server"],
  "env": {
    "AIMARKET_HUB_URL": "https://modelmarket.dev",
    "AIMARKET_SOURCE_HUB": "<source_hub from the selected catalog result>"
  } } } }

Test MCP startup locally

From this package directory, in an environment with the package's runtime and dev dependencies installed:

python -m pytest tests/test_stdio_startup.py tests/test_stdio_schema.py -q

The startup regression launches the real stdio server in a separate process, completes initialize and all tools/list pages, and checks the full catalogue, reported version and constrained schemas. It uses an isolated directory and a clean environment, with network connections and child processes denied. It does not invoke oracle tools or require API credentials. Process lifetime and cleanup are bounded.

Release 0.3.1 could exit before initialize: postponed annotations left function-local aliases such as ValuesList as strings that FastMCP could not resolve. Release 0.3.2 evaluates annotations in mcp_tool_surface.py when the nested functions are defined, preserving their types and validation constraints. Keep these registrar annotations evaluated; an import-only check does not cover the complete stdio startup lifecycle.

Release 0.3.3 adds the outbound Hub price ceiling, preserves zero-priced responses, enforces the actual per-call cap independently of quote tolerance, and accepts the federated source through AIMARKET_SOURCE_HUB. A strict ceiling can refuse a cent-rounded Hub admission quote; it never silently raises the configured budget. Direct oracle providers do not implement this Hub ceiling contract.

Publish on Glama

Listing: glama.ai/mcp/servers/alexar76/aimarket-oracle-gateway

Verifiability

  • Platon — Ed25519 signature over (random_hex ‖ proof)
  • Chronos — Wesolowski VDF proof, cheap verify_vdf
  • LUMEN — re-derive PageRank from committed graph
  • Murmuration — deterministic re-aggregation from input values
  • Landauer — bit-for-bit erasure count from ops DAG + circuit_commitment
  • Fermat — dual certificate T(v) checked in O(E)
  • Ablation — sandpile replay, order-independent topple_total + tau
  • Lattice / Turing — deterministic from (count, dim, skip) / seed
  • Colony — admissible lower_bound + gap certificate
  • Percola — recomputable percolation sweep + f_c
  • Sortes — ECVRF 80-byte proof, verifiable offline by anyone (RFC 9381)
  • Gauss — deterministic replay of GP posterior + Expected-Improvement suggestion
  • Aestus — RSW time-lock puzzle re-derivable; modulus factorization burned each seal
  • Betti — recomputable Vietoris-Rips persistence diagram + bottleneck distance
  • Kantor — Kantorovich dual potentials checked in O(m*n) without re-solving
  • Fourier — recomputable Laplacian spectrum + Fiedler value lambda-2

Tests

PYTHONPATH=. pytest tests/

FAQs

Related posts