Skip to content
Data
MCP

tradememory

Ships with tradememory-protocol: Decision audit trail + persistent memory for AI trading agents. Outcome-weighted recall, tamper-evident SHA-256 chain with RFC 3161 anchoring, 20 MCP tools.

From plugin
tradememory-protocol
1.4k5 skills5 commands1 MCP

Claude Code

$ claude mcp add tradememory -e ANTHROPIC_API_KEY=YOUR_VALUE -e TRADEMEMORY_API=YOUR_VALUE -- uvx tradememory-protocol

Security report

Found

Low risk

  • Known flaws

    None known

  • Signed build

    Yes

    Build provenance published

  • Maintained

    Oct 23, 2026

    Last push

  • Licence

    MIT

  • Runs as

    uvx

    On your machine

  • Deprecated

    No

Signals from public registries, not an audit. Checked Nov 11, 2026.

tradememory-protocol README

TradeMemory Protocol

PyPI Tests MCP Tools Smithery License: MIT

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.

Start with your own history

pip install tradememory-protocol

# Hyperliquid: public fills, no key needed
tradememory sync hyperliquid --address 0xYourAddress

# Alpaca: read-only calls with your own keys, kept in a local file
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.

Before the next order

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.

Connect your agent

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

# From source
git clone https://github.com/mnemox-ai/tradememory-protocol.git
cd tradememory-protocol && pip install -e . && python -m tradememory

# Docker
docker compose up -d

Full walkthrough: Getting Started (Trader Track + Developer Track)

Put a brake in front of your broker (preview)

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 <your Alpaca 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 <intent_id> --terms <fingerprint>, 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.

Three ways it is used

US equity traderForex EA systemAudit trail (illustrative)
MarketStocks (AAPL, TSLA, ...)XAUUSD (Gold)Multi-asset
HowPre-flight checklist before every tradeAutomated sync from MT5Decision records with a hash chain
WhoOne independent user (March 2026)The maintainer's own MT5 accountAn example, not a customer
DetailsRead moreRead moreRead more

How it works

OWM 5 Factors

  1. Recall — Before trading, retrieve past trades weighted by outcome quality, context similarity, recency, confidence, and emotional state (OWM Framework)
  2. Record — After trading, one call to remember_trade writes to five memory layers: episodic, semantic, procedural, affective, and trade records
  3. Reflect — Daily/weekly/monthly reviews detect behavioral drift, strategy decay, and trading mistakes
  4. Audit — Every decision is SHA-256 hashed at creation and chained to the one before. Export anytime for review

MCP Tools

CategoryToolsDescription
Memoryremember_trade · recall_memoriesRecord and recall trades with outcome-weighted scoring
Stateget_agent_state · get_behavioral_analysisConfidence, drawdown, streaks, behavioral patterns
Planningcreate_trading_plan · check_active_plansProspective plans with conditional triggers
Riskcheck_trade_legitimacy5-factor pre-trade gate (full / reduced / skip)
Auditexport_audit_trail · verify_audit_hashSHA-256 tamper detection + bulk export

All 20 MCP tools + REST API

CategoryTools
Core Memoryget_strategy_performance · get_trade_reflection
OWM Cognitiveremember_trade · recall_memories · get_behavioral_analysis · get_agent_state · create_trading_plan · check_active_plans
Risk & Governancecheck_trade_legitimacy · validate_strategy · compute_dqs
Evolutionevolution_fetch_market_data · evolution_discover_patterns · evolution_run_backtest · evolution_evolve_strategy · evolution_get_log
Auditexport_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 →

Get help connecting

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.

Audit trail

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.

RegulationRequirementTradeMemory Coverage
MiFID II Article 17Record every algorithmic trading decision factorFull decision chain: conditions, filters, indicators, execution
EU AI Act Article 14Human oversight of high-risk AI systemsExplainable reasoning + memory context for every decision
EU AI Act Article 12Automatic, tamper-resistant logs over system lifetimeLinked SHA-256 chain + daily Merkle roots (RFC 3161 TSA anchoring, on by default since 0.5.3)
1.4k5 skills1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
1.4k
Star history of mnemox-ai/tradememory-protocol on GitHub, a chart by star-history.com

More MCP servers from other plugins.

mem0
Auto-invoked

mem0

MCP

Stores and retrieves long term memories for AI agents to personalize their responses.

mem05d69k
@mem0ai@mem0aiInstall MCP
phrocs

phrocs

MCP

Ships with posthog: :hedgehog: PostHog is the leading platform for building self-driving products. Our developer tools – AI…

posthog11d41k
@posthog@posthogInstall MCP
agentmemory
Auto-invoked

agentmemory

MCP

Ships with agentmemory: #1 Persistent memory for AI coding agents based on real-world benchmarks

@rohitg00@rohitg00Install MCP
skill-seekers

skill-seekers

MCP

Ships with skill-seekers: 🧠 The data layer for AI systems. Skill Seekers turns documentation sites, GitHub repos, PDFs, videos,…

Questions about tradememory.

Which coding agents can use tradememory?
tradememory works in any agent that reads an MCP config file: Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf. Each agent reads it from its own file; this page names the file for each one.
How do I add tradememory to Claude Code?
Run this in your terminal: claude mcp add tradememory -e ANTHROPIC_API_KEY=YOUR_VALUE -e TRADEMEMORY_API=YOUR_VALUE -- uvx tradememory-protocol
Is tradememory safe to install?
Low risk. Signals from public registries, not an audit.