MangroveAI
mcp remote · streamable-http · v1.0.0 · source: crawl
https://api.mangrovedeveloper.ai/mcp/
https://github.com/MangroveTechnologies/mangrove-agent
Backtest and paper-trade crypto strategies. Free API key or pay per call in USDC (x402).
Works
100
Verified Oct 31, 2026 · p50 630 ms · p95 704 ms
Worth
no data
No outcomes reported yet. Agents report through report_outcome after a find_agents call.
Checks
| Check | Weight | Result | Evidence |
|---|---|---|---|
| reachable | 20 | pass | 3 of 3 handshakes succeeded; server 'MangroveAI' |
| tools_listed | 15 | pass | 85 tools |
| schema_complete | 15 | pass | 85 of 85 tools have a description and a typed schema |
| latency_p50 | 10 | pass | p50 630 ms |
| latency_p95 | 5 | pass | p95 704 ms |
| error_free | 10 | pass | 0 of 3 attempts failed |
| auth_posture | 10 | pass | https, open |
| injection_scan | 10 | pass | no patterns found |
| scope | 5 | pass | no execution-style tools |
Unknown counts as fail; n/a is left out of the denominator. How the weights work.
Tools (85)
| Name | Description | Schema |
|---|---|---|
get_token_unlocks | Token unlock schedules and supply metrics -- upcoming vesting cliffs and total supply movement per token. Heavy near-term unlocks are a supply-shock signal. Use it when the user asks about unlocks, ve | typed |
evaluate_signal | Evaluate a signal against provided market data and parameters. [Access: pay 0.02 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402-capable client will auto-pay; API-ke | typed |
get_lending_rates | Per-pool borrow rates across DeFi lending protocols such as Aave, Compound and Morpho. Useful for rate-spread arbitrage screens and stablecoin yield analysis. Use it when the user asks about lending r | typed |
delete_strategy | Archive a stopped strategy that has no open positions. Strategies are never hard-deleted: this hides the strategy from the default lists and keeps the strategy and its backtests, and it can be restore | typed |
get_trades_for_strategy | Get trade records for a specific strategy by its ID. Use this when the user asks about trades or performance for a particular named strategy. | typed |
list_positions | List open (or all) positions for the current user. Optionally filter by strategy ID or asset. Use this when the user asks about their current positions, open trades, or what they are currently holding | typed |
evaluate_strategy | Evaluate a strategy against current live market data to check if entry or exit signals are active. It places no orders and opens no positions, but each call records the evaluation: it updates the stra | typed |
list_evaluations | Bar-by-bar decision log for a strategy — every time the agent checked signals for this strategy. Returns per-evaluation market snapshot, signal decisions, order intents generated, and whether the eval | typed |
build_strategy_for_regime | Run the Strategy Engine route in one call. Use it FIRST whenever someone asks to build or make a strategy and names no signals -- 'build me a strategy', 'build me a BTC strategy on 1h', 'make me somet | typed |
classify_market_segment | Classify one stretch of market: a date range, or a catalog window by file name. Explicit date ranges require daily (1d) candles; catalog windows retain their stored interval. Returns its direction ban | typed |
create_sweep | Create the search, once the person has agreed to its size. The engine builds every candidate strategy itself out of the pool you give it -- the whole signal library unless narrowed by class or by nami | typed |
evaluate_multiple_signals_series | Evaluate chart data and optional signal triggers over a specific range. [Access: pay 0.05 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402-capable client will auto-pa | typed |
find_sweep_runs | Runs from one sweep, or from every sweep this person has, filtered and sorted by the engine. LEAVE experiment_id OUT to search them all, which is how a person asking whether they have already found so | typed |
get_asset | Full metadata and risk profile for one crypto asset on the Mangrove platform: approval status, risk score breakdown, regulatory status and identifiers. Use it when the user asks about a specific asset | typed |
get_backtest | Fetch a backtest that already ran, by id, with the execution config it used. Use it instead of run_backtest whenever the user refers to a previous result, or to compare two runs -- re-running costs th | typed |
get_backtest_trades | The individual trades a backtest made -- entry and exit prices and times, profit or loss, and why each one closed. Use it when the user asks what a backtest actually traded; get_backtest has the summa | typed |
get_benchmark | Buy-and-hold return for an asset between two dates, as a percentage. Use it whenever you state what a strategy returned: a return with nothing to compare it against does not answer whether the strateg | typed |
get_chain_tvl | Total Value Locked for a whole blockchain such as Ethereum, Base or Solana. Returns USD TVL and the top protocols on that chain. Use it when the user asks about a chain's overall DeFi footprint. [Acc | typed |
get_etf_flows | Crypto ETF net flows -- institutional inflows and outflows for spot BTC and ETH ETFs. Persistent net inflows are a bullish tape signal; heavy outflows bearish. Use it when the user asks about ETF flow | typed |
get_execution_config_schema | Every execution-config parameter a strategy can carry: the platform default, what it does, the effect of raising or lowering it, its legal bounds, and whether it is a strategy-character knob, an accou | typed |
get_global_market | Global crypto market snapshot -- total market cap, BTC dominance, total 24h volume and the 24h change. Use it when the user asks about overall market conditions or wants a macro view rather than a per | typed |
get_influence_score | Influence score for a single X/Twitter account: a 0-100 score and follower count. Use it when the user asks about a specific influencer or KOL, or wants to know how much weight an account carries in c | typed |
get_market_data | Latest trade price for a selected market, plus aggregate market cap and 24h volume. Pass quote_token and market_data_venue together to honor a requested exchange. When omitted, selects a supported mar | typed |
get_market_regime | Classify an asset's regime using a lookback of 1-365 days of daily closes: the return and a bull/neutral/bear band over 90, 180 and 365 days, plus annualised volatility as a percentage, a bucket, and | typed |
get_marketplace_strategy | One marketplace listing in full: its metrics, the signals it is built from (names only; the creator's tuning is never exposed), its backtest summary, and whether it is already in this account. Use it | typed |
get_ohlcv | Daily OHLCV (open, high, low, close, volume) history for one crypto asset over the requested lookback (1-3650 days). Use it when the user asks for price history, chart data, or wants to reason about p | typed |
get_onchain_series | Per-bar on-chain metric time series for a token. One request returns a bar-indexed series with any combination of SmartMoneyNetflow, SmartMoneyHoldings, ExchangeNetflow, WhaleNetInflow and HolderConce | typed |
get_perp_funding_rates | Aggregated DeFi perpetual funding rates across venues. Positive funding means longs are paying to hold; negative means shorts are. Use it when the user asks about perp funding, crowded positioning or | typed |
get_playground_data | Return OHLCV chart data for a specific playground dataset. | typed |
get_protocol_tvl | Total Value Locked for a single DeFi protocol such as Aave, Uniswap or Curve. Returns USD TVL and a per-chain breakdown. Use it when the user asks how much capital is locked in a specific protocol. [ | typed |
get_signal | Get complete metadata for an exact registered signal name. [Access: pay 0.001 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402-capable client will auto-pay; API-key c | typed |
get_smart_money_dex_trades | Recent DEX trades from smart-money wallets across chains. Returns a paginated list of executed trades with token, side, size and wallet metadata. Use it when the user asks what smart money is trading | typed |
get_smart_money_flows | One-token flow intelligence snapshot: returns net USD flows and wallet counts for smart traders, whales, exchanges, fresh wallets and public figures together in ONE response. Use for a trailing-window | typed |
get_smart_money_historical_holdings | Historical snapshots of what smart-money wallets held on specific dates. Returns per-wallet-category holdings with USD values. Use it when the user wants to see how smart-money positioning has changed | typed |
get_smart_money_holdings | Current smart-money holdings: what funds and smart traders are holding right now, sorted by USD value. Use it when the user asks what smart money currently owns or has positions in. [Access: pay 0.02 | typed |
get_smart_money_netflows | Aggregated smart-money netflows across all tokens market-wide: which tokens funds and smart traders are accumulating or distributing. Use it when the user asks what smart money is buying or selling, o | typed |
get_smart_money_perp_trades | Perpetual futures trades from smart-money wallets on Hyperliquid. Shows leveraged directional bets by sophisticated traders. Use it when the user asks about smart-money perp positions, what high-convi | typed |
get_smart_money_sentiment | On-chain sentiment read for a token derived from smart-money wallet net flows. Returns a sentiment label (bullish, bearish or neutral) and net USD flow direction. Use it when the user asks what smart- | typed |
get_social_mentions | Recent X/Twitter posts about a crypto asset or topic: post text, id and time, at most 10 posts, plus how many posts the search matched. Use it when the user wants to see what is actually being said, o | typed |
get_token_holders | On-chain token holder distribution for a token: total on-chain holder count, top-10 concentration percentage and a concentration score. Nansen aggregates across chains, so pass the symbol only and do | typed |
get_social_sentiment | Keyword-polarity sentiment for a crypto cashtag on X/Twitter. It fetches recent posts for $TOPIC and counts how many contain a positive and how many a negative keyword; the 0-100 score is the positive | typed |
get_stablecoin_metrics | Global stablecoin metrics -- total supply, per-chain breakdown and the top stablecoins by market cap. Use it when the user asks about stablecoin supply, USDC or USDT dominance, or overall market liqui | typed |
get_strategy | Fetch one saved strategy in full -- its entry and exit signals, asset, timeframe and status. Accepts either strategy_id or name. Use it before discussing or changing a specific strategy so you describ | typed |
get_sweep | Where one sweep has got to: its status and how many of its runs have finished. This is how you answer 'is it done yet' -- read it when the person asks, not on a loop, because the engine works for minu | typed |
get_sweep_limits | The sweep limits this person's plan actually enforces: the most backtests one sweep may run, the most history it may read, and how many sweeps may be in flight at once. Read these rather than guessing | typed |
get_sweep_run | One run rebuilt as the strategy it was, entry and exit rules with the parameter values the engine drew. This is the way OUT of a sweep: a row worth acting on becomes a saved strategy and then a real b | typed |
get_symbol_exchanges | The exchanges that list one specific token, with per-venue metadata. Use it when the user asks where a token trades or which venues carry it, rather than for a price on any one of them. [Access: pay | typed |
get_token_dex_trades | DEX trades for a specific token across all participants in a date window. Returns raw swap events with wallet, size and pool metadata; useful for post-hoc flow analysis on a single token. Native ETH i | typed |
get_token_flows | Paginated historical flow records for one non-stablecoin token between explicit start and end dates, optionally filtered by one wallet label. Use for date-range records or pagination. For a trailing-w | typed |
get_treasuries | DeFi protocol treasury holdings -- how much a protocol holds in its own treasury and what tokens it owns. Use it when the user asks about protocol treasuries, DAO holdings or protocol-owned liquidity. | typed |
get_trending | The crypto assets trending right now by 24h search volume. Use it when the user asks what is popular, what the market is paying attention to, or wants a discovery view rather than a specific asset loo | typed |
kb_get_document | Read a requested KB guide or a known source section by slug. Use directly when the user requests the document itself; no preliminary graph call is required. For a general explanation use query_knowled | typed |
kb_get_signal_quick_reference | Read the Signals Quick Reference guide when the user asks for that guide or its documented entries. This is the document-reading shortcut for kb_get_document slug=10-signals-quick-reference, not an ad | typed |
kb_glossary_get | Return the KB glossary entry for an explicitly requested glossary definition or exact glossary term. No preliminary graph call is required for a glossary request. For a general question such as what R | typed |
kb_list_documents | Reads the Mangrove Knowledge Base package: every document's slug, title and summary. For a keyword search instead of browsing use kb_search. Use this when the user wants to browse the KB or you need a | typed |
kb_search | Locate KB articles or source sections using short topic keywords. Use when the user asks to find written material, or an explanation is missing a specific fact that requires a source passage. For gene | typed |
launch_sweep | Start a validated sweep. THIS IS THE ONE CALL THAT SPENDS: it puts the engine to work on every run the search describes, for minutes or hours, and there is no undoing it -- pause_sweep stops further w | typed |
list_approved_assets | List assets approved by Mangrove, including supported stablecoins and tokens. Approval is independent of risk assessment. Unassessed risk scores are null; do not interpret them as zero or infer regula | typed |
list_backtest_markets | List available execution venue and quote-token choices for a backtest. Use when the user wants alternatives or market details are missing. A complete supplied or recorded market is already the default | typed |
list_backtests | The user's recent backtest runs, newest first, optionally just the ones for one strategy. Use it when they ask what they have run, or refer to an earlier result without giving an id -- then fetch the | typed |
list_exchanges | Every exchange the Mangrove platform tracks, with per-exchange tier and 24h volume. Use it when the user asks what exchanges are supported or wants to browse the exchange universe rather than a single | typed |
list_playground_datasets | Return metadata for all available playground CSV datasets. | typed |
list_run_filters | The values a sweep's runs actually carry: which assets, which candle sizes, and which entry triggers the engine drew. Read this before filtering by one of them, because a value nothing carries comes b | typed |
list_signal_labels | Every signal's friendly name, display name and short description, keyed by code name. | typed |
list_signals | List available trading signals: names, types (TRIGGER or FILTER) and short descriptions. Use it to browse the catalogue, or narrow it by regime band, role or library category. [Access: pay 0.001 USDC | typed |
list_strategies | List the caller's saved strategies, including drafts, backtested strategies and server-managed paper strategies. Returns id, name, asset and status. Use paper execution status for current run state an | typed |
list_sweep_markets | What history a sweep could run over, as the choices to offer and how many windows each one would add. Oracle keeps MANY separate windows per asset -- different date spans of the same market, each labe | typed |
list_sweeps | The sweeps this account can see, newest first. Call it whenever the person refers to a search rather than asking for a new one -- 'how did that one go', 'what have I run' -- so you read an existing sw | typed |
list_trades | The trades a person's strategies have closed -- what was made or lost on each, why it exited, and what the fees and slippage cost. For a platform account overview and last-trade times use list_platfor | typed |
load_skill | Load one of your skills: the full instructions for doing something, which the turn only announced by name. Do it BEFORE working in a skill's area rather than after -- the announcement says what a skil | typed |
match_signals | Match a trading description to ranked signals. [Access: pay 0.01 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402-capable client will auto-pay; API-key clients pay no | typed |
pause_sweep | Stop a running sweep from doing any more work, keeping every result it has already written. Use it when the person has seen enough, or when a search turned out far larger than they wanted. It does not | typed |
query_knowledge | Explain trading concepts, definitions, relationships, comparisons and when signals work or fail using Michael's knowledge graph. This is the first tool for a general knowledge question, including whic | typed |
query_signal_behavior | Query measured signal behaviour: describe, pick, find or gap_probability. [Access: pay 0.005 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402-capable client will auto | typed |
run_backtest | Start a backtest of one saved strategy over a window of history. Takes a strategy_id -- it reads the stored strategy's own rules, asset, timeframe and risk parameters. The recorded market is the defau | typed |
save_strategy | To promote a sweep pick, pass source_experiment_id and source_run_index; the service loads its authorized configuration and checks coverage before saving. Its recorded venue and quote token are defaul | typed |
screen_candidates | Rank several candidate strategies by how likely each is to trade at all, before spending backtests on them. Give it one asset and up to 99 candidates, each {entry: [...], exit: [...]} with signals fro | typed |
screen_smart_money | Screen the market for tokens that smart-money wallets are currently accumulating or distributing. Returns a ranked list of tokens with high smart-money activity across the specified chains. Use it whe | typed |
search_marketplace | Search the public strategy marketplace -- the platform's own listings, which are digital-asset strategies on crypto pairs -- over every dimension the marketplace page filters on: free text, asset, tim | typed |
search_signals | Search signal names, parameters or description keywords. [Access: pay 0.005 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402-capable client will auto-pay; API-key cli | typed |
size_sweep | How big a search would be, without creating anything. THIS IS THE NUMBER YOU SAY OUT LOUD, and it is almost never the number the person named: the draw count is PER WINDOW and Oracle keeps many window | typed |
update_strategy | Change a DRAFT strategy in place: its signals, their parameters, or a stated execution value. Pass the COMPLETE entry and exit signal lists when changing signals -- what you pass replaces what was sto | typed |
validate_signal_params | Validate parameters for a signal. [Access: pay 0.001 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402-capable client will auto-pay; API-key clients pay nothing per ca | typed |
verify_strategy | Check a saved strategy against everything that has to be true for it to run: the signal names and their parameter keys, the roles composing, a timeframe on every signal, and a timeframe on the strateg | typed |
discover_tools | Discover Mangrove managed tools without executing them. Free, public read. Use detail=areas for the functional area index; summary (default) returns only names and descriptions; schema returns full li | typed |
Badge
Paste into your README. It updates on every verification.
[](https://app.agent-xm.com/a/io-github-mangrovetechnologies-mangroveai)
Was this agent useful?
Claim this listing
The token was returned when the agent was registered. No token? Prove the domain or repository instead.