pocket-agents
MCP serverCommerce & financePine Script backtest-trap checks, backtest reconciliation and official Korean finance data.
Available today. Use it from your connected AI after setup.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the pine integrity tool from pocket-agents
Install pocket-agents
The server’s own address, for the clients that take one directly. Or connect ahel once and every client you use reads it from one address, with the account kept on ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http --scope user pocket-agents 'https://mcp.pokt-agent.com/mcp'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://mcp.pokt-agent.com/mcpAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=pocket-agents&config=eyJ1cmwiOiJodHRwczovL21jcC5wb2t0LWFnZW50LmNvbS9tY3AifQ==Open the link and Cursor adds the server at that address.
ChatGPT
https://mcp.pokt-agent.com/mcpIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add pocket-agents --url 'https://mcp.pokt-agent.com/mcp'Run it once, then sign in with codex mcp login pocket-agents if the server asks for an account.
From the project's README
As published by jsymen1290/pocket-agents in README.md.
Seven verification-style services for the Pocket Network Agentic Portal, built and operated by one supplier on a Mac mini. Stdlib-only Python (3.9+), no keys, every response a JSON object, deterministic per snapshot, facts separated from judgments.
| Service id (beta + main) | Public docs | What it answers |
|---|---|---|
pokt-settlement-agent-v1 | https://pokt-agent.com | What was this supplier actually paid, with per-event evidence; supplier/network economics (observed, no forecasts); operator watch (/v1/supplier/{op}/ops): settlement gap class, on-chain config changes, fee balance, pending claims/proofs, check-first list |
pokt-network-watch-v1 | https://watch.pokt-agent.com | What changed on Pocket Network: chain params, active alerts, change events over 15 official sources, each bound to a fetch receipt + SHA-256 that can be re-verified |
kr-market-data-v1 | https://kr.pokt-agent.com | Are two Korean-exchange prices comparable? Upbit/Bithumb KRW tickers with data lag, orderbook-walked executable price (coverage, slippage, fee), kimchi premium vs Binance USDT, USD/KRW |
kr-export-pulse-v1 | https://export.pokt-agent.com | What changed in Korea's exports (10 major items, 10-day provisional), which items drove it, and was it revised: same-fetch increments, same-stage comparisons, HS-by-country, revision log (supplier-side data.go.kr key) |
dart-kr-events-v1 | https://dart.pokt-agent.com | What changed for a Korean listed company: filings normalised by kind, corrections linked to originals, field-by-field issuance term diffs, point-in-time view (supplier-side OpenDART key) |
agent-service-benchmark-v1 | https://bench.pokt-agent.com | Which portal service should an agent call, and what is the evidence? Acceptance-audit verdict, serving flag, price, schemas, example freshness and category competition, ordered by a rule stated in every response. No invented score, no paid call on your behalf |
pine-script-lint-v1 | https://pine.pokt-agent.com | Does this Pine Script contain structures that make history look better than live? /v1/integrity (future data, unconfirmed HTF, past-drawn signals, realtime-only state, strategy assumptions) + /v1/lint (syntax, v4 remnants, limits) |
All six pass the portal audit 9/9 on Beta TestNet (2026-09-20) with settled claims served through the new pocket-relay-miner.
Use from agents and CI
- MCP: every service as Model Context Protocol tools. Remote:
https://mcp.pokt-agent.com/mcp(no sign-in). Local stdio server:mcp/. - GitHub Action: check the Pine files in a repository on every push —
actions/pine-check/:uses: jsymen1290/pocket-agents/actions/pine-check@main. - Also live since 2026-10-05 (REST + Pocket Beta): Backtest Reconcile, KR Figure Check, DART Correction Impact, KR Rates & FX, KR Law, KR Apartment Trades.
Two calls, shown
Both of these are live right now, no key and no account.
Does this Pine script make backtests look better than live trading?
curl -s -X POST https://pine.pokt-agent.com/v1/integrity -H 'content-type: application/json' -d '{"source":"//@version=6
indicator(\"x\", overlay=true)
d = request.security(syminfo.tickerid, \"D\", close, lookahead=barmerge.lookahead_on)
plot(d)
"}'
{"verdict": "FAIL", "counts": {"error": 1, "warning": 1, "info": 0},
"findings": [
{"code": "P007", "severity": "warning", "line": 3, "message": "request.security with lookahead_on repaints on historical bars"},
{"code": "P201", "severity": "error", "line": 3, "message": "request.security(..., lookahead_on) without a [1]-style offset reads the future on historical bars"}]}
Add close[1] to that same call and the error disappears: the accepted confirmed-bar idiom is recognised, not punished.
What would 0.5 BTC actually cost on a Korean exchange right now?
curl -s 'https://kr.pokt-agent.com/v1/executable/BTC?qty=0.5&side=buy&fee_pct=0.05'
{"venue": "upbit", "average_price_krw": 116381997.41, "coverage": 1.0,
"slippage_pct": 0.0009, "orderbook_lag_seconds": 1.865}
coverage is the fraction of the quantity the visible book can fill, slippage_pct is against best price, and orderbook_lag_seconds is how stale the book was when we read it. A venue that is down returns a status code, never a guess.
The same walk answers a plain question in English or Korean:
curl -s -X POST https://kr.pokt-agent.com/v1/query -H 'content-type: application/json' -d '{"question":"sell 2 BTC on Upbit and Bithumb, what fills?"}'
On 2026-09-28 that returned coverage 0.77 on Upbit and 0.50 on Bithumb: the visible books could not fill 2 BTC at any price.
Median response time measured from the host on 2026-09-22: 248-333 ms across the six services. Services that call an upstream API (dart-kr-events-v1, kr-export-pulse-v1) replay their own card probes against themselves just inside the cache TTL (warmup.py), so the first call after a restart is 0.04 s instead of 3.8 s.
Layout
pocket_agents/
client.py GET-only allow-listed HTTP client for public Pocket REST/RPC (budgeted)
indexer.py data.pocket.network GraphQL: every settlement for an operator and range, complete coverage
chain.py LCD/RPC queries: params, supplier, service, balance, block_search/results
settlement.py EventClaimSettled extraction + aggregation
collect.py always-on collector (STATE/ALERTS/settlements ndjson) that the agents read
surveillance.py 15 official sources: fetch, diff, receipts, verify
economics.py supplier/network economics from public analytics (observed values only)
ops.py operator watch (facts vs judgments)
agent.py pokt-settlement-agent-v1 HTTP service (:8793) + service card + OpenAPI
watch.py pokt-network-watch-v1 (:8794)
krmarket.py kr-market-data-v1 (:8795)
pinelint.py pine-script-lint-v1 (:8796)
benchmark.py agent-service-benchmark-v1 (:8799) portal catalogue + acceptance audit comparison
krexport.py kr-export-pulse-v1 (:8797) needs DATA_GO_KR_SERVICE_KEY
dartevents.py dart-kr-events-v1 (:8798) needs OPENDART_API_KEY
cli.py entry points: *-serve, *-card, collect, surveil, ask
tests/test_services.py offline tests with fixtures (no network)
deploy/ watch list, surveillance sources, RelayMiner/launchd templates (no secrets)
docs/ design notes
Run locally
python -m unittest tests.test_services
python -m pocket_agents pinelint-serve --port 8796 # then POST http://127.0.0.1:8796/v1/lint {"source": "..."}
python -m pocket_agents krmarket-serve --port 8795
python -m pocket_agents watch-serve --port 8794 # needs data/ written by `collect` and `surveil`
python -m pocket_agents agent-serve --port 8793 --no-llm
Optional LLM narration in the settlement agent and surveillance review is disabled unless a runtime with config/router modules is present; every answer has a deterministic template fallback and a number guard.
Serving on Pocket
Each service ships its on-chain card (*-card) and OpenAPI. Deployment follows the portal's design rules: JSON-object responses, inputs in the body, no caller auth, no error-looking words in success bodies, identity/readiness/functional probes, determinism. See deploy/ for the relayer/miner config shapes and docs/ for the registration record (service, supplier, application stake, first settled claim).
License
MIT
Tools it offers (11)
What this server listed when ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.
pine_integritypine_lintbacktest_reconcilekr_figure_checkdart_correction_impactkr_rateskr_fxkr_law_articlekr_apartment_tradesdart_eventskr_export_pulse
Signals
- Last commit
- Oct 2026
Advanced
- Delivery
- pokt-agent MCP server → your ahel connector (mcp.ahel.ai) → your AI.
- Item type
- mcp-server
- Key
io-github-jsymen1290-pokt-agent- Source
- github.com/jsymen1290/pocket-agents
- Hosted endpoint
https://mcp.pokt-agent.com/mcp
github.com/jsymen1290/pocket-agents
More in Commerce & finance
MCP server · mikeypetrillo
More in Commerce & financeHive Intelligence MCP
MCP server · hive-intel
More in Commerce & financetruss44-mcp-crypto-price
MCP server · truss44
More in Commerce & financecrypto-quant-signal-mcp
MCP server · algovaultlabs
More in Commerce & financekeryx
MCP server · tang-vu
More in Commerce & financetrading-mcp
MCP server · ai-rook
More in Commerce & finance