{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_z52hmhutt7t8","handle":"mangroveai","url":"https://wellknown.network/agents/mangroveai","links":{"self":"https://wellknown.network/agents/mangroveai/record.json","html":"https://wellknown.network/agents/mangroveai","markdown":"https://wellknown.network/agents/mangroveai/record.md","api":"https://wellknown.network/api/v1/agents/mangroveai","status":"https://wellknown.network/api/v1/agents/mangroveai/status","claim":"https://wellknown.network/agents/mangroveai/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/mangroveai/claim.json","badge":"https://wellknown.network/agents/mangroveai/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/mangroveai/history","tools":"https://wellknown.network/api/v1/agents/mangroveai/tools"},"ard":{"identifier":"urn:air:api.mangrovedeveloper.ai:server:mangroveai","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"MangroveAI","summary":"Backtest and paper-trade crypto strategies. Free API key or pay per call in USDC (x402).","description":"Backtest and paper-trade crypto strategies. Free API key or pay per call in USDC (x402).","publisher":{"name":"MangroveTechnologies","url":null},"homepage":"https://mangrove.ai/agents/","repository":"https://github.com/MangroveTechnologies/mangrove-agent","version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://api.mangrovedeveloper.ai/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-22T19:22:08.238244Z","publishedAt":"2026-10-22T19:22:08.238244Z","registryName":"io.github.MangroveTechnologies/mangroveai"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"commerce.payments","name":"Payments","confidence":1,"provenance":"derived"},{"slug":"commerce.ecommerce","name":"E-commerce Operations","confidence":1,"provenance":"derived"},{"slug":"knowledge.knowledge-graph","name":"Knowledge Graphs","confidence":1,"provenance":"derived"},{"slug":"finance.markets","name":"Markets & Trading","confidence":1,"provenance":"derived"},{"slug":"ai.evaluation","name":"Evaluation & Benchmarks","confidence":1,"provenance":"derived"},{"slug":"content.social","name":"Social Media","confidence":0.992,"provenance":"derived"},{"slug":"automation.workflows","name":"Workflow Automation","confidence":0.977,"provenance":"derived"},{"slug":"dev.ci-cd","name":"CI/CD & Deploy","confidence":0.554,"provenance":"derived"}],"categories":["ai","automation","commerce","content","dev","finance","knowledge"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 3h ago.","lastOkAt":"2026-10-27T05:30:30.266Z","lastProbedAt":"2026-10-27T05:30:30.266Z","statusComputedAt":"2026-10-27T05:32:02.461Z","reliability30d":{"probes":5,"successRate":1,"p50Ms":174,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":5,"ok":5,"authBoundaryOk":0,"serviceOk":5,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-27T05:30:30.266Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":178,"error":null,"detail":{"tools":[{"name":"delete_strategy","description":"Permanently delete a strategy by its ID. Use this only when the user explicitly asks to delete a strategy. Always confirm the strategy name and ID before deleti"},{"name":"update_strategy_status","description":"Update the status of a strategy. Valid statuses: draft, inactive, paper, live, archived. Use this when the user wants to activate, pause, archive, or promote a "},{"name":"get_trades_for_strategy","description":"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."},{"name":"list_positions","description":"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 tr"},{"name":"evaluate_strategy","description":"Evaluate a strategy against current live market data to check if entry or exit signals are active — read-only signal check, does NOT place any orders. Returns t"},{"name":"list_evaluations","description":"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"},{"name":"build_strategy_for_regime","description":"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 "},{"name":"classify_market_segment","description":"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 st"},{"name":"evaluate_multiple_signals_series","description":"Evaluate chart data and optional signal triggers over a specific range.\n\n[Access: pay 0.05 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API "},{"name":"evaluate_signal","description":"Evaluate a signal against provided market data and parameters.\n\n[Access: pay 0.02 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x"},{"name":"find_sweep_runs","description":"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 a"},{"name":"get_asset","description":"Full metadata and risk profile for one crypto asset on the Mangrove platform: approval status, risk score breakdown, regulatory status and identifiers. Use it w"},{"name":"get_backtest","description":"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"},{"name":"get_backtest_trades","description":"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 act"},{"name":"get_benchmark","description":"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 aga"},{"name":"get_chain_tvl","description":"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"},{"name":"get_etf_flows","description":"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. "},{"name":"get_execution_config_schema","description":"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 i"},{"name":"get_global_market","description":"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"},{"name":"get_influence_score","description":"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"},{"name":"get_lending_rates","description":"Per-pool borrow rates across DeFi lending protocols such as Aave, Compound and Morpho. Useful for rate-spread arbitrage screens and stablecoin yield analysis. U"},{"name":"get_market_data","description":"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 exchang"},{"name":"get_market_regime","description":"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 vo"},{"name":"get_marketplace_strategy","description":"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 whethe"},{"name":"get_ohlcv","description":"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"},{"name":"get_onchain_series","description":"Per-bar on-chain metric time series for a token. One request returns a bar-indexed series with any combination of SmartMoneyNetflow, SmartMoneyHoldings, Exchang"},{"name":"get_perp_funding_rates","description":"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 abo"},{"name":"get_playground_data","description":"Return OHLCV chart data for a specific playground dataset."},{"name":"get_protocol_tvl","description":"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 capi"},{"name":"get_signal","description":"Get complete metadata for an exact registered signal name.\n\n[Access: pay 0.001 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402"},{"name":"get_smart_money_dex_trades","description":"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 th"},{"name":"get_smart_money_flows","description":"One-token flow intelligence snapshot: returns net USD flows and wallet counts for smart traders, whales, exchanges, fresh wallets and public figures together in"},{"name":"get_smart_money_historical_holdings","description":"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"},{"name":"get_smart_money_holdings","description":"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"},{"name":"get_smart_money_netflows","description":"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 "},{"name":"get_smart_money_perp_trades","description":"Perpetual futures trades from smart-money wallets on Hyperliquid. Shows leveraged directional bets by sophisticated traders. Use it when the user asks about sma"},{"name":"get_smart_money_sentiment","description":"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 directio"},{"name":"get_social_mentions","description":"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 wan"},{"name":"get_social_sentiment","description":"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 "},{"name":"get_stablecoin_metrics","description":"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"},{"name":"get_strategy","description":"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 cha"},{"name":"get_symbol_exchanges","description":"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 "},{"name":"get_token_dex_trades","description":"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 "},{"name":"get_token_flows","description":"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"},{"name":"get_token_holders","description":"On-chain token holder distribution for a token: total on-chain holder count, top-10 concentration percentage and a concentration score. Nansen aggregates across"},{"name":"get_token_unlocks","description":"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"},{"name":"get_treasuries","description":"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, D"},{"name":"get_trending","description":"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 discove"},{"name":"kb_get_document","description":"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"},{"name":"kb_get_signal_quick_reference","description":"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 sl"},{"name":"kb_glossary_get","description":"Return the KB glossary entry for an explicitly requested glossary definition or exact glossary term. No preliminary graph call is required for a glossary reques"},{"name":"kb_list_documents","description":"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 u"},{"name":"kb_search","description":"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 "},{"name":"list_approved_assets","description":"List assets approved by Mangrove, including supported stablecoins and tokens. Approval is independent of risk assessment. Unassessed risk scores are null; do no"},{"name":"list_backtest_markets","description":"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 o"},{"name":"list_backtests","description":"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"},{"name":"list_exchanges","description":"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 th"},{"name":"list_playground_datasets","description":"Return metadata for all available playground CSV datasets."},{"name":"list_signal_labels","description":"Every signal's friendly name, display name and short description, keyed by code name."},{"name":"list_signals","description":"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 li"},{"name":"list_strategies","description":"List the strategy definitions saved HERE, in this service -- drafts and backtested strategies authored through chat. This store never knows deployment state: fo"},{"name":"list_trades","description":"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 overvi"},{"name":"load_skill","description":"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 af"},{"name":"match_signals","description":"Match a trading description to ranked signals.\n\n[Access: pay 0.01 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402-capable clie"},{"name":"query_knowledge","description":"Explain trading concepts, definitions, relationships, comparisons and when signals work or fail using Michael's knowledge graph. This is the first tool for a ge"},{"name":"query_signal_behavior","description":"Query measured signal behaviour: describe, pick, find or gap_probability.\n\n[Access: pay 0.005 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an A"},{"name":"run_backtest","description":"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 para"},{"name":"save_strategy","description":"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 r"},{"name":"screen_candidates","description":"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 {ent"},{"name":"screen_smart_money","description":"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"},{"name":"search_marketplace","description":"Search the public strategy marketplace -- the platform's own listings, which are digital-asset strategies on crypto pairs -- over every dimension the marketplac"},{"name":"search_signals","description":"Search signal names, parameters or description keywords.\n\n[Access: pay 0.005 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402-c"},{"name":"update_strategy","description":"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 signal"},{"name":"validate_signal_params","description":"Validate parameters for a signal.\n\n[Access: pay 0.001 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402-capable client will auto"},{"name":"verify_strategy","description":"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 ever"},{"name":"discover_tools","description":"Discover Mangrove managed tools without executing them. Free, public read. Use detail=areas for the functional area index; summary (default) returns only names "}],"toolCount":76,"toolsHash":"9ecf69298fe452fce3c180dd4e473a95803e2c60117371e981f17f533a8026dd","serverName":"MangroveAI","capabilities":["tools"],"serverVersion":"phase-1","protocolVersion":"2025-06-18"}},{"at":"2026-10-26T22:25:33.080Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":160,"error":null,"detail":{"tools":[{"name":"delete_strategy","description":"Permanently delete a strategy by its ID. Use this only when the user explicitly asks to delete a strategy. Always confirm the strategy name and ID before deleti"},{"name":"update_strategy_status","description":"Update the status of a strategy. Valid statuses: draft, inactive, paper, live, archived. Use this when the user wants to activate, pause, archive, or promote a "},{"name":"get_trades_for_strategy","description":"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."},{"name":"list_positions","description":"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 tr"},{"name":"evaluate_strategy","description":"Evaluate a strategy against current live market data to check if entry or exit signals are active — read-only signal check, does NOT place any orders. Returns t"},{"name":"list_evaluations","description":"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"},{"name":"build_strategy_for_regime","description":"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 "},{"name":"classify_market_segment","description":"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 st"},{"name":"evaluate_multiple_signals_series","description":"Evaluate chart data and optional signal triggers over a specific range.\n\n[Access: pay 0.05 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API "},{"name":"evaluate_signal","description":"Evaluate a signal against provided market data and parameters.\n\n[Access: pay 0.02 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x"},{"name":"find_sweep_runs","description":"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 a"},{"name":"get_asset","description":"Full metadata and risk profile for one crypto asset on the Mangrove platform: approval status, risk score breakdown, regulatory status and identifiers. Use it w"},{"name":"get_backtest","description":"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"},{"name":"get_backtest_trades","description":"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 act"},{"name":"get_benchmark","description":"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 aga"},{"name":"get_chain_tvl","description":"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"},{"name":"get_etf_flows","description":"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. "},{"name":"get_execution_config_schema","description":"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 i"},{"name":"get_global_market","description":"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"},{"name":"get_influence_score","description":"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"},{"name":"get_lending_rates","description":"Per-pool borrow rates across DeFi lending protocols such as Aave, Compound and Morpho. Useful for rate-spread arbitrage screens and stablecoin yield analysis. U"},{"name":"get_market_data","description":"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 exchang"},{"name":"get_market_regime","description":"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 vo"},{"name":"get_marketplace_strategy","description":"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 whethe"},{"name":"get_ohlcv","description":"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"},{"name":"get_onchain_series","description":"Per-bar on-chain metric time series for a token. One request returns a bar-indexed series with any combination of SmartMoneyNetflow, SmartMoneyHoldings, Exchang"},{"name":"get_perp_funding_rates","description":"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 abo"},{"name":"get_playground_data","description":"Return OHLCV chart data for a specific playground dataset."},{"name":"get_protocol_tvl","description":"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 capi"},{"name":"get_signal","description":"Get complete metadata for an exact registered signal name.\n\n[Access: pay 0.001 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402"},{"name":"get_smart_money_dex_trades","description":"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 th"},{"name":"get_smart_money_flows","description":"One-token flow intelligence snapshot: returns net USD flows and wallet counts for smart traders, whales, exchanges, fresh wallets and public figures together in"},{"name":"get_smart_money_historical_holdings","description":"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"},{"name":"get_smart_money_holdings","description":"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"},{"name":"get_smart_money_netflows","description":"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 "},{"name":"get_smart_money_perp_trades","description":"Perpetual futures trades from smart-money wallets on Hyperliquid. Shows leveraged directional bets by sophisticated traders. Use it when the user asks about sma"},{"name":"get_smart_money_sentiment","description":"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 directio"},{"name":"get_social_mentions","description":"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 wan"},{"name":"get_social_sentiment","description":"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 "},{"name":"get_stablecoin_metrics","description":"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"},{"name":"get_strategy","description":"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 cha"},{"name":"get_symbol_exchanges","description":"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 "},{"name":"get_token_dex_trades","description":"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 "},{"name":"get_token_flows","description":"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"},{"name":"get_token_holders","description":"On-chain token holder distribution for a token: total on-chain holder count, top-10 concentration percentage and a concentration score. Nansen aggregates across"},{"name":"get_token_unlocks","description":"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"},{"name":"get_treasuries","description":"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, D"},{"name":"get_trending","description":"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 discove"},{"name":"kb_get_document","description":"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"},{"name":"kb_get_signal_quick_reference","description":"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 sl"},{"name":"kb_glossary_get","description":"Return the KB glossary entry for an explicitly requested glossary definition or exact glossary term. No preliminary graph call is required for a glossary reques"},{"name":"kb_list_documents","description":"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 u"},{"name":"kb_search","description":"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 "},{"name":"list_approved_assets","description":"List assets approved by Mangrove, including supported stablecoins and tokens. Approval is independent of risk assessment. Unassessed risk scores are null; do no"},{"name":"list_backtest_markets","description":"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 o"},{"name":"list_backtests","description":"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"},{"name":"list_exchanges","description":"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 th"},{"name":"list_playground_datasets","description":"Return metadata for all available playground CSV datasets."},{"name":"list_signal_labels","description":"Every signal's friendly name, display name and short description, keyed by code name."},{"name":"list_signals","description":"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 li"},{"name":"list_strategies","description":"List the strategy definitions saved HERE, in this service -- drafts and backtested strategies authored through chat. This store never knows deployment state: fo"},{"name":"list_trades","description":"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 overvi"},{"name":"load_skill","description":"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 af"},{"name":"match_signals","description":"Match a trading description to ranked signals.\n\n[Access: pay 0.01 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402-capable clie"},{"name":"query_knowledge","description":"Explain trading concepts, definitions, relationships, comparisons and when signals work or fail using Michael's knowledge graph. This is the first tool for a ge"},{"name":"query_signal_behavior","description":"Query measured signal behaviour: describe, pick, find or gap_probability.\n\n[Access: pay 0.005 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an A"},{"name":"run_backtest","description":"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 para"},{"name":"save_strategy","description":"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 r"},{"name":"screen_candidates","description":"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 {ent"},{"name":"screen_smart_money","description":"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"},{"name":"search_marketplace","description":"Search the public strategy marketplace -- the platform's own listings, which are digital-asset strategies on crypto pairs -- over every dimension the marketplac"},{"name":"search_signals","description":"Search signal names, parameters or description keywords.\n\n[Access: pay 0.005 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402-c"},{"name":"update_strategy","description":"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 signal"},{"name":"validate_signal_params","description":"Validate parameters for a signal.\n\n[Access: pay 0.001 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402-capable client will auto"},{"name":"verify_strategy","description":"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 ever"},{"name":"discover_tools","description":"Discover Mangrove managed tools without executing them. Free, public read. Use detail=areas for the functional area index; summary (default) returns only names "}],"toolCount":76,"toolsHash":"9ecf69298fe452fce3c180dd4e473a95803e2c60117371e981f17f533a8026dd","serverName":"MangroveAI","capabilities":["tools"],"serverVersion":"phase-1","protocolVersion":"2025-06-18"}},{"at":"2026-10-26T15:29:34.295Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":179,"error":null,"detail":{"tools":[{"name":"delete_strategy","description":"Permanently delete a strategy by its ID. Use this only when the user explicitly asks to delete a strategy. Always confirm the strategy name and ID before deleti"},{"name":"update_strategy_status","description":"Update the status of a strategy. Valid statuses: draft, inactive, paper, live, archived. Use this when the user wants to activate, pause, archive, or promote a "},{"name":"get_trades_for_strategy","description":"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."},{"name":"list_positions","description":"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 tr"},{"name":"evaluate_strategy","description":"Evaluate a strategy against current live market data to check if entry or exit signals are active — read-only signal check, does NOT place any orders. Returns t"},{"name":"list_evaluations","description":"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"},{"name":"build_strategy_for_regime","description":"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 "},{"name":"classify_market_segment","description":"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 st"},{"name":"evaluate_multiple_signals_series","description":"Evaluate chart data and optional signal triggers over a specific range.\n\n[Access: pay 0.05 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API "},{"name":"evaluate_signal","description":"Evaluate a signal against provided market data and parameters.\n\n[Access: pay 0.02 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x"},{"name":"find_sweep_runs","description":"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 a"},{"name":"get_asset","description":"Full metadata and risk profile for one crypto asset on the Mangrove platform: approval status, risk score breakdown, regulatory status and identifiers. Use it w"},{"name":"get_backtest","description":"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"},{"name":"get_backtest_trades","description":"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 act"},{"name":"get_benchmark","description":"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 aga"},{"name":"get_chain_tvl","description":"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"},{"name":"get_etf_flows","description":"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. "},{"name":"get_execution_config_schema","description":"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 i"},{"name":"get_global_market","description":"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"},{"name":"get_influence_score","description":"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"},{"name":"get_lending_rates","description":"Per-pool borrow rates across DeFi lending protocols such as Aave, Compound and Morpho. Useful for rate-spread arbitrage screens and stablecoin yield analysis. U"},{"name":"get_market_data","description":"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 exchang"},{"name":"get_market_regime","description":"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 vo"},{"name":"get_marketplace_strategy","description":"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 whethe"},{"name":"get_ohlcv","description":"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"},{"name":"get_onchain_series","description":"Per-bar on-chain metric time series for a token. One request returns a bar-indexed series with any combination of SmartMoneyNetflow, SmartMoneyHoldings, Exchang"},{"name":"get_perp_funding_rates","description":"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 abo"},{"name":"get_playground_data","description":"Return OHLCV chart data for a specific playground dataset."},{"name":"get_protocol_tvl","description":"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 capi"},{"name":"get_signal","description":"Get complete metadata for an exact registered signal name.\n\n[Access: pay 0.001 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402"},{"name":"get_smart_money_dex_trades","description":"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 th"},{"name":"get_smart_money_flows","description":"One-token flow intelligence snapshot: returns net USD flows and wallet counts for smart traders, whales, exchanges, fresh wallets and public figures together in"},{"name":"get_smart_money_historical_holdings","description":"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"},{"name":"get_smart_money_holdings","description":"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"},{"name":"get_smart_money_netflows","description":"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 "},{"name":"get_smart_money_perp_trades","description":"Perpetual futures trades from smart-money wallets on Hyperliquid. Shows leveraged directional bets by sophisticated traders. Use it when the user asks about sma"},{"name":"get_smart_money_sentiment","description":"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 directio"},{"name":"get_social_mentions","description":"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 wan"},{"name":"get_social_sentiment","description":"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 "},{"name":"get_stablecoin_metrics","description":"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"},{"name":"get_strategy","description":"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 cha"},{"name":"get_symbol_exchanges","description":"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 "},{"name":"get_token_dex_trades","description":"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 "},{"name":"get_token_flows","description":"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"},{"name":"get_token_holders","description":"On-chain token holder distribution for a token: total on-chain holder count, top-10 concentration percentage and a concentration score. Nansen aggregates across"},{"name":"get_token_unlocks","description":"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"},{"name":"get_treasuries","description":"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, D"},{"name":"get_trending","description":"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 discove"},{"name":"kb_get_document","description":"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"},{"name":"kb_get_signal_quick_reference","description":"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 sl"},{"name":"kb_glossary_get","description":"Return the KB glossary entry for an explicitly requested glossary definition or exact glossary term. No preliminary graph call is required for a glossary reques"},{"name":"kb_list_documents","description":"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 u"},{"name":"kb_search","description":"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 "},{"name":"list_approved_assets","description":"List assets approved by Mangrove, including supported stablecoins and tokens. Approval is independent of risk assessment. Unassessed risk scores are null; do no"},{"name":"list_backtest_markets","description":"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 o"},{"name":"list_backtests","description":"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"},{"name":"list_exchanges","description":"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 th"},{"name":"list_playground_datasets","description":"Return metadata for all available playground CSV datasets."},{"name":"list_signal_labels","description":"Every signal's friendly name, display name and short description, keyed by code name."},{"name":"list_signals","description":"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 li"},{"name":"list_strategies","description":"List the strategy definitions saved HERE, in this service -- drafts and backtested strategies authored through chat. This store never knows deployment state: fo"},{"name":"list_trades","description":"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 overvi"},{"name":"load_skill","description":"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 af"},{"name":"match_signals","description":"Match a trading description to ranked signals.\n\n[Access: pay 0.01 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402-capable clie"},{"name":"query_knowledge","description":"Explain trading concepts, definitions, relationships, comparisons and when signals work or fail using Michael's knowledge graph. This is the first tool for a ge"},{"name":"query_signal_behavior","description":"Query measured signal behaviour: describe, pick, find or gap_probability.\n\n[Access: pay 0.005 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an A"},{"name":"run_backtest","description":"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 para"},{"name":"save_strategy","description":"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 r"},{"name":"screen_candidates","description":"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 {ent"},{"name":"screen_smart_money","description":"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"},{"name":"search_marketplace","description":"Search the public strategy marketplace -- the platform's own listings, which are digital-asset strategies on crypto pairs -- over every dimension the marketplac"},{"name":"search_signals","description":"Search signal names, parameters or description keywords.\n\n[Access: pay 0.005 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402-c"},{"name":"update_strategy","description":"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 signal"},{"name":"validate_signal_params","description":"Validate parameters for a signal.\n\n[Access: pay 0.001 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402-capable client will auto"},{"name":"verify_strategy","description":"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 ever"},{"name":"discover_tools","description":"Discover Mangrove managed tools without executing them. Free, public read. Use detail=areas for the functional area index; summary (default) returns only names "}],"toolCount":76,"toolsHash":"9ecf69298fe452fce3c180dd4e473a95803e2c60117371e981f17f533a8026dd","serverName":"MangroveAI","capabilities":["tools"],"serverVersion":"phase-1","protocolVersion":"2025-06-18"}},{"at":"2026-10-26T08:27:03.377Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":158,"error":null,"detail":{"tools":[{"name":"delete_strategy","description":"Permanently delete a strategy by its ID. Use this only when the user explicitly asks to delete a strategy. Always confirm the strategy name and ID before deleti"},{"name":"update_strategy_status","description":"Update the status of a strategy. Valid statuses: draft, inactive, paper, live, archived. Use this when the user wants to activate, pause, archive, or promote a "},{"name":"get_trades_for_strategy","description":"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."},{"name":"list_positions","description":"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 tr"},{"name":"evaluate_strategy","description":"Evaluate a strategy against current live market data to check if entry or exit signals are active — read-only signal check, does NOT place any orders. Returns t"},{"name":"list_evaluations","description":"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"},{"name":"build_strategy_for_regime","description":"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 "},{"name":"classify_market_segment","description":"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 st"},{"name":"evaluate_multiple_signals_series","description":"Evaluate chart data and optional signal triggers over a specific range.\n\n[Access: pay 0.05 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API "},{"name":"evaluate_signal","description":"Evaluate a signal against provided market data and parameters.\n\n[Access: pay 0.02 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x"},{"name":"find_sweep_runs","description":"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 a"},{"name":"get_asset","description":"Full metadata and risk profile for one crypto asset on the Mangrove platform: approval status, risk score breakdown, regulatory status and identifiers. Use it w"},{"name":"get_backtest","description":"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"},{"name":"get_backtest_trades","description":"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 act"},{"name":"get_benchmark","description":"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 aga"},{"name":"get_chain_tvl","description":"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"},{"name":"get_etf_flows","description":"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. "},{"name":"get_execution_config_schema","description":"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 i"},{"name":"get_global_market","description":"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"},{"name":"get_influence_score","description":"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"},{"name":"get_lending_rates","description":"Per-pool borrow rates across DeFi lending protocols such as Aave, Compound and Morpho. Useful for rate-spread arbitrage screens and stablecoin yield analysis. U"},{"name":"get_market_data","description":"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 exchang"},{"name":"get_market_regime","description":"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 vo"},{"name":"get_marketplace_strategy","description":"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 whethe"},{"name":"get_ohlcv","description":"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"},{"name":"get_onchain_series","description":"Per-bar on-chain metric time series for a token. One request returns a bar-indexed series with any combination of SmartMoneyNetflow, SmartMoneyHoldings, Exchang"},{"name":"get_perp_funding_rates","description":"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 abo"},{"name":"get_playground_data","description":"Return OHLCV chart data for a specific playground dataset."},{"name":"get_protocol_tvl","description":"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 capi"},{"name":"get_signal","description":"Get complete metadata for an exact registered signal name.\n\n[Access: pay 0.001 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402"},{"name":"get_smart_money_dex_trades","description":"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 th"},{"name":"get_smart_money_flows","description":"One-token flow intelligence snapshot: returns net USD flows and wallet counts for smart traders, whales, exchanges, fresh wallets and public figures together in"},{"name":"get_smart_money_historical_holdings","description":"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"},{"name":"get_smart_money_holdings","description":"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"},{"name":"get_smart_money_netflows","description":"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 "},{"name":"get_smart_money_perp_trades","description":"Perpetual futures trades from smart-money wallets on Hyperliquid. Shows leveraged directional bets by sophisticated traders. Use it when the user asks about sma"},{"name":"get_smart_money_sentiment","description":"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 directio"},{"name":"get_social_mentions","description":"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 wan"},{"name":"get_social_sentiment","description":"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 "},{"name":"get_stablecoin_metrics","description":"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"},{"name":"get_strategy","description":"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 cha"},{"name":"get_symbol_exchanges","description":"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 "},{"name":"get_token_dex_trades","description":"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 "},{"name":"get_token_flows","description":"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"},{"name":"get_token_holders","description":"On-chain token holder distribution for a token: total on-chain holder count, top-10 concentration percentage and a concentration score. Nansen aggregates across"},{"name":"get_token_unlocks","description":"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"},{"name":"get_treasuries","description":"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, D"},{"name":"get_trending","description":"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 discove"},{"name":"kb_get_document","description":"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"},{"name":"kb_get_signal_quick_reference","description":"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 sl"},{"name":"kb_glossary_get","description":"Return the KB glossary entry for an explicitly requested glossary definition or exact glossary term. No preliminary graph call is required for a glossary reques"},{"name":"kb_list_documents","description":"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 u"},{"name":"kb_search","description":"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 "},{"name":"list_approved_assets","description":"List assets approved by Mangrove, including supported stablecoins and tokens. Approval is independent of risk assessment. Unassessed risk scores are null; do no"},{"name":"list_backtest_markets","description":"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 o"},{"name":"list_backtests","description":"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"},{"name":"list_exchanges","description":"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 th"},{"name":"list_playground_datasets","description":"Return metadata for all available playground CSV datasets."},{"name":"list_signal_labels","description":"Every signal's friendly name, display name and short description, keyed by code name."},{"name":"list_signals","description":"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 li"},{"name":"list_strategies","description":"List the strategy definitions saved HERE, in this service -- drafts and backtested strategies authored through chat. This store never knows deployment state: fo"},{"name":"list_trades","description":"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 overvi"},{"name":"load_skill","description":"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 af"},{"name":"match_signals","description":"Match a trading description to ranked signals.\n\n[Access: pay 0.01 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402-capable clie"},{"name":"query_knowledge","description":"Explain trading concepts, definitions, relationships, comparisons and when signals work or fail using Michael's knowledge graph. This is the first tool for a ge"},{"name":"query_signal_behavior","description":"Query measured signal behaviour: describe, pick, find or gap_probability.\n\n[Access: pay 0.005 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an A"},{"name":"run_backtest","description":"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 para"},{"name":"save_strategy","description":"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 r"},{"name":"screen_candidates","description":"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 {ent"},{"name":"screen_smart_money","description":"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"},{"name":"search_marketplace","description":"Search the public strategy marketplace -- the platform's own listings, which are digital-asset strategies on crypto pairs -- over every dimension the marketplac"},{"name":"search_signals","description":"Search signal names, parameters or description keywords.\n\n[Access: pay 0.005 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402-c"},{"name":"update_strategy","description":"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 signal"},{"name":"validate_signal_params","description":"Validate parameters for a signal.\n\n[Access: pay 0.001 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402-capable client will auto"},{"name":"verify_strategy","description":"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 ever"},{"name":"discover_tools","description":"Discover Mangrove managed tools without executing them. Free, public read. Use detail=areas for the functional area index; summary (default) returns only names "}],"toolCount":76,"toolsHash":"9ecf69298fe452fce3c180dd4e473a95803e2c60117371e981f17f533a8026dd","serverName":"MangroveAI","capabilities":["tools"],"serverVersion":"phase-1","protocolVersion":"2025-06-18"}},{"at":"2026-10-26T01:32:35.481Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":180,"error":null,"detail":{"tools":[{"name":"delete_strategy","description":"Permanently delete a strategy by its ID. Use this only when the user explicitly asks to delete a strategy. Always confirm the strategy name and ID before deleti"},{"name":"update_strategy_status","description":"Update the status of a strategy. Valid statuses: draft, inactive, paper, live, archived. Use this when the user wants to activate, pause, archive, or promote a "},{"name":"get_trades_for_strategy","description":"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."},{"name":"list_positions","description":"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 tr"},{"name":"evaluate_strategy","description":"Evaluate a strategy against current live market data to check if entry or exit signals are active — read-only signal check, does NOT place any orders. Returns t"},{"name":"list_evaluations","description":"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"},{"name":"build_strategy_for_regime","description":"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 "},{"name":"classify_market_segment","description":"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 st"},{"name":"evaluate_multiple_signals_series","description":"Evaluate chart data and optional signal triggers over a specific range.\n\n[Access: pay 0.05 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API "},{"name":"evaluate_signal","description":"Evaluate a signal against provided market data and parameters.\n\n[Access: pay 0.02 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x"},{"name":"find_sweep_runs","description":"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 a"},{"name":"get_asset","description":"Full metadata and risk profile for one crypto asset on the Mangrove platform: approval status, risk score breakdown, regulatory status and identifiers. Use it w"},{"name":"get_backtest","description":"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"},{"name":"get_backtest_trades","description":"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 act"},{"name":"get_benchmark","description":"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 aga"},{"name":"get_chain_tvl","description":"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"},{"name":"get_etf_flows","description":"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. "},{"name":"get_execution_config_schema","description":"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 i"},{"name":"get_global_market","description":"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"},{"name":"get_influence_score","description":"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"},{"name":"get_lending_rates","description":"Per-pool borrow rates across DeFi lending protocols such as Aave, Compound and Morpho. Useful for rate-spread arbitrage screens and stablecoin yield analysis. U"},{"name":"get_market_data","description":"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 exchang"},{"name":"get_market_regime","description":"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 vo"},{"name":"get_marketplace_strategy","description":"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 whethe"},{"name":"get_ohlcv","description":"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"},{"name":"get_onchain_series","description":"Per-bar on-chain metric time series for a token. One request returns a bar-indexed series with any combination of SmartMoneyNetflow, SmartMoneyHoldings, Exchang"},{"name":"get_perp_funding_rates","description":"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 abo"},{"name":"get_playground_data","description":"Return OHLCV chart data for a specific playground dataset."},{"name":"get_protocol_tvl","description":"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 capi"},{"name":"get_signal","description":"Get complete metadata for an exact registered signal name.\n\n[Access: pay 0.001 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402"},{"name":"get_smart_money_dex_trades","description":"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 th"},{"name":"get_smart_money_flows","description":"One-token flow intelligence snapshot: returns net USD flows and wallet counts for smart traders, whales, exchanges, fresh wallets and public figures together in"},{"name":"get_smart_money_historical_holdings","description":"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"},{"name":"get_smart_money_holdings","description":"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"},{"name":"get_smart_money_netflows","description":"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 "},{"name":"get_smart_money_perp_trades","description":"Perpetual futures trades from smart-money wallets on Hyperliquid. Shows leveraged directional bets by sophisticated traders. Use it when the user asks about sma"},{"name":"get_smart_money_sentiment","description":"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 directio"},{"name":"get_social_mentions","description":"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 wan"},{"name":"get_social_sentiment","description":"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 "},{"name":"get_stablecoin_metrics","description":"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"},{"name":"get_strategy","description":"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 cha"},{"name":"get_symbol_exchanges","description":"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 "},{"name":"get_token_dex_trades","description":"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 "},{"name":"get_token_flows","description":"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"},{"name":"get_token_holders","description":"On-chain token holder distribution for a token: total on-chain holder count, top-10 concentration percentage and a concentration score. Nansen aggregates across"},{"name":"get_token_unlocks","description":"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"},{"name":"get_treasuries","description":"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, D"},{"name":"get_trending","description":"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 discove"},{"name":"kb_get_document","description":"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"},{"name":"kb_get_signal_quick_reference","description":"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 sl"},{"name":"kb_glossary_get","description":"Return the KB glossary entry for an explicitly requested glossary definition or exact glossary term. No preliminary graph call is required for a glossary reques"},{"name":"kb_list_documents","description":"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 u"},{"name":"kb_search","description":"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 "},{"name":"list_approved_assets","description":"List assets approved by Mangrove, including supported stablecoins and tokens. Approval is independent of risk assessment. Unassessed risk scores are null; do no"},{"name":"list_backtest_markets","description":"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 o"},{"name":"list_backtests","description":"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"},{"name":"list_exchanges","description":"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 th"},{"name":"list_playground_datasets","description":"Return metadata for all available playground CSV datasets."},{"name":"list_signal_labels","description":"Every signal's friendly name, display name and short description, keyed by code name."},{"name":"list_signals","description":"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 li"},{"name":"list_strategies","description":"List the strategy definitions saved HERE, in this service -- drafts and backtested strategies authored through chat. This store never knows deployment state: fo"},{"name":"list_trades","description":"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 overvi"},{"name":"load_skill","description":"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 af"},{"name":"match_signals","description":"Match a trading description to ranked signals.\n\n[Access: pay 0.01 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402-capable clie"},{"name":"query_knowledge","description":"Explain trading concepts, definitions, relationships, comparisons and when signals work or fail using Michael's knowledge graph. This is the first tool for a ge"},{"name":"query_signal_behavior","description":"Query measured signal behaviour: describe, pick, find or gap_probability.\n\n[Access: pay 0.005 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an A"},{"name":"run_backtest","description":"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 para"},{"name":"save_strategy","description":"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 r"},{"name":"screen_candidates","description":"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 {ent"},{"name":"screen_smart_money","description":"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"},{"name":"search_marketplace","description":"Search the public strategy marketplace -- the platform's own listings, which are digital-asset strategies on crypto pairs -- over every dimension the marketplac"},{"name":"search_signals","description":"Search signal names, parameters or description keywords.\n\n[Access: pay 0.005 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402-c"},{"name":"update_strategy","description":"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 signal"},{"name":"validate_signal_params","description":"Validate parameters for a signal.\n\n[Access: pay 0.001 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402-capable client will auto"},{"name":"verify_strategy","description":"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 ever"},{"name":"discover_tools","description":"Discover Mangrove managed tools without executing them. Free, public read. Use detail=areas for the functional area index; summary (default) returns only names "}],"toolCount":76,"toolsHash":"9ecf69298fe452fce3c180dd4e473a95803e2c60117371e981f17f533a8026dd","serverName":"MangroveAI","capabilities":["tools"],"serverVersion":"phase-1","protocolVersion":"2025-06-18"}}],"tools":[{"name":"delete_strategy","description":"Permanently delete a strategy by its ID. Use this only when the user explicitly asks to delete a strategy. Always confirm the strategy name and ID before deleti"},{"name":"update_strategy_status","description":"Update the status of a strategy. Valid statuses: draft, inactive, paper, live, archived. Use this when the user wants to activate, pause, archive, or promote a "},{"name":"get_trades_for_strategy","description":"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."},{"name":"list_positions","description":"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 tr"},{"name":"evaluate_strategy","description":"Evaluate a strategy against current live market data to check if entry or exit signals are active — read-only signal check, does NOT place any orders. Returns t"},{"name":"list_evaluations","description":"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"},{"name":"build_strategy_for_regime","description":"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 "},{"name":"classify_market_segment","description":"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 st"},{"name":"evaluate_multiple_signals_series","description":"Evaluate chart data and optional signal triggers over a specific range.\n\n[Access: pay 0.05 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API "},{"name":"evaluate_signal","description":"Evaluate a signal against provided market data and parameters.\n\n[Access: pay 0.02 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x"},{"name":"find_sweep_runs","description":"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 a"},{"name":"get_asset","description":"Full metadata and risk profile for one crypto asset on the Mangrove platform: approval status, risk score breakdown, regulatory status and identifiers. Use it w"},{"name":"get_backtest","description":"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"},{"name":"get_backtest_trades","description":"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 act"},{"name":"get_benchmark","description":"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 aga"},{"name":"get_chain_tvl","description":"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"},{"name":"get_etf_flows","description":"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. "},{"name":"get_execution_config_schema","description":"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 i"},{"name":"get_global_market","description":"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"},{"name":"get_influence_score","description":"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"},{"name":"get_lending_rates","description":"Per-pool borrow rates across DeFi lending protocols such as Aave, Compound and Morpho. Useful for rate-spread arbitrage screens and stablecoin yield analysis. U"},{"name":"get_market_data","description":"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 exchang"},{"name":"get_market_regime","description":"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 vo"},{"name":"get_marketplace_strategy","description":"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 whethe"},{"name":"get_ohlcv","description":"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"},{"name":"get_onchain_series","description":"Per-bar on-chain metric time series for a token. One request returns a bar-indexed series with any combination of SmartMoneyNetflow, SmartMoneyHoldings, Exchang"},{"name":"get_perp_funding_rates","description":"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 abo"},{"name":"get_playground_data","description":"Return OHLCV chart data for a specific playground dataset."},{"name":"get_protocol_tvl","description":"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 capi"},{"name":"get_signal","description":"Get complete metadata for an exact registered signal name.\n\n[Access: pay 0.001 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402"},{"name":"get_smart_money_dex_trades","description":"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 th"},{"name":"get_smart_money_flows","description":"One-token flow intelligence snapshot: returns net USD flows and wallet counts for smart traders, whales, exchanges, fresh wallets and public figures together in"},{"name":"get_smart_money_historical_holdings","description":"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"},{"name":"get_smart_money_holdings","description":"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"},{"name":"get_smart_money_netflows","description":"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 "},{"name":"get_smart_money_perp_trades","description":"Perpetual futures trades from smart-money wallets on Hyperliquid. Shows leveraged directional bets by sophisticated traders. Use it when the user asks about sma"},{"name":"get_smart_money_sentiment","description":"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 directio"},{"name":"get_social_mentions","description":"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 wan"},{"name":"get_social_sentiment","description":"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 "},{"name":"get_stablecoin_metrics","description":"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"},{"name":"get_strategy","description":"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 cha"},{"name":"get_symbol_exchanges","description":"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 "},{"name":"get_token_dex_trades","description":"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 "},{"name":"get_token_flows","description":"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"},{"name":"get_token_holders","description":"On-chain token holder distribution for a token: total on-chain holder count, top-10 concentration percentage and a concentration score. Nansen aggregates across"},{"name":"get_token_unlocks","description":"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"},{"name":"get_treasuries","description":"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, D"},{"name":"get_trending","description":"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 discove"},{"name":"kb_get_document","description":"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"},{"name":"kb_get_signal_quick_reference","description":"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 sl"},{"name":"kb_glossary_get","description":"Return the KB glossary entry for an explicitly requested glossary definition or exact glossary term. No preliminary graph call is required for a glossary reques"},{"name":"kb_list_documents","description":"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 u"},{"name":"kb_search","description":"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 "},{"name":"list_approved_assets","description":"List assets approved by Mangrove, including supported stablecoins and tokens. Approval is independent of risk assessment. Unassessed risk scores are null; do no"},{"name":"list_backtest_markets","description":"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 o"},{"name":"list_backtests","description":"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"},{"name":"list_exchanges","description":"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 th"},{"name":"list_playground_datasets","description":"Return metadata for all available playground CSV datasets."},{"name":"list_signal_labels","description":"Every signal's friendly name, display name and short description, keyed by code name."},{"name":"list_signals","description":"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 li"},{"name":"list_strategies","description":"List the strategy definitions saved HERE, in this service -- drafts and backtested strategies authored through chat. This store never knows deployment state: fo"},{"name":"list_trades","description":"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 overvi"},{"name":"load_skill","description":"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 af"},{"name":"match_signals","description":"Match a trading description to ranked signals.\n\n[Access: pay 0.01 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402-capable clie"},{"name":"query_knowledge","description":"Explain trading concepts, definitions, relationships, comparisons and when signals work or fail using Michael's knowledge graph. This is the first tool for a ge"},{"name":"query_signal_behavior","description":"Query measured signal behaviour: describe, pick, find or gap_probability.\n\n[Access: pay 0.005 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an A"},{"name":"run_backtest","description":"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 para"},{"name":"save_strategy","description":"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 r"},{"name":"screen_candidates","description":"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 {ent"},{"name":"screen_smart_money","description":"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"},{"name":"search_marketplace","description":"Search the public strategy marketplace -- the platform's own listings, which are digital-asset strategies on crypto pairs -- over every dimension the marketplac"},{"name":"search_signals","description":"Search signal names, parameters or description keywords.\n\n[Access: pay 0.005 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402-c"},{"name":"update_strategy","description":"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 signal"},{"name":"validate_signal_params","description":"Validate parameters for a signal.\n\n[Access: pay 0.001 USDC via x402 (PAYMENT-SIGNATURE header) OR authenticate with an API key. An x402-capable client will auto"},{"name":"verify_strategy","description":"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 ever"},{"name":"discover_tools","description":"Discover Mangrove managed tools without executing them. Free, public read. Use detail=areas for the functional area index; summary (default) returns only names "}],"package":null,"toolSurface":{"id":"ts_wnq9h3n9wmm9","endpointId":"ep_b84re6f8kyc2","hash":"9ecf69298fe452fce3c180dd4e473a95803e2c60117371e981f17f533a8026dd","toolCount":76,"serverName":"MangroveAI","serverVersion":"phase-1","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-26T01:32:35.715Z","lastSeenAt":"2026-10-27T05:30:30.285Z","observations":5,"toolNames":["delete_strategy","update_strategy_status","get_trades_for_strategy","list_positions","evaluate_strategy","list_evaluations","build_strategy_for_regime","classify_market_segment","evaluate_multiple_signals_series","evaluate_signal","find_sweep_runs","get_asset","get_backtest","get_backtest_trades","get_benchmark","get_chain_tvl","get_etf_flows","get_execution_config_schema","get_global_market","get_influence_score","get_lending_rates","get_market_data","get_market_regime","get_marketplace_strategy","get_ohlcv","get_onchain_series","get_perp_funding_rates","get_playground_data","get_protocol_tvl","get_signal","get_smart_money_dex_trades","get_smart_money_flows","get_smart_money_historical_holdings","get_smart_money_holdings","get_smart_money_netflows","get_smart_money_perp_trades","get_smart_money_sentiment","get_social_mentions","get_social_sentiment","get_stablecoin_metrics","get_strategy","get_symbol_exchanges","get_token_dex_trades","get_token_flows","get_token_holders","get_token_unlocks","get_treasuries","get_trending","kb_get_document","kb_get_signal_quick_reference","kb_glossary_get","kb_list_documents","kb_search","list_approved_assets","list_backtest_markets","list_backtests","list_exchanges","list_playground_datasets","list_signal_labels","list_signals","list_strategies","list_trades","load_skill","match_signals","query_knowledge","query_signal_behavior","run_backtest","save_strategy","screen_candidates","screen_smart_money","search_marketplace","search_signals","update_strategy","validate_signal_params","verify_strategy","discover_tools"],"distinctSurfaces":1},"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.MangroveTechnologies/mangroveai","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.MangroveTechnologies%2Fmangroveai","firstSeenAt":"2026-10-26T00:20:52.807Z","fetchedAt":"2026-10-26T00:20:52.807Z","normalizedAt":"2026-10-26T00:20:52.807Z"}]},"firstSeenAt":"2026-10-26T00:20:52.807Z","updatedAt":"2026-10-27T05:32:52.694Z"}