aimarket-oracle-gateway
MCP server exposing AIMarket's verifiable oracle capabilities (Platon VRF, Chronos VDF, LUMEN reputation) as agent-callable tools with pay-per-call.
README
<!-- aicom-mirror-notice -->
📖 Read-only mirror.
aimarket-oracle-gatewayis published from the canonical AI-Factory monorepo. Pull requests are not accepted — any commit pushed here is overwritten byscripts/mirror_satellites.shon the next sync. 🐞 Found a bug or have a request? Please open an issue.
aimarket-oracle-gateway — MCP server
<!-- aicom-readme-badges --> <p align="center"> <a href="https://github.com/alexar76/aimarket-oracle-gateway/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/alexar76/aimarket-oracle-gateway/ci.yml?branch=main&label=CI" alt="CI" /></a> <a href="https://glama.ai/mcp/servers/alexar76/aimarket-oracle-gateway"><img src="https://glama.ai/mcp/servers/alexar76/aimarket-oracle-gateway/badges/score.svg" alt="aimarket-oracle-gateway MCP server" /></a> <a href="#testing--coverage"><img src="docs/badges/coverage.svg" alt="Test coverage" /></a> <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT" /></a> </p> <!-- /aicom-readme-badges -->
This repository ships a Model Context Protocol (MCP) server that exposes the AIMarket ecosystem's verifiable oracle capabilities — Platon VRF (signed randomness), Chronos VDF (verifiable delay / proof-of-elapsed-time), and LUMEN reputation — as agent-callable tools, pay-per-call over the AIMarket protocol.
Transport: stdio (mcp_stdio_server.py). Built with the official
MCP Python SDK (mcp package, FastMCP).
Compatible hosts: Claude Desktop, Cursor, Glama, and any MCP client that supports stdio servers.
| Item | Location |
|---|---|
| MCP entrypoint | mcp_stdio_server.py |
| MCP SDK dependency | requirements-mcp.txt — mcp>=1.6,<4 |
| Glama / Docker run | Dockerfile, glama.json |
A passthrough MCP server that puts the ecosystem's oracle capabilities in front of any AI agent. It is the discovery + consumption storefront for the oracle-as-a-service specs: an agent adds this server, sees the tools, and calls them — pay-per-call over the AIMarket protocol, no signup. Every result is independently verifiable (verify the signature / VDF proof rather than trusting the service).
Tools
| MCP tool | capabilityId | price | what it returns |
|---|---|---|---|
get_random |
platon.random@v1 |
~$0.004 | Ed25519-signed unbiasable randomness + proof |
get_randomness_beacon |
platon.beacon@v1 |
~$0.004 | the round's public beacon |
ask_oracle |
platon.ask@v1 |
~$0.003 | entropy-derived read-only answer |
compute_vdf |
chronos.eval@v1 |
~$0.01 | VDF y=g^(2^T) + Wesolowski proof (proof-of-elapsed-work) |
verify_vdf |
chronos.verify@v1 |
~$0.001 | {valid} for a VDF proof |
get_reputation_scores |
lumen.reputation@v1 |
~$0.005 | PageRank/EigenTrust trust scores over a graph you supply |
list_oracle_capabilities |
— | free | the tool/capability/price table |
Configure (env)
| var | meaning |
|---|---|
AIMARKET_HUB_URL |
AIMarket Hub base URL — recommended: metered + paid, the routing fee funds the ecosystem |
AIMARKET_ORACLE_URL |
direct oracle-family URL (used if no hub) — demo/free path |
AIMARKET_PAYMENT_CHANNEL |
optional pre-opened payment channel id (sent as X-Payment-Channel) |
AIMARKET_API_TOKEN |
optional bearer token (dev/prod auth) |
AIMARKET_MAX_PER_CALL_USD |
hard cap per call (default 0.10) — a call advertised above this is refused |
AIMARKET_MAX_SPEND_USD |
hard cumulative budget this process (default 5.0) — refused once exceeded |
AIMARKET_PRICE_TOLERANCE |
reject if the hub charges > advertised × (1 + this) (default 0.10) — overcharge guard |
If neither URL is set the server fails closed with a clear message (never silently fakes a result).
Payment safety (spec 03): the caps above are enforced client-side and a prompt-injected / runaway agent cannot override them — the gateway refuses to spend past them (fail-closed). It also rejects a hub that charges more than the advertised price. See docs/specs/03-mcp-payment-and-security.md.
Run
# stdio (local / Claude Desktop)
pip install -r requirements-mcp.txt && pip install --no-deps -e .
AIMARKET_HUB_URL=https://modelmarket.dev python mcp_stdio_server.py
# Docker
docker build -t aimarket-oracle-gateway .
docker run -i -e AIMARKET_HUB_URL=https://modelmarket.dev aimarket-oracle-gateway
Claude Desktop (mcpServers entry):
{ "mcpServers": { "aimarket-oracle-gateway": {
"command": "python", "args": ["mcp_stdio_server.py"],
"env": { "AIMARKET_HUB_URL": "https://modelmarket.dev" } } } }
Publish on Glama (maintainer)
This repo ships glama.json + Dockerfile at the root. Listing: glama.ai/mcp/servers/alexar76/aimarket-oracle-gateway — claim with Login with GitHub (maintainers: alexar76). Glama builds the Docker image and indexes the tools so agents discover get_random / compute_vdf / … directly.
Verifiability (the point)
- Randomness carries an Ed25519
signatureover(random_hex ‖ proof); verify against the signer key in the Hub's signed manifest. The result includes averifiablesummary (signed,has_proof). - VDF output
y=g^(2^T) mod Nis checkable in one exponentiation viaverify_vdf(and on-chain viaChronosVDF.sol).
Notes
- This is the storefront; the live oracles + escrow settlement already exist (see docs/onchain-journal.md).
- Shipped:
platon.verify/lumen.verify/lumen.score,chronos modulus_hex, the hub's signed.well-known+/pricesendpoint, and the gateway spending-cap/overcharge security core. - Roadmap (per the specs): the full channel lifecycle (auto open/sign/settle/refund, nonce-sync, receipt-signature + TLS pinning), the remote pre-signed-voucher path, and OS-keychain key storage.
- Tests:
PYTHONPATH=. pytest tests/(routing/parse logic, no network).
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.