_ registry / mcp streamable-http · checked 1h ago

aistrategyminer-ea-builder

https://aistrategyminer.com

Registry code: ea58093390863d33

api record

AIStrategyMiner Strategy Builder: design trading strategies (Expert Advisors) as a node flow, then open them in the visual Strategy Builder at aistrategyminer.com. Workflow: (1) list_templates and get_template to see real, working flows; (2) list_node_vocabulary for node types and their parameters; (3) compose a flow in the same shape as get_template returns; (4) validate_flow and fix every error; (5) create_builder_link and give the user the link. To start from a search instead of a design, open_strategy_miner returns a link that opens the Strategy Miner with the user's conditions filled in;…

endpoint
https://aistrategyminer.com/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is aistrategyminer-ea-builder live?
Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
Is aistrategyminer-ea-builder free to use?
Yes — the hub reached it with no key and no payment.
What tools does aistrategyminer-ea-builder have?
7 tools: get_miner_results, get_template, validate_flow, create_builder_link, list_node_vocabulary, list_templates, open_strategy_miner.
Is aistrategyminer-ea-builder safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
507ms

last good check

priced tools
0

of 7 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 7 tools
3 open 4 never probed 3 of 7 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • list_node_vocabulary open 1h ago

    Node types the Strategy Builder supports (indicators, conditions, orders, filters, exits...) with their parameters, defaults and port counts. Pass category to shorten the list.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {
        "category": {
          "type": "string",
          "description": "e.g. indicator, condition, action"
        }
      },
      "additionalProperties": false
    }
    arguments 11 lines
  • list_templates open 1h ago

    Ready-made Strategy Builder strategies (id, name, description). Open one with get_template to see a complete, valid flow.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {}
    }
    arguments 5 lines
  • open_strategy_miner open 1h ago

    Returns an aistrategyminer.com link that opens the Strategy Miner (generator) with the given conditions already filled in: symbol, timeframe, direction, period, trial limit, minimum trades, seed, entry families, and optional realistic account and cost settings (spread_pips, commission, swap_long, swap_short, swap_unit, triple_swap_day, rollover_hour, session_start, session_end, min_stop_pips, sl_slippage_pips, gap_fill, friday_close_hour) and optional advanced settings (parts_only, parts_more, parts_less, period_min, period_max, period_step, conds_min, conds_max, allow_and, allow_or, allow_not, lookback, sl_min_pips, sl_max_pips, tp_min_pips, tp_max_pips, hours_mode, hours_start, hours_end, filters). Advanced settings choose which indicator parts the search may use (52 parts: the six defaults ma, rsi, bb, macd, stoch, donch plus 46 more that are off unless named in parts_only and make the search slower), how often each is picked, the indicator period range, how many conditions an entry has (1-4) and how they combine (AND, OR, NOT), how many extra bars back a condition may look, stop-loss and take-profit ranges in pips, a time-of-day window and extra filters. Values the generator cannot take, including out-of-range cost settings, are dropped and listed with the reason. Cost settings in the link are applied for that visit only: they are shown on screen and never overwrite the user's saved account settings, and they take effect only with Pro (the demo ignores them). Advanced settings behave the same way: they are filled into the Advanced section for that visit only, never overwrite the user's saved advanced settings, and a link without them searches exactly as before. Out-of-range values, unknown part names and contradictory pairs (for example period_min above period_max) are not rounded or repaired: they are dropped and listed with the reason; conds, stop-loss and take-profit ranges need both ends. This tool does NOT run the generator and does not export anything: the user runs it in their own browser, and the full generator and exports are part of Pro (without Pro the link opens the demo). The optional target (mql5, mql4, pine, ctrader or python) is only carried in the link as the intended export format; it is chosen again in the Builder after a candidate is opened. Not trading advice; candidates must be checked on other periods and in a strategy tester.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {
        "seed": {
          "type": "number",
          "description": "Random seed 1-99999 (same seed, same result)"
        },
        "years": {
          "type": "number",
          "description": "Test period in years: 2-5, or 8 or 10 (long period, Pro only; others get the 4-year demo)"
        },
        "symbol": {
          "type": "string",
          "description": "e.g. USDJPY (EURUSD USDJPY AUDUSD USDCAD NZDUSD USDCHF EURGBP GBPUSD; add-on symbols AUDCAD AUDCHF AUDJPY AUDNZD CADCHF CADJPY CHFJPY EURAUD EURCAD EURCHF EURJPY GBPAUD GBPCAD GBPCHF GBPJPY GBPNZD NZDJPY XAUUSD (gold) XAGUSD (silver; 1 lot = 5000 oz, 1 pip = $0.01) USA500IDXUSD (S&P 500 index; 1 lot = 1 index unit, 1 pip = 1 point; data from 2019, no 8/10 years) USATECHIDXUSD (Nasdaq 100) USA30IDXUSD (Dow) DEUIDXEUR (DAX) GBRIDXGBP (FTSE 100) JPNIDXJPY (Nikkei 225; same index definition) LIGHTCMDUSD (WTI crude oil; 1 lot = 1000 barrels assumed, 1 pip = $0.01) BRENTCMDUSD (Brent crude oil; same definition) need a one-time price-data download in the generator)"
        },
        "target": {
          "type": "string",
          "description": "mql5, mql4, pine, ctrader or python"
        },
        "trials": {
          "type": "number",
          "description": "Trial limit: 1000, 2000, 5000, 10000 or 20000"
        },
        "filters": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Advanced: extra filters the search may use: sess, wd, gt, hlr, cp, mad"
        },
        "allow_or": {
          "type": "boolean",
          "description": "Advanced: allow any one condition is enough (OR)"
        },
        "families": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Entry node families: ma, rsi, bb, macd, stoch, donch"
        },
        "gap_fill": {
          "type": "boolean",
          "description": "Fill at the open when the price gaps past a stop or target"
        },
        "lookback": {
          "type": "number",
          "description": "Advanced: how many extra bars back a condition may look, 0-5"
        },
        "allow_and": {
          "type": "boolean",
          "description": "Advanced: allow all conditions must hold (AND)"
        },
        "allow_not": {
          "type": "boolean",
          "description": "Advanced: allow a comparison to be reversed (NOT)"
        },
        "conds_max": {
          "type": "number",
          "description": "Advanced: most entry conditions, 1-4 (at least conds_min)"
        },
        "conds_min": {
          "type": "number",
          "description": "Advanced: fewest entry conditions, 1-4"
        },
        "direction": {
          "type": "string",
          "description": "long (buy only), short (sell only) or both"
        },
        "hours_end": {
          "type": "number",
          "description": "Advanced: entry window end hour, 0-23, at least 2 hours after hours_start (no overnight range)"
        },
        "swap_long": {
          "type": "number",
          "description": "Realistic costs: swap for buys per lot per night, -1000 to 1000 (unit: swap_unit)"
        },
        "swap_unit": {
          "type": "string",
          "description": "points or money (USD)"
        },
        "timeframe": {
          "type": "string",
          "description": "H1, H4, D1, M15 or M30 (M15 and M30 use up to 5 years)"
        },
        "commission": {
          "type": "number",
          "description": "Realistic costs: commission in USD per lot, round turn, 0-100"
        },
        "hours_mode": {
          "type": "string",
          "description": "Advanced: time-of-day filter. off, fixed (use hours_start and hours_end) or random (the search decides)"
        },
        "min_trades": {
          "type": "number",
          "description": "Minimum trades, 20-1000"
        },
        "parts_less": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Advanced: parts to pick less often"
        },
        "parts_more": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Advanced: parts to pick more often (naming one that is off by default turns it on)"
        },
        "parts_only": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Advanced: the only indicator parts the search may use (all others are off). Names: ma, rsi, bb, macd, stoch, donch, atr, stddev, wpr, cci, mom, roc, dpo, trix, dem, adx, adxw, rvi, ult, osma, ao, ac, bears, bulls, sar, ha, dema, tema, hma, env, kc, ama, frama, vidya, cons, perf, ichi, alli, gat, ohlc, st, qqe, vldmi, orb, obv, vol, ad, bwmfi, mfi, force, chaikin, vwap. The 46 parts after donch are off by default and slow the search"
        },
        "period_max": {
          "type": "number",
          "description": "Advanced: largest indicator period, whole number 2-400 (at least period_min)"
        },
        "period_min": {
          "type": "number",
          "description": "Advanced: smallest indicator period, whole number 2-400"
        },
        "swap_short": {
          "type": "number",
          "description": "Realistic costs: swap for sells per lot per night, -1000 to 1000"
        },
        "hours_start": {
          "type": "number",
          "description": "Advanced: entry window start hour, server time, whole number 0-23 (with hours_end; implies fixed)"
        },
        "period_step": {
          "type": "number",
          "description": "Advanced: period step, whole number 1-400"
        },
        "session_end": {
          "type": "number",
          "description": "New entries allowed until this hour, 0-24"
        },
        "sl_max_pips": {
          "type": "number",
          "description": "Advanced: largest stop loss in pips, whole number 5-300; XAUUSD 200-10000 (at least sl_min_pips)"
        },
        "sl_min_pips": {
          "type": "number",
          "description": "Advanced: smallest stop loss in pips, whole number 5-300; XAUUSD 200-10000"
        },
        "spread_pips": {
          "type": "number",
          "description": "Realistic costs: spread in pips, 0-50 (0-500 for XAUUSD, whose default is 60)"
        },
        "tp_max_pips": {
          "type": "number",
          "description": "Advanced: largest take profit in pips, whole number 5-400; XAUUSD 200-10000 (at least tp_min_pips)"
        },
        "tp_min_pips": {
          "type": "number",
          "description": "Advanced: smallest take profit in pips, whole number 5-400; XAUUSD 200-10000"
        },
        "min_stop_pips": {
          "type": "number",
          "description": "Broker minimum stop distance in pips, 0-500"
        },
        "rollover_hour": {
          "type": "number",
          "description": "Day change hour in server time, 0-23"
        },
        "session_start": {
          "type": "number",
          "description": "New entries allowed from this hour, 0-24"
        },
        "triple_swap_day": {
          "type": "number",
          "description": "Triple-swap weekday, 1 (Mon) to 5 (Fri); the generator default is 3 (Wed)"
        },
        "sl_slippage_pips": {
          "type": "number",
          "description": "Stop-loss slippage in pips, 0-100"
        },
        "friday_close_hour": {
          "type": "number",
          "description": "Friday close hour in server time, 1-20, 0 = off"
        }
      },
      "additionalProperties": false
    }
    arguments 190 lines
  • get_miner_results unknown never probed

    Reads a result summary that a Pro user handed over with the Hand to AI button in the Strategy Miner results (id from the user). Hand to AI is Pro only: the demo has no Hand to AI button, so a user who is not on Pro has no id to give. Returns the settings used, the realistic-cost settings if on, how many strategies each check removed and why, the four robustness tests, the strict re-checks when they ran (trade resampling, walk-forward optimisation, a re-run with price noise and changed settings; candidate.robust holds each test's pass/fail and numbers), and per-candidate metrics (search period, later period, other symbols, robustness, equity drawdown, bars where stop and target were both reached). It contains no strategy design (no conditions, no code) and never runs the generator or exports anything. The id expires 30 days after creation and the user can delete it. To propose next settings, build a link with open_strategy_miner. Past results say nothing certain about the future; do not describe them as profitable.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The result id the user copied from the results screen"
        }
      },
      "additionalProperties": false
    }
    arguments 14 lines
  • get_template unknown never probed

    One template as a flow in exactly the shape validate_flow and create_builder_link accept. Use it as a model or a starting point.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Template id from list_templates"
        }
      },
      "additionalProperties": false
    }
    arguments 14 lines
  • validate_flow unknown never probed

    Checks a flow with the same engine the Strategy Builder uses. Returns errors (must fix) and warnings (review). Error codes: E201 loop, E202 no Start, E203 unreachable node, E204 unconnected input, E205 indicator wired straight into an order, E206 duplicate single-use node.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "flow"
      ],
      "properties": {
        "flow": {
          "type": "object",
          "required": [
            "flows"
          ],
          "properties": {
            "name": {
              "type": "string",
              "description": "Short plain name, letters/digits/spaces"
            },
            "flows": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "nodes"
                ],
                "properties": {
                  "nodes": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "id",
                        "type"
                      ],
                      "properties": {
                        "x": {
                          "type": "number"
                        },
                        "y": {
                          "type": "number"
                        },
                        "id": {
                          "type": "string",
                          "description": "Unique within the flow, e.g. n1"
                        },
                        "data": {
                          "type": "object",
                          "description": "Parameter values keyed by property key",
                          "additionalProperties": {
                            "type": [
                              "string",
                              "number",
                              "boolean"
                            ]
                          }
                        },
                        "type": {
                          "type": "string",
                          "description": "A node type from list_node_vocabulary"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "settings": {
                    "type": "object",
                    "additionalProperties": {}
                  },
                  "connections": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "from",
                        "to"
                      ],
                      "properties": {
                        "to": {
                          "type": "string"
                        },
                        "from": {
                          "type": "string"
                        },
                        "input": {
                          "type": "string"
                        },
                        "output": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  }
                },
                "additionalProperties": false
              },
              "description": "Usually one flow. Several flows = a portfolio EA, one Start node each."
            },
            "settings": {
              "type": "object",
              "description": "Shared EA settings (same shape as get_template settings); omit for defaults",
              "additionalProperties": {}
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    }
    arguments 108 lines
  • create_builder_link unknown never probed

    Validates the flow and, if it has no errors, saves it and returns a aistrategyminer.com Strategy Builder URL that opens it on the canvas. A link expires 90 days after the same flow was first saved. The user backtests there and, with Pro, downloads the source to compile in MetaEditor.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "flow"
      ],
      "properties": {
        "flow": {
          "type": "object",
          "required": [
            "flows"
          ],
          "properties": {
            "name": {
              "type": "string",
              "description": "Short plain name, letters/digits/spaces"
            },
            "flows": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "nodes"
                ],
                "properties": {
                  "nodes": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "id",
                        "type"
                      ],
                      "properties": {
                        "x": {
                          "type": "number"
                        },
                        "y": {
                          "type": "number"
                        },
                        "id": {
                          "type": "string",
                          "description": "Unique within the flow, e.g. n1"
                        },
                        "data": {
                          "type": "object",
                          "description": "Parameter values keyed by property key",
                          "additionalProperties": {
                            "type": [
                              "string",
                              "number",
                              "boolean"
                            ]
                          }
                        },
                        "type": {
                          "type": "string",
                          "description": "A node type from list_node_vocabulary"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "settings": {
                    "type": "object",
                    "additionalProperties": {}
                  },
                  "connections": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "from",
                        "to"
                      ],
                      "properties": {
                        "to": {
                          "type": "string"
                        },
                        "from": {
                          "type": "string"
                        },
                        "input": {
                          "type": "string"
                        },
                        "output": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  }
                },
                "additionalProperties": false
              },
              "description": "Usually one flow. Several flows = a portfolio EA, one Start node each."
            },
            "settings": {
              "type": "object",
              "description": "Shared EA settings (same shape as get_template settings); omit for defaults",
              "additionalProperties": {}
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    }
    arguments 108 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id ea58093390863d33.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/ea58093390863d33/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/ea58093390863d33/badge.svg)](https://brick.blue/agent/ea58093390863d33?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.