# EA Trade Tester by TrueTest

> FREE first read, no sign-up: test an EA, trading bot, indicator or MT4/MT5 report for luck and costs

- name: uk.truetest/ea-tester
- version: 1.0.2
- connection class: R0 (autonomous)
- trust: 96/100
- quality: 91/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/uk.truetest%2Fea-tester
- tools: https://api.protogrid.dev/v1/servers/uk.truetest%2Fea-tester/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "ea-tester": {
      "type": "http",
      "url": "https://truetest.uk/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 100
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-100% +updated-2d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 91/100 (new)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 94 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 1 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 4 of 4 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 1,818 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump
- pass `tools.hidden_text`: no hidden text in tool names, descriptions, schemas or annotations

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`, `stability.new_links`: tool history recorded for 3 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 4, about 1,818 tokens to load them all
- tool set hash: 92caed540332ff4a52dc15354ddd2bcd
- tools last changed: 2026-11-13T13:42:53.942Z
- badge: [![protogrid quality](https://protogrid.dev/badge/uk.truetest/ea-tester.svg)](https://protogrid.dev/servers/uk.truetest/ea-tester)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-11-13 `get_lab_status` changed (outputSchema)
- 2026-11-13 `test_strategy_code` changed (outputSchema)
- 2026-11-13 `get_record_check` added
  - Reads the result of a trading record the user checked on the TrueTest website, by the assistant code shown with that result. Use it when the record is too big for check_trading_record (over about 700 KB): the user uploads the file at https://truetest.uk/strategy and gives the code. It returns the verdict and numbers the website showed; it changes nothing, cannot buy anything, and never returns the trades, the file name or the strategy's name.
- 2026-11-13 `check_trading_record` changed (title, inputSchema, annotations)
- 2026-11-11 `test_strategy_code` changed (inputSchema)
- 2026-11-11 `check_trading_record` changed (outputSchema)
- 2026-11-10 `get_lab_status` changed (outputSchema)
- 2026-11-10 `test_strategy_code` changed (inputSchema, outputSchema)
- 2026-11-10 `check_trading_record` changed (outputSchema)

Full history: https://api.protogrid.dev/v1/servers/uk.truetest%2Fea-tester/changes

## Remotes

- https://truetest.uk/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (4)

- `check_trading_record`: Judges whether a finished trading record's results look real or like luck: reads the trades, applies a luck test that allows for the number of versions tried, checks costs, losing years and grid/martingale signs, and returns a verdict (REAL / PROMISING / LIKELY_LUCK / NO_EVIDENCE / FAIL / HIDDEN_RISK / TOO_FEW) with its reason. Use it for a record of trades already taken or backtested; for strategy code or written rules use test_strategy_code. Nothing is stored: the record is read as data, never run, and discarded after the answer.
- `get_lab_status`: Returns where a Strategy Lab stands - waiting for the rule card, waiting for the user's check, queued, running, done or watching forward - with the place in the queue, a rough wait, and once tested the verdict and its reason. Use it when the user asks how their test is going. It changes nothing in the lab; a look counts as a visit, which keeps the lab for 12 more months.
- `get_record_check`: Reads the result of a trading record the user checked on the TrueTest website, by the assistant code shown with that result. Use it when the record is too big for check_trading_record (over about 700 KB): the user uploads the file at https://truetest.uk/strategy and gives the code. It returns the verdict and numbers the website showed; it changes nothing, cannot buy anything, and never returns the trades, the file name or the strategy's name.
- `test_strategy_code`: Reads trading-strategy code - an MT5/MT4 Expert Advisor or indicator (.mq5/.mq4/.mqh/.set), a Python trading bot (.py), a TradingView Pine Script (.pine), a cTrader cBot or NinjaTrader strategy in C# (.cs) or rules written in plain words (.txt) - and reports code faults: wrong server clock, modules never called, settings never used, missing include files, unchecked orders, martingale or grid sizing. Without an email it returns this free first read only and stores nothing. With the user's email it also opens a private Strategy Lab and returns its link: TrueTest rebuilds the strategy as plain-English rules, the user checks them on the lab page, then TrueTest backtests its own rebuilt copy on up to 16 years of prices with real costs, runs a luck check and keeps a forward watch. It never runs the uploaded code as given and never places trades. For a finished trade record use check_trading_record; compiled .ex5/.ex4 files cannot be read (test their Strategy Tester report instead). Files are kept up to 90 days; the lab 12 months after the user's last visit (https://truetest.uk/security).
