Finance Toolkit
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
An AI agent's trading mandate it can't break: checked before every order, reasoning sealed in IRL.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
IRL_BASE_URL, IRL_API_TOKEN, IRL_AGENT_ID, IRL_MODEL_HASH, GATEWAY_BROKER, PAPER_BALANCESค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"irl-gateway": {
"command": "uvx",
"args": [
"irl-gateway"
],
"env": {
"IRL_BASE_URL": "ใส่ค่าของคุณ",
"IRL_API_TOKEN": "ใส่ค่าของคุณ",
"IRL_AGENT_ID": "ใส่ค่าของคุณ",
"IRL_MODEL_HASH": "ใส่ค่าของคุณ",
"GATEWAY_BROKER": "ใส่ค่าของคุณ",
"PAPER_BALANCES": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add irl-gateway --env IRL_BASE_URL='ใส่ค่าของคุณ' --env IRL_API_TOKEN='ใส่ค่าของคุณ' --env IRL_AGENT_ID='ใส่ค่าของคุณ' --env IRL_MODEL_HASH='ใส่ค่าของคุณ' --env GATEWAY_BROKER='ใส่ค่าของคุณ' --env PAPER_BALANCES='ใส่ค่าของคุณ' -- uvx irl-gatewayเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"irl-gateway": {
"command": "uvx",
"args": [
"irl-gateway"
],
"env": {
"IRL_BASE_URL": "ใส่ค่าของคุณ",
"IRL_API_TOKEN": "ใส่ค่าของคุณ",
"IRL_AGENT_ID": "ใส่ค่าของคุณ",
"IRL_MODEL_HASH": "ใส่ค่าของคุณ",
"GATEWAY_BROKER": "ใส่ค่าของคุณ",
"PAPER_BALANCES": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"irl-gateway": {
"type": "stdio",
"command": "uvx",
"args": [
"irl-gateway"
],
"env": {
"IRL_BASE_URL": "ใส่ค่าของคุณ",
"IRL_API_TOKEN": "ใส่ค่าของคุณ",
"IRL_AGENT_ID": "ใส่ค่าของคุณ",
"IRL_MODEL_HASH": "ใส่ค่าของคุณ",
"GATEWAY_BROKER": "ใส่ค่าของคุณ",
"PAPER_BALANCES": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
GATEWAY_BROKER envPAPER_BALANCES envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub norve-labs ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: IRL_BASE_URL, IRL_API_TOKEN, IRL_AGENT_ID, IRL_MODEL_HASH
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.3.0) เข้า registry 31 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี Finance Toolkit, SolidInvoice, Korea Tax Calculator
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.
Korean tax calculation and tax-audit judgment MCP: 96 tools with statutory citations.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Give your AI agent a trading account it can't misuse, and a record of every decision it can't rewrite.
IRL Gateway is an MCP server that sits between an AI agent (Claude, ChatGPT, or your own) and an exchange account. Every order the agent places goes through the IRL Engine:
MATCHED or DIVERGENT.When something goes wrong, you can prove what the agent was allowed to do, what it said it was doing, and what actually happened.
AI agent ── MCP ──> irl-gateway ──> IRL: authorize (policy + sealed rationale)
│ ├──────> exchange: market order (client id = sealed intent) │ └──────> IRL: bind fill -> MATCHED / DIVERGENT
| Tool | What it does | |
|---|---|---|
| `execute_trade(symbol, side, rationale, quantity \ | notional)` | The only tool that moves money. Spot market order through authorize → place → bind. Returns filled, denied, blocked or failed, with the IRL trace_id and verdict. |
get_policy() | The agent's mandate as IRL enforces it, plus the local kill-switch state. | |
get_quote(symbol) | Last price on the gateway's venue. | |
get_balances() | Free balances (paper or exchange). | |
get_trace(trace_id) | IRL's sealed record of one trade. | |
list_recent_trades(limit) | Local journal: rationale, context hash, trace id and outcome per trade. |
Behaviour the agent can rely on:
~/.irl-gateway/KILL and every trade is refused before IRL is even called. Delete it to resume.uvx irl-gateway init
That one command gets a free paper-tier token from norve.dev, registers your agent with a starter mandate (BTC/USDT and ETH/USDT, at most 1,000 USDT per order, on paper-binance), saves the credentials to ~/.irl-gateway/agent.json, and prints:
claude mcp add irl-gateway ... line for Claude Code, andmcpServers block for Claude Desktop, Cursor or any MCP client.Paste one of them, then ask the agent to call get_policy and make its first paper trade. Paper fills are simulated at live public Binance prices with Binance's real order-size rules, so no exchange keys are needed.
Options: --name, --assets BTC/USDT,SOL/USDT, --max-notional 250, --contact you@example.com (so we can reach you), --server (your own IRL engine).
Free tier limits: paper venues only, up to 3 agents and 500 authorizations a day per token. Want to trade live, or run without limits? Self-host the engine or ask for a full token.
Doing it by hand instead
curl -X POST https://norve.dev/irl/signup -H "Content-Type: application/json" -d '{"client_name": "my-claude-trader"}'
curl -X POST https://norve.dev/irl/agents -H "Authorization: Bearer $IRL_API_TOKEN" -H "Content-Type: application/json" -d '{ "name": "my-claude-trader", "model_hash_hex": " ", "max_notional": 100, "allowed_assets": ["BTC/USDT", "ETH/USDT"], "allowed_venues": ["paper-binance"] }'
Then add the gateway to your MCP client:
{
"mcpServers": { "irl-gateway": { "command": "uvx", "args": ["irl-gateway"], "env": { "IRL_BASE_URL": "https://norve.dev", "IRL_API_TOKEN": "…", "IRL_AGENT_ID": " ", "IRL_MODEL_HASH": " ", "AGENT_MODEL_ID": "claude-opus-5-5", "PAPER_BALANCES": "USDT=1000" } } } }
| Variable | Default | Meaning |
|---|---|---|
IRL_BASE_URL, IRL_API_TOKEN | required | IRL server and bearer token |
IRL_AGENT_ID, IRL_MODEL_HASH | required | The registered agent and its model hash |
AGENT_MODEL_ID | unspecified-model | Model name sealed into each trace (the agent can override it per trade) |
AGENT_CONFIG_CHECKSUM | none | Optional checksum of the agent's configuration, sealed into each trace |
IRL_L2_MODE | off | regime if your IRL server requires Layer 2 regime binding |
GATEWAY_BROKER | paper | paper or exchange |
EXCHANGE_ID | binance | Any ccxt exchange id; also the price source for paper trading |
EXCHANGE_API_KEY, EXCHANGE_API_SECRET | Required for exchange | |
EXCHANGE_TESTNET | true | Use the exchange's testnet |
PAPER_BALANCES | USDT=1000 | Starting paper balances (used only until paper_state.json exists; the paper account then persists across restarts) |
IRL_GATEWAY_HOME | ~/.irl-gateway | Journal (journal.jsonl), kill switch (KILL) and paper account (paper_state.json) location |
The venue IRL sees is the exchange id (binance), or paper- for paper trading, so a mandate can allow paper trading while denying the real account.
For each trade the gateway builds a context of the rationale, symbol, side, quantity, reference price, venue, model id and client order id. It hashes that context as canonical JSON (sorted keys, no whitespace) with SHA-256 and sends the hash to IRL as prompt_version = "ctx-sha256: ", which IRL seals into the trace's reasoning_hash.
The journal stores the full context next to its hash, so anyone holding a journal line can recompute the hash and match it to the sealed trace. IRL itself never sees the rationale's text.
python -m venv .venv && .venv/bin/pip install -e ".[dev]"
pytest --cov=irl_gateway ruff check src tests && black --check src tests && isort --check-only src tests && mypy src
Early (0.1). Spot market orders only. Paper trading and ccxt exchanges are supported; Alpaca is next. Not investment advice, and no strategy is included: the gateway controls and records what your agent does, it does not decide.
MIT licensed.