About Easy Predict
Easy Predict is an API for forecasting the next value in a numeric series and detecting outliers, aimed at agents and applications that need basic time-series analysis. Calls are paid individually with USDC on Base through x402.
Key features
- 01Next-value forecasting
- 02Model selection using holdout errors
- 03Z-score anomaly detection
- 04Optional context echoed in responses
- 05Pay per call with USDC on Base
Use cases
- 01Forecasting a numeric series
- 02Finding outliers in measured values
MCP support
Its local MCP server exposes prediction and anomaly-detection tools to MCP clients. It signs x402 payments on the device and sends the signed payment header to the API.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
2Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| context | string | No | |
| series | array | Yes |
Details
From the project READMEeasy-predict
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
}]
}
- Parse
accepts[0]from the 402 response - Sign a payment payload with your wallet
- Base64-encode the signed JSON and retry with
PAYMENT-SIGNATURE: <encoded> - The Cloudflare Worker verifies via
https://x402.org/facilitatorand 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 |
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.