Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Easy Predict

FreeNot checked

MCP server for easy-predict.com — time series prediction and anomaly detection with automatic x402 micropayments on Base.

GitHubEmbed

About

MCP server for easy-predict.com — time series prediction and anomaly detection with automatic x402 micropayments on Base.

README

Agent-first prediction and anomaly detection API. Send a list of numbers, get the next predicted value or a list of anomalous points. Paid per call via x402 v2 micropayments — $0.01 USDC on Base. No API keys, no accounts.

Live at easy-predict.com


Endpoints

Method Path Cost Description
POST /timeseries $0.01 USDC Predict the next value in a numeric series
POST /anomaly-detection $0.01 USDC Detect anomalies via z-score
GET /.well-known/x402 free x402 v2 resource discovery
GET /openapi.json free OpenAPI 3.1 spec
GET /llms.txt free Human/agent-readable API docs

POST /timeseries

curl https://easy-predict.com/timeseries \
  -H "Content-Type: application/json" \
  -H "PAYMENT-SIGNATURE: <signed-x402-payload>" \
  -d '{"series": [1.0, 2.3, 4.1, 6.8, 9.2], "context": "monthly revenue USD"}'

Response:

{
  "prediction": 12.1,
  "method": "linear",
  "holdout_errors": {"linear": 0.05, "log1p-linear": 0.31, "last-delta": 0.05, "mean": 3.5},
  "slope": 1.94,
  "intercept": 0.12
}

Model selection: holds out the last point, evaluates linear, log1p-linear, last-delta, and mean against it, retrains the winner on the full series.

POST /anomaly-detection

curl https://easy-predict.com/anomaly-detection \
  -H "Content-Type: application/json" \
  -H "PAYMENT-SIGNATURE: <signed-x402-payload>" \
  -d '{"series": [1.0, 2.3, 4.1, 6.8, 99.0], "threshold": 2.0}'

Response:

{
  "anomalies": [{"index": 4, "value": 99.0, "z_score": 2.14}],
  "method": "z-score",
  "mean": 15.12,
  "std": 39.18,
  "threshold": 2.0
}

Both endpoints accept an optional "context" string (max 200 chars) echoed back in the response.


x402 payment flow

Omit the payment header to get a 402 with the full payment terms:

{
  "x402Version": 2,
  "error": "Payment Required",
  "accepts": [{
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "10000",
    "payTo": "0xc99b83818c8865340AC55C45554f377f41c68DBC",
    "maxTimeoutSeconds": 60
  }]
}
  1. Parse accepts[0] from the 402 response
  2. Sign a payment payload with your wallet
  3. Base64-encode the signed JSON and retry with PAYMENT-SIGNATURE: <encoded>
  4. The Cloudflare Worker verifies via https://x402.org/facilitator and settles on-chain

Payment: 10000 atomic units = $0.01 USDC (6 decimals) on Base mainnet.


MCP server (Claude Desktop, Cursor, Windsurf)

The MCP server runs locally on your machine. Your wallet private key never leaves your device — it signs the x402 payment locally and only the signed header is sent to easy-predict.com.

Add to your MCP client config:

{
  "mcpServers": {
    "easy-predict": {
      "command": "uvx",
      "args": ["easy-predict-mcp"],
      "env": {
        "WALLET_PRIVATE_KEY": "0xYOUR_WALLET_PRIVATE_KEY"
      }
    }
  }
}

Then ask Claude: "Predict the next value for this series: 1.2, 2.4, 4.1, 6.8" — it calls the tool, pays $0.01 USDC from your wallet automatically, and returns the forecast.

Listed on Smithery — search easy-predict to install with one click.


Agent integration (Python)

A working Claude agent that handles the full 402 → sign → retry loop autonomously:

pip install anthropic requests eth-account
ANTHROPIC_API_KEY=sk-... WALLET_PRIVATE_KEY=0x... python examples/demo_agent.py

examples/demo_agent.py — uses Anthropic tool use. The same pattern works with LangChain, LlamaIndex, CrewAI, or AutoGen.

Demo mode (no wallet, against local server):

cd timeseries && python app.py &
ANTHROPIC_API_KEY=sk-... python examples/demo_agent.py

Architecture

  • Cloudflare Worker (src/index.ts) — edge runtime, rate limiting, full x402 verify+settle via the facilitator
  • Flask backend (timeseries/app.py) — Python prediction logic, local dev server
  • Static assets (public/) — splash page, openapi.json, llms.txt

The Worker handles all production traffic. The Flask app is used for local development and runs on port 8000.


Local development

pip install -r requirements.txt
cd timeseries && python app.py        # Flask on http://localhost:8000

The local Flask server uses presence-only payment checking — any non-empty PAYMENT-SIGNATURE header is accepted. Useful for testing without a real wallet.

For the Cloudflare Worker:

npm install
npx wrangler dev                      # Worker on http://localhost:8787

Repo structure

timeseries/app.py                        Flask backend (prediction + anomaly detection logic)
anomaly_detection/app.py                 Anomaly detection blueprint
src/index.ts                             Cloudflare Worker (edge runtime)
mcp_server/easy_predict_mcp/server.py   MCP server — runs locally, signs payments on device
mcp_server/pyproject.toml               PyPI package definition (easy-predict-mcp)
smithery.yaml                            Smithery registry config
public/
  index.html                             Splash page
  openapi.json                           OpenAPI 3.1 spec
  llms.txt                               Human/agent-readable docs
examples/
  demo_agent.py                          Claude agent integration demo with x402 payments
tests/                                   Test suite

Configuration

Flask backend env vars (all optional):

Variable Default Description
PAY_TO_ADDRESS 0xc99b... Recipient wallet
X402_ASSET USDC on Base ERC-20 asset address
X402_NETWORK eip155:8453 Chain ID
X402_MAX_AMOUNT 10000 Atomic units ($0.01)
FACILITATOR_URL https://x402.org/facilitator x402 facilitator
PUBLIC_BASE_URL https://easy-predict.com Base URL for resource URLs in 402 responses

from github.com/WilliamsRizzi/easy-predict

Installing Easy Predict

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/WilliamsRizzi/easy-predict

FAQ

Is Easy Predict MCP free?

Yes, Easy Predict MCP is free — one-click install via Unyly at no cost.

Does Easy Predict need an API key?

No, Easy Predict runs without API keys or environment variables.

Is Easy Predict hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Easy Predict in Claude Desktop, Claude Code or Cursor?

Open Easy Predict on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Easy Predict with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs