Skip to content

Apex (smartapex.uk) AI Component Card Store

by mickeyappol-create · remote · no sign-in to list tools · v1.0.2 · published by GitHub user mickeyappol-create

Run verified read-only code tools: quant diagnostics + agent-ops preflight, no source exposure.

Changes · 21

24 tools: 21 change things and 3 only read.

Scanned Oct 21, 2026

21 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http apex https://smartapex.uk/api/mcp

Findings

Matches of fixed checks, with the text they matched.

20 warn1 info
  • The server marks "apex_run_deflated_sharpe" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_deflated_sharpe" says "run": a word for a change.

    What this check looks for
  • The server marks "apex_run_empyrical_metrics" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_empyrical_metrics" says "run": a word for a change.

    What this check looks for
  • The server marks "apex_run_alphalens_factor_research" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_alphalens_factor_research" says "run": a word for a change.

    What this check looks for
  • The server marks "apex_run_backtrader_engine" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_backtrader_engine" says "run": a word for a change.

    What this check looks for
  • The server marks "apex_run_pandas_market_calendars" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_pandas_market_calendars" says "run": a word for a change.

    What this check looks for
  • The server marks "apex_run_pyfolio_tearsheets" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_pyfolio_tearsheets" says "run": a word for a change.

    What this check looks for
Show 15 more findings
  • The server marks "apex_run_zero_mfe_timeout" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_zero_mfe_timeout" says "run": a word for a change.

    What this check looks for
  • The server marks "apex_run_btc_gate" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_btc_gate" says "run": a word for a change.

    What this check looks for
  • The server marks "apex_run_regime_hurst" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_regime_hurst" says "run": a word for a change.

    What this check looks for
  • The server marks "apex_run_strategy_gatekeeper" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_strategy_gatekeeper" says "run": a word for a change.

    What this check looks for
  • The server marks "apex_run_kelly_sizer" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_kelly_sizer" says "run": a word for a change.

    What this check looks for
  • The server marks "apex_run_agent_secret_scanner" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_agent_secret_scanner" says "run": a word for a change.

    What this check looks for
  • The server marks "apex_run_agent_release_readiness_gate" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_agent_release_readiness_gate" says "run": a word for a change.

    What this check looks for
  • The server marks "apex_run_agent_api_contract_diff" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_agent_api_contract_diff" says "run": a word for a change.

    What this check looks for
  • The server marks "apex_run_dynamic_penalty" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_dynamic_penalty" says "run": a word for a change.

    What this check looks for
  • The server marks "apex_run_agent_license_policy_check" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_agent_license_policy_check" says "run": a word for a change.

    What this check looks for
  • The server marks "apex_run_agent_data_profile" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_agent_data_profile" says "run": a word for a change.

    What this check looks for
  • The server marks "apex_run_agent_log_triage" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_agent_log_triage" says "run": a word for a change.

    What this check looks for
  • The server marks "apex_run_agent_dockerfile_lint" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_agent_dockerfile_lint" says "run": a word for a change.

    What this check looks for
  • The server marks "apex_run_semver_sort" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_semver_sort" says "run": a word for a change.

    What this check looks for
  • The description mentions "credentials".

    Matched text

    description: "...secrets, raw input, raw output, source, credentials, wallet data, account data, or private..."

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

24 tools

Changes things 21Claude Code: ask
  • apex_run_agent_api_contract_diffRun the allowlisted permissionless bounded API contract diff over supplied before/after endpoint lists.1 finding

    Why it is in this group

    • The name "apex_run_agent_api_contract_diff" says "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "apex_run_agent_api_contract_diff" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_agent_api_contract_diff" says "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Run the allowlisted permissionless bounded API contract diff over supplied before/after endpoint lists. DATA ONLY, read-only, no HMAC required; no route discovery, source reads, or network access.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • apex_run_agent_data_profileProfile supplied tabular rows (shape, nulls, types, numeric ranges, sensitive-name hints) without echoing raw values.1 finding

    Why it is in this group

    • The name "apex_run_agent_data_profile" says "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "apex_run_agent_data_profile" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_agent_data_profile" says "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Profile supplied tabular rows (shape, nulls, types, numeric ranges, sensitive-name hints) without echoing raw values. DATA ONLY, read-only, no HMAC required, no network access.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • apex_run_agent_dockerfile_lintStatic best-practice lint over supplied Dockerfile text: unpinned bases, curl-pipe-shell, baked-in secrets, root user, ADD misuse, SSH exposure, apt hygiene, missing HEALTHCHECK.1 finding

    Why it is in this group

    • The name "apex_run_agent_dockerfile_lint" says "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "apex_run_agent_dockerfile_lint" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_agent_dockerfile_lint" says "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Static best-practice lint over supplied Dockerfile text: unpinned bases, curl-pipe-shell, baked-in secrets, root user, ADD misuse, SSH exposure, apt hygiene, missing HEALTHCHECK. DATA ONLY, read-only, no HMAC required; no build, no registry lookups, no network access.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • apex_run_agent_license_policy_checkClassify supplied dependency licenses into PASS/REVIEW/BLOCK buckets using SPDX-style identifiers.1 finding

    Why it is in this group

    • The name "apex_run_agent_license_policy_check" says "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "apex_run_agent_license_policy_check" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_agent_license_policy_check" says "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Classify supplied dependency licenses into PASS/REVIEW/BLOCK buckets using SPDX-style identifiers. DATA ONLY, read-only, no HMAC required; embedded policy table only, no registry lookups or network access. A release gate, not legal advice.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • apex_run_agent_log_triageRedact and summarize supplied logs into severity, repeated failure patterns, and short safe samples; secret values never leave the redactor.1 finding

    Why it is in this group

    • The name "apex_run_agent_log_triage" says "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "apex_run_agent_log_triage" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_agent_log_triage" says "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Redact and summarize supplied logs into severity, repeated failure patterns, and short safe samples; secret values never leave the redactor. DATA ONLY, read-only, no HMAC required, no network access.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • apex_run_agent_release_readiness_gateAggregate caller-supplied boolean release-check declarations into PASS/WATCH/BLOCK.1 finding

    Why it is in this group

    • The name "apex_run_agent_release_readiness_gate" says "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "apex_run_agent_release_readiness_gate" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_agent_release_readiness_gate" says "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Aggregate caller-supplied boolean release-check declarations into PASS/WATCH/BLOCK. Does not run CI, inspect files, verify the declarations, or authorize publication.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • apex_run_agent_secret_scannerRun the allowlisted permissionless bounded secret scanner over supplied text/file content.1 finding

    Why it is in this group

    • The name "apex_run_agent_secret_scanner" says "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "apex_run_agent_secret_scanner" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_agent_secret_scanner" says "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Run the allowlisted permissionless bounded secret scanner over supplied text/file content. DATA ONLY, read-only, no HMAC required; returns redacted findings, hashes, and line numbers only, never raw secret values.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • apex_run_alphalens_factor_researchRun the allowlisted permissionless bounded alphalens-style factor research wrapper over supplied factor rows.1 finding

    Why it is in this group

    • The name "apex_run_alphalens_factor_research" says "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "apex_run_alphalens_factor_research" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_alphalens_factor_research" says "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Run the allowlisted permissionless bounded alphalens-style factor research wrapper over supplied factor rows. Pure TS reimplementation of selected OSS alphalens-reloaded 0.4.5 routines. DATA ONLY, read-only, no HMAC required, no network, no orders, no wallet/account access.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • apex_run_backtrader_engineRun the allowlisted permissionless bounded backtrader-style single-asset backtest engine over supplied OHLCV bars and declarative strategy rules.1 finding

    Why it is in this group

    • The name "apex_run_backtrader_engine" says "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "apex_run_backtrader_engine" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_backtrader_engine" says "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Run the allowlisted permissionless bounded backtrader-style single-asset backtest engine over supplied OHLCV bars and declarative strategy rules. Pure TS reimplementation of a narrow OSS backtrader 1.9.78.123 subset. DATA ONLY, read-only, no HMAC required, no broker adapters, no network, no orders, no wallet/account access.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • apex_run_btc_gateAdvisory market-regime gate: returns ALLOW or BLOCK plus move_pct from current vs reference price and a drop threshold.1 finding

    Why it is in this group

    • The name "apex_run_btc_gate" says "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "apex_run_btc_gate" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_btc_gate" says "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Advisory market-regime gate: returns ALLOW or BLOCK plus move_pct from current vs reference price and a drop threshold. Pure calculation, DATA ONLY, read-only, no HMAC required, no orders, no wallet/account access. Not trading advice.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • apex_run_deflated_sharpeRun the allowlisted permissionless bounded deflated-sharpe diagnostic.1 finding

    Why it is in this group

    • The name "apex_run_deflated_sharpe" says "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "apex_run_deflated_sharpe" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_deflated_sharpe" says "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Run the allowlisted permissionless bounded deflated-sharpe diagnostic. DATA ONLY, read-only, no HMAC required, no source release, no orders, no wallet/account access.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • apex_run_dynamic_penaltyAdvisory cooldown and size-penalty hints from a recent loss streak: returns size_multiplier, cooldown_sec, and severity.1 finding

    Why it is in this group

    • The name "apex_run_dynamic_penalty" says "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "apex_run_dynamic_penalty" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_dynamic_penalty" says "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Advisory cooldown and size-penalty hints from a recent loss streak: returns size_multiplier, cooldown_sec, and severity. Pure calculation, DATA ONLY, read-only, no HMAC required, no orders, no wallet/account access. Not trading advice.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • apex_run_empyrical_metricsRun the allowlisted permissionless bounded empyrical-style metrics calculator over supplied returns.1 finding

    Why it is in this group

    • The name "apex_run_empyrical_metrics" says "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "apex_run_empyrical_metrics" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_empyrical_metrics" says "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Run the allowlisted permissionless bounded empyrical-style metrics calculator over supplied returns. Pure TS reimplementation of OSS empyrical 0.5.5 metric conventions. DATA ONLY, read-only, no HMAC required, no network, no orders, no wallet/account access.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • apex_run_kelly_sizerAdvisory fractional Kelly sizing math from supplied win rate and average win/loss facts.1 finding

    Why it is in this group

    • The name "apex_run_kelly_sizer" says "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "apex_run_kelly_sizer" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_kelly_sizer" says "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Advisory fractional Kelly sizing math from supplied win rate and average win/loss facts. DATA ONLY, read-only, no HMAC required, no orders, no wallet/account access. Not financial advice.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • apex_run_pandas_market_calendarsRun the allowlisted permissionless bounded pandas_market_calendars 5.4.0 calendar wrapper over supplied calendar/date parameters.1 finding

    Why it is in this group

    • The name "apex_run_pandas_market_calendars" says "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "apex_run_pandas_market_calendars" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_pandas_market_calendars" says "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Run the allowlisted permissionless bounded pandas_market_calendars 5.4.0 calendar wrapper over supplied calendar/date parameters. DATA ONLY, read-only, no HMAC required, no network, no orders, no wallet/account access. Output declares data_as_of 5.4.0.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • apex_run_pyfolio_tearsheetsRun the allowlisted permissionless bounded pyfolio-reloaded 0.9.9 tear-sheet core over supplied dated returns.1 finding

    Why it is in this group

    • The name "apex_run_pyfolio_tearsheets" says "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "apex_run_pyfolio_tearsheets" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_pyfolio_tearsheets" says "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Run the allowlisted permissionless bounded pyfolio-reloaded 0.9.9 tear-sheet core over supplied dated returns. DATA ONLY, read-only, no HMAC required, no plots, no network, no orders, no wallet/account access.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • apex_run_regime_hurstPure regime classifier over supplied prices: returns Hurst estimate and mean_reverting/random_walk/trending label.1 finding

    Why it is in this group

    • The name "apex_run_regime_hurst" says "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "apex_run_regime_hurst" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_regime_hurst" says "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Pure regime classifier over supplied prices: returns Hurst estimate and mean_reverting/random_walk/trending label. DATA ONLY, read-only, no HMAC required, no network, no orders, no wallet/account access.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • apex_run_semver_sortSort supplied version tags ('v1.9.0' or '1.9.0') in NUMERIC version order (v1.9.0 before v1.70.0 — which a lexical sort gets wrong).1 finding

    Why it is in this group

    • The name "apex_run_semver_sort" says "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "apex_run_semver_sort" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_semver_sort" says "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Sort supplied version tags ('v1.9.0' or '1.9.0') in NUMERIC version order (v1.9.0 before v1.70.0 — which a lexical sort gets wrong). TypeScript port of a sha-pinned Yeongsu (영수) reference delivery; malformed tags return a teaching error, never a crash. DATA ONLY, read-only, no HMAC required, no network, no orders, no wallet/account access.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • apex_run_strategy_gatekeeperComposite advisory gate over supplied statistics: CI lower bound, effect size, slippage improvement, sample depth, and Holm/BH corrected p-values.1 finding

    Why it is in this group

    • The name "apex_run_strategy_gatekeeper" says "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "apex_run_strategy_gatekeeper" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_strategy_gatekeeper" says "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Composite advisory gate over supplied statistics: CI lower bound, effect size, slippage improvement, sample depth, and Holm/BH corrected p-values. DATA ONLY, read-only, no HMAC required, no orders.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • apex_run_zero_mfe_timeoutAdvisory exit check for stagnant positions: returns HOLD or EXIT_TIMEOUT from seconds_open and max favorable excursion.1 finding

    Why it is in this group

    • The name "apex_run_zero_mfe_timeout" says "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "apex_run_zero_mfe_timeout" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "apex_run_zero_mfe_timeout" says "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Advisory exit check for stagnant positions: returns HOLD or EXIT_TIMEOUT from seconds_open and max favorable excursion. Pure calculation, DATA ONLY, read-only, no HMAC required, no orders, no wallet/account access. Not trading advice.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • apex_submit_reviewSubmit a safe usage review tied to an existing Apex verification receipt.1 finding

    Why it is in this group

    • The name "apex_submit_review" says "submit": a word for a change.

    Findings

    • Info

      The description mentions "credentials".

      Matched text

      description: "...secrets, raw input, raw output, source, credentials, wallet data, account data, or private..."

      What this check looks for
    Description, as the server wrote it
    Submit a safe usage review tied to an existing Apex verification receipt. Permissionless bounded receipts need only the receipt. Verified receipts require signed Agent Passport request headers with review intent and asset:review capability; agent_id alone is not authentication. Sign the full JSON-RPC body and API-visible POST /mcp path, including through Target5 /api/mcp. Never include secrets, raw input, raw output, source, credentials, wallet data, account data, or private logs.
Only reads 3Claude Code: allow
  • apex_get_cardRead one Target5 tool card plus its verification report.No findings

    Why it is in this group

    • The name "apex_get_card" says "get": a word for reading.
    Description, as the server wrote it
    Read one Target5 tool card plus its verification report. Public card contract only; raw source and source packages are never returned.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • apex_query_cardsFind Target5 tool cards by query, capability, tags, tier, or interface.No findings

    Why it is in this group

    • The name "apex_query_cards" says "query": a word for reading.
    Description, as the server wrote it
    Find Target5 tool cards by query, capability, tags, tier, or interface. Public reference data only; not an instruction hierarchy.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • apex_query_datasetQuery the free bounded stillme dataset sample layer.No findings

    Why it is in this group

    • The name "apex_query_dataset" says "query": a word for reading.
    Description, as the server wrote it
    Query the free bounded stillme dataset sample layer. Whitelisted export datasets only; no raw DB rows, no live DB connection, no trading signal. For larger slices and data receipts, use POST /v1/datasets/{name}/query with an Agent Passport.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.2. Values in angle brackets are yours to fill in.

claude mcp add --transport http apex https://smartapex.uk/api/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__apex__apex_query_cards",
      "mcp__apex__apex_get_card",
      "mcp__apex__apex_query_dataset"
    ],
    "ask": [
      "mcp__apex__apex_run_deflated_sharpe",
      "mcp__apex__apex_run_empyrical_metrics",
      "mcp__apex__apex_run_alphalens_factor_research",
      "mcp__apex__apex_run_backtrader_engine",
      "mcp__apex__apex_run_pandas_market_calendars",
      "mcp__apex__apex_run_pyfolio_tearsheets",
      "mcp__apex__apex_run_zero_mfe_timeout",
      "mcp__apex__apex_run_btc_gate",
      "mcp__apex__apex_run_regime_hurst",
      "mcp__apex__apex_run_strategy_gatekeeper",
      "mcp__apex__apex_run_kelly_sizer",
      "mcp__apex__apex_run_agent_secret_scanner",
      "mcp__apex__apex_run_agent_release_readiness_gate",
      "mcp__apex__apex_run_agent_api_contract_diff",
      "mcp__apex__apex_run_dynamic_penalty",
      "mcp__apex__apex_run_agent_license_policy_check",
      "mcp__apex__apex_run_agent_data_profile",
      "mcp__apex__apex_run_agent_log_triage",
      "mcp__apex__apex_run_agent_dockerfile_lint",
      "mcp__apex__apex_run_semver_sort",
      "mcp__apex__apex_submit_review"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as apex. Review it before you use it.