Finance Toolkit
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Description from the maker (original English)
Tamper-evident decision audit trail and outcome-weighted memory for AI trading agents.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"tradememory-protocol": {
"command": "uvx",
"args": [
"tradememory-protocol"
]
}
}
}Run this in your terminal
claude mcp add tradememory-protocol -- uvx tradememory-protocolPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"tradememory-protocol": {
"command": "uvx",
"args": [
"tradememory-protocol"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"tradememory-protocol": {
"type": "stdio",
"command": "uvx",
"args": [
"tradememory-protocol"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account mnemox-ai, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.5.6) reached the registry 37 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Finance Toolkit, SolidInvoice, Korea Tax Calculator
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the 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.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Getting Started | Use Cases | API Reference | OWM Framework | Limitations | 中文版
TradeMemory remembers what it cost. It is an open-source, local-first memory and brake for AI trading agents: it pulls in your fills, finds where your own history loses money, puts those losing trades in front of your agent before the next order, and can refuse an order that breaks rules you set, before it reaches the broker.
Brokers now let AI agents trade over MCP, with different guardrails: Webull and tastytrade set size or buying-power limits, Interactive Brokers only lets the agent draft an order for you to submit, and Robinhood and Public set no cap you can impose on an external agent (StockBrokers, 2026-09-30). The caps are fixed numbers. None of them looks at how your own past trades went.
pip install tradememory-protocol
tradememory sync hyperliquid --address 0xYourAddress
tradememory sync alpaca --env-file ~/.secrets/alpaca.env
Each closed trade is stored in memory once; running it again stores only new trades. Then it prints where your history loses money. The format, with illustrative numbers:
After 2 losses in a row (20 trades):
5 of them (25%) were 1.5x your usual size or more. All 20 won 60% and made -$1,500. The 5 sized-up trades won 20% and made -$1,700.
Median hold: winners 1.5h, losers 9.0h.
These are descriptive statistics of your own past trades, not advice about the next one. Hyperliquid's API serves only an address's recent fills, not its whole history, so the sooner it is synced, the more history is kept. Other venues: MT5 and Binance spot sync scripts are in scripts/, and any agent can record a trade with remember_trade.
recall_memories(order="losses_first") puts every losing trade ahead of the rest, the bigger losses in similar conditions first, with their size and P&L. Besides the symbol's most recent trades, it searches the symbol's recent losing trades, so an older loss is not crowded out. The server tells connected agents to call it before proposing a trade. The default order ranks better outcomes higher (by R multiple, where one was recorded) and keeps at least 20% losses in the list.
pip install tradememory-protocol
Add to Claude Desktop (claude_desktop_config.json):
{
"mcpServers": { "tradememory": { "command": "uvx", "args": ["tradememory-protocol"] } } }
Then tell Claude: *"Record my AAPL long at $195 — earnings beat, institutional buying, high confidence."*
Claude Code / Cursor / Docker
# Claude Code
claude mcp add tradememory -- uvx tradememory-protocol
git clone https://github.com/mnemox-ai/tradememory-protocol.git cd tradememory-protocol && pip install -e . && python -m tradememory
docker compose up -d
Full walkthrough: Getting Started (Trader Track + Developer Track)
The proxy extra runs TradeMemory between your agent and your broker's MCP server (Alpaca today). Every tool is forwarded unchanged except the order-placing ones, which Mnemox Control evaluates against a policy you own before they reach the broker. Every evaluation, allowed or refused, is recorded and chained into the audit log. An allowed order comes back with your losing trades from similar conditions first, and tradememory sync alpaca later fills in how each forwarded trade ended, in R when the entry carried a stop. The agent you already have keeps working; only one line of its MCP config changes.
pip install "tradememory-protocol[proxy]" # Python 3.12+
tradememory proxy init --account-id --symbols AAPL,MSFT tradememory proxy doctor --env-file ~/.secrets/alpaca-paper.env # checks the live tool names and the account id tradememory proxy config # prints the MCP client entry that replaces the direct Alpaca one
Refused by default: symbols outside your list, orders above your notional and position limits, entries without a bracket stop, any new order after your daily-loss or drawdown limit, cancelling the protective stop of an open position, any tool the brake has not classified, and everything while you have run tradememory proxy halt FULL_HALT. Never blocked: closing a position. Orders at or above approval_notional wait for tradememory proxy approve --terms , which approves exactly the terms you read; the agent retries with the same client_order_id and the same terms, and the proxy forwards it at most once. evaluate_order returns the same decision without placing anything, for pre-checks and for advisory layers in other frameworks. Anything the brake cannot evaluate (a dead quote feed, an unknown asset, an order type the policy does not cover) is refused, not passed through.
Status: tested end-to-end against a stateful fake of Alpaca's MCP server (tests/proxy/), and run against a real Alpaca paper account on 2026-10-01: three refusals (symbol not on the list, entry without a stop, notional over the limit), one allowed one-share bracket order that reached the broker, and one retry with the same client_order_id that was answered from the record without a second order. Options, order replacement, stop-limit and trailing orders are refused rather than evaluated. Your broker keys go only to the broker process the proxy starts; TradeMemory never stores them.
Walkthrough with the real outputs: docs/recipes/alpaca-brake.md.
| US equity trader | Forex EA system | Audit trail (illustrative) | |
|---|---|---|---|
| Market | Stocks (AAPL, TSLA, ...) | XAUUSD (Gold) | Multi-asset |
| How | Pre-flight checklist before every trade | Automated sync from MT5 | Decision records with a hash chain |
| Who | One independent user (March 2026) | The maintainer's own MT5 account | An example, not a customer |
| Details | Read more | Read more | Read more |
remember_trade writes to five memory layers: episodic, semantic, procedural, affective, and trade records| Category | Tools | Description |
|---|---|---|
| Memory | remember_trade · recall_memories | Record and recall trades with outcome-weighted scoring |
| State | get_agent_state · get_behavioral_analysis | Confidence, drawdown, streaks, behavioral patterns |
| Planning | create_trading_plan · check_active_plans | Prospective plans with conditional triggers |
| Risk | check_trade_legitimacy | 5-factor pre-trade gate (full / reduced / skip) |
| Audit | export_audit_trail · verify_audit_hash | SHA-256 tamper detection + bulk export |
All 20 MCP tools + REST API
| Category | Tools |
|---|---|
| Core Memory | get_strategy_performance · get_trade_reflection |
| OWM Cognitive | remember_trade · recall_memories · get_behavioral_analysis · get_agent_state · create_trading_plan · check_active_plans |
| Risk & Governance | check_trade_legitimacy · validate_strategy · compute_dqs |
| Evolution | evolution_fetch_market_data · evolution_discover_patterns · evolution_run_backtest · evolution_evolve_strategy · evolution_get_log |
| Audit | export_audit_trail · verify_audit_hash · verify_audit_chain · get_daily_root |
REST API: 35+ endpoints for trade recording, reflections, risk, MT5 sync, OWM, evolution, and audit. Full reference →
Running an agent against a broker, or want your history synced and read? Open a brake-integration issue or book 30 minutes. Setup help is free, and the people who use it decide what gets built next.
Every trading decision your agent makes — including decisions not to trade — is recorded as a Trading Decision Record (TDR). Per-record SHA-256 content hashes are linked into a forward-chained audit ledger; every UTC day is summarised by a Merkle root which itself chains across days. Tampering with any historical record invalidates every subsequent link.
Rules that require decision records bind investment firms, not retail users. Under the EU AI Act, the Annex III high-risk logging obligations were postponed to 2 December 2027, and ESMA's February 2026 supervisory briefing on algorithmic trading states that AI-based algorithmic trading is currently excluded from the high-risk scope. The table shows which TradeMemory features map to those texts if and when they apply to you. It is not a compliance claim.
| Regulation | Requirement | TradeMemory Coverage |
|---|---|---|
| MiFID II Article 17 | Record every algorithmic trading decision factor | Full decision chain: conditions, filters, indicators, execution |
| EU AI Act Article 14 | Human oversight of high-risk AI systems | Explainable reasoning + memory context for every decision |
| EU AI Act Article 12 | Automatic, tamper-resistant logs over system lifetime | Linked SHA-256 chain + daily Merkle roots (RFC 3161 TSA anchoring, on by default since 0.5.3) |
# Verify a single record hasn't been tampered with
verify_audit_hash(trade_id="MT5-7047640363")
verify_audit_chain(from_seq=1, to_seq=None)
get_daily_root(date="2026-05-14")
Only the beginning is shown; read the rest in the repo