MCP tools catalog
The agent registers 90 MCP tools across 14 domains. Every tool is exposed over Streamable HTTP MCP and as a mirrored REST endpoint at/api/v1/agent/* — pick whichever fits your caller. Both paths call the same service layer.
Each domain section below renders as a collapsed accordion list. Click a tool to expand its description, argument table, and access tier. Use your browser’s find-in-page (ctrl-F / cmd-F) to locate a tool by name — collapsed accordions are still text-searchable.
How to read this catalog
- Access is one of:
free— no auth, no charge (discovery, status, demo)auth— requiresX-API-Key(or Bearer JWT)x402— pay-per-call via x402 micropayment; check the tool’s price field
- Args with
required = yesmust be supplied; the rest fall back to server defaults. - Type strings (
string,integer,array<Strategy>, …) reflect the agent’s MCP schema, not Python types.
mangrove-agent/server/src/mcp/tools.py via scripts/generate-mcp-tools-catalog.py. When the agent adds or renames a tool, re-run the generator and commit the regenerated MDX.Discovery
2 tool(s) in this domain.list_tools
free — MCP tool catalog (name, tier, params, pricing). Free, no auth.
list_tools
free — MCP tool catalog (name, tier, params, pricing). Free, no auth.
/api/v1/agent/... (see REST mirror for the pattern).status
free — Agent status + counts + uptime. Free, no auth.
status
free — Agent status + counts + uptime. Free, no auth.
/api/v1/agent/... (see REST mirror for the pattern).Wallet
9 tool(s) in this domain.create_wallet
auth — Create + encrypt a wallet. Response carries only vault_token + reveal_cmd — plaintext never enter…
create_wallet
auth — Create + encrypt a wallet. Response carries only vault_token + reveal_cmd — plaintext never enter…
| Name | Type | Required | Description |
|---|---|---|---|
chain | string | no | evm (default). xrpl stubbed 501 in v1. |
network | string | no | mainnet (default) | testnet |
chain_id | integer | no | Default 8453 (Base mainnet) |
label | string | no | Human-friendly name |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).get_balances
auth — Token balances for a wallet.
get_balances
auth — Token balances for a wallet.
| Name | Type | Required | Description |
|---|---|---|---|
address | string | yes | Wallet address |
chain_id | integer | yes | EVM chain id |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).import_wallet
auth — Import an existing wallet from a stashed vault_token. The user must obtain the id by running scri…
import_wallet
auth — Import an existing wallet from a stashed vault_token. The user must obtain the id by running scri…
| Name | Type | Required | Description |
|---|---|---|---|
vault_token | string | yes | From scripts/stash-secret.sh output |
chain | string | no | evm (default) |
network | string | no | mainnet (default) | testnet |
chain_id | integer | no | Default 8453 (Base mainnet) |
label | string | no | Human-friendly name |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).list_wallets
auth — List stored wallets (secrets never returned).
list_wallets
auth — List stored wallets (secrets never returned).
| Name | Type | Required | Description |
|---|---|---|---|
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).portfolio_defi
auth — DeFi positions (LP, lending, staking) across wallets.
portfolio_defi
auth — DeFi positions (LP, lending, staking) across wallets.
| Name | Type | Required | Description |
|---|---|---|---|
addresses | string | yes | Comma-separated wallet addresses |
chain_id | integer | no | Optional: pin to a single chain |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).portfolio_history
auth — On-chain tx history for a single wallet (all txs, not just strategy-driven).
portfolio_history
auth — On-chain tx history for a single wallet (all txs, not just strategy-driven).
| Name | Type | Required | Description |
|---|---|---|---|
address | string | yes | Single wallet address |
limit | integer | no | Max results (default 50) |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).portfolio_pnl
auth — Realized + unrealized P&L for one or more wallets.
portfolio_pnl
auth — Realized + unrealized P&L for one or more wallets.
| Name | Type | Required | Description |
|---|---|---|---|
addresses | string | yes | Comma-separated wallet addresses |
chain_id | integer | no | Optional: pin to a single chain |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).portfolio_tokens
auth — Per-token holdings with USD value + per-position P&L.
portfolio_tokens
auth — Per-token holdings with USD value + per-position P&L.
| Name | Type | Required | Description |
|---|---|---|---|
addresses | string | yes | Comma-separated wallet addresses |
chain_id | integer | no | Optional: pin to a single chain |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).portfolio_value
auth — Aggregate USD value of one or more wallet addresses.
portfolio_value
auth — Aggregate USD value of one or more wallet addresses.
| Name | Type | Required | Description |
|---|---|---|---|
addresses | string | yes | Comma-separated wallet addresses |
chain_id | integer | no | Optional: pin to a single chain |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).DEX
10 tool(s) in this domain.execute_swap
auth — Execute a DEX swap (requires confirm=true + explicit slippage_pct). Single code path shared with…
execute_swap
auth — Execute a DEX swap (requires confirm=true + explicit slippage_pct). Single code path shared with…
| Name | Type | Required | Description |
|---|---|---|---|
input_token | string | yes | Input token |
output_token | string | yes | Output token |
amount | number | yes | Input amount |
chain_id | integer | yes | EVM chain id |
wallet_address | string | yes | Wallet from local store |
slippage_pct | number | yes | Slippage tolerance as DECIMAL, capped at 0.0025 (0.25%). Typical: 0.001 (0.1%), 0.002 (0.2%), 0.0025 (max). Higher values refused. |
venue_id | string | no | Optional specific venue |
confirm | boolean | yes | Must be true |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).get_allowances
auth — Check ERC-20 allowances a wallet has granted a spender (approve_token output).
get_allowances
auth — Check ERC-20 allowances a wallet has granted a spender (approve_token output).
| Name | Type | Required | Description |
|---|---|---|---|
chain_id | integer | yes | EVM chain id |
wallet | string | yes | Wallet address |
spender | string | yes | Spender contract address (e.g. a router) |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).get_dex_chart
auth — ⚠️ BROKEN upstream (SDK sends token0/token1, server wants `address`). Use get_ohlcv for price his…
get_dex_chart
auth — ⚠️ BROKEN upstream (SDK sends token0/token1, server wants `address`). Use get_ohlcv for price his…
address). Use get_ohlcv for price history until fixed.Args| Name | Type | Required | Description |
|---|---|---|---|
chain_id | integer | yes | EVM chain id |
token0 | string | yes | Base token (symbol or address) |
token1 | string | yes | Quote token (symbol or address) |
period | string | no | Bar period (default ‘1h’) |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).get_gas_price
auth — Gas price estimate for a chain (pre-flight before execute_swap).
get_gas_price
auth — Gas price estimate for a chain (pre-flight before execute_swap).
| Name | Type | Required | Description |
|---|---|---|---|
chain_id | integer | yes | EVM chain id |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).get_spot_price
auth — Current spot price for one or more tokens on a chain.
get_spot_price
auth — Current spot price for one or more tokens on a chain.
| Name | Type | Required | Description |
|---|---|---|---|
chain_id | integer | yes | EVM chain id |
tokens | string | yes | Comma-separated token symbols or addresses |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).get_swap_quote
auth — Get a DEX swap quote. Optionally pin a venue + mode.
get_swap_quote
auth — Get a DEX swap quote. Optionally pin a venue + mode.
| Name | Type | Required | Description |
|---|---|---|---|
input_token | string | yes | Input token |
output_token | string | yes | Output token |
amount | number | yes | Input amount |
chain_id | integer | yes | EVM chain id |
venue_id | string | no | Optional specific venue |
mode | string | no | Optional routing hint (venue-specific) |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).get_token_info
auth — ⚠️ BROKEN upstream (MangroveMarkets-MCP-Server#62). Use kb_glossary_get / kb_search for token con…
get_token_info
auth — ⚠️ BROKEN upstream (MangroveMarkets-MCP-Server#62). Use kb_glossary_get / kb_search for token con…
| Name | Type | Required | Description |
|---|---|---|---|
chain_id | integer | yes | EVM chain id |
address | string | yes | Token contract address |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).get_token_search
auth — Fuzzy token search by symbol / partial name. Returns candidate contract addresses.
get_token_search
auth — Fuzzy token search by symbol / partial name. Returns candidate contract addresses.
| Name | Type | Required | Description |
|---|---|---|---|
chain_id | integer | yes | EVM chain id |
query | string | yes | Symbol or partial name (e.g. ‘USDC’, ‘Pepe’) |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).get_tx_status
auth — Verify a broadcast transaction's final state. Call after execute_swap — the returned tx_hash isn'…
get_tx_status
auth — Verify a broadcast transaction's final state. Call after execute_swap — the returned tx_hash isn'…
| Name | Type | Required | Description |
|---|---|---|---|
tx_hash | string | yes | Transaction hash returned by execute_swap |
chain_id | integer | yes | EVM chain id (8453 = Base mainnet) |
venue_id | string | no | Optional: pin to a specific venue |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).list_dex_venues
auth — List supported DEX venues.
list_dex_venues
auth — List supported DEX venues.
| Name | Type | Required | Description |
|---|---|---|---|
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).Market data
6 tool(s) in this domain.get_asset
auth — Single-asset metadata + score + approval state.
get_asset
auth — Single-asset metadata + score + approval state.
| Name | Type | Required | Description |
|---|---|---|---|
symbol | string | yes | Asset symbol (e.g. BTC, ETH) |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).get_global_market
auth — Global market overview (total cap, BTC dominance, 24h change).
get_global_market
auth — Global market overview (total cap, BTC dominance, 24h change).
| Name | Type | Required | Description |
|---|---|---|---|
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).get_market_data
auth — Current price, market cap, volume, 24h/7d change. Optionally pin a provider.
get_market_data
auth — Current price, market cap, volume, 24h/7d change. Optionally pin a provider.
| Name | Type | Required | Description |
|---|---|---|---|
symbol | string | yes | Asset symbol |
provider | string | no | Optional data provider override |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).get_ohlcv
auth — OHLCV bars for an asset. Bar granularity is set by the data provider (typically 1h). No `timefram…
get_ohlcv
auth — OHLCV bars for an asset. Bar granularity is set by the data provider (typically 1h). No `timefram…
timeframe parameter — the SDK / upstream endpoint don’t support overriding bar size at this call site.Args| Name | Type | Required | Description |
|---|---|---|---|
symbol | string | yes | Asset symbol (e.g. BTC, ETH) |
lookback_days | integer | no | History window in days (default 30) |
provider | string | no | Optional CEX provider override |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).get_trending
auth — Trending crypto assets right now.
get_trending
auth — Trending crypto assets right now.
| Name | Type | Required | Description |
|---|---|---|---|
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).list_approved_assets
auth — Approved crypto asset universe (agent-safe set).
list_approved_assets
auth — Approved crypto asset universe (agent-safe set).
| Name | Type | Required | Description |
|---|---|---|---|
min_score | number | no | Optional quality threshold |
limit | integer | no | Max results (default 100) |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).On-chain (Nansen + WhaleAlert)
11 tool(s) in this domain.get_exchange_flows
auth — Net exchange inflows/outflows (selling pressure vs accumulation).
get_exchange_flows
auth — Net exchange inflows/outflows (selling pressure vs accumulation).
| Name | Type | Required | Description |
|---|---|---|---|
symbol | string | no | Optional filter by asset |
hours_back | integer | no | Window (default 24) |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).get_smart_money_dex_trades
auth — Recent DEX trades from Smart Money wallets (Nansen).
get_smart_money_dex_trades
auth — Recent DEX trades from Smart Money wallets (Nansen).
| Name | Type | Required | Description |
|---|---|---|---|
chains | array | no | Chain filter. |
filters | object | no | Nansen filter dict. |
order_by | array | no | Sort spec. |
page | integer | no | Page (default 1). |
per_page | integer | no | Items per page (default 100). |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).get_smart_money_historical_holdings
auth — Smart Money historical holdings snapshots across chains (Nansen).
get_smart_money_historical_holdings
auth — Smart Money historical holdings snapshots across chains (Nansen).
| Name | Type | Required | Description |
|---|---|---|---|
chains | array | no | Chain filter, e.g. [‘ethereum’, ‘solana’]. Default [‘ethereum’]. |
date_from | string | no | ISO date ‘YYYY-MM-DD’. |
date_to | string | no | ISO date ‘YYYY-MM-DD’. |
filters | object | no | Nansen filter dict (include_smart_money_labels, etc.) |
order_by | array | no | Sort spec, e.g. [{‘field’: ‘block_timestamp’, ‘direction’: ‘DESC’}] |
page | integer | no | Page (default 1) |
per_page | integer | no | Items per page (default 100) |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).get_smart_money_perp_trades
auth — Smart Money perp trades on Hyperliquid (Nansen).
get_smart_money_perp_trades
auth — Smart Money perp trades on Hyperliquid (Nansen).
| Name | Type | Required | Description |
|---|---|---|---|
filters | object | no | Nansen filter dict. |
order_by | array | no | Sort spec. |
page | integer | no | Page (default 1). |
per_page | integer | no | Items per page (default 100). |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).get_smart_money_sentiment
auth — Smart-money sentiment for an asset (aggregate of tracked wallets).
get_smart_money_sentiment
auth — Smart-money sentiment for an asset (aggregate of tracked wallets).
| Name | Type | Required | Description |
|---|---|---|---|
symbol | string | yes | Asset symbol |
chain | string | no | Optional chain filter |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).get_token_dex_trades
auth — All DEX trades for a single token in a date window (Nansen).
get_token_dex_trades
auth — All DEX trades for a single token in a date window (Nansen).
| Name | Type | Required | Description |
|---|---|---|---|
symbol | string | yes | Token symbol (e.g. ‘uniswap’). |
chain | string | no | Chain (default ‘ethereum’). |
date_from | string | no | ISO ‘YYYY-MM-DD’. |
date_to | string | no | ISO ‘YYYY-MM-DD’. |
filters | object | no | Nansen filter dict. |
order_by | array | no | Sort spec. |
page | integer | no | Page (default 1). |
per_page | integer | no | Items per page (default 100). |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).get_token_flows
auth — Per-wallet-category flow data for a token across a date window (Nansen).
get_token_flows
auth — Per-wallet-category flow data for a token across a date window (Nansen).
| Name | Type | Required | Description |
|---|---|---|---|
symbol | string | yes | Token symbol (non-stablecoin). |
chain | string | no | Chain (default ‘ethereum’). |
date_from | string | no | ISO ‘YYYY-MM-DD’. |
date_to | string | no | ISO ‘YYYY-MM-DD’. |
filters | object | no | Nansen filter dict. |
order_by | array | no | Sort spec. |
page | integer | no | Page (default 1). |
per_page | integer | no | Items per page (default 100). |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).get_token_holders
auth — Top holders + distribution for a token.
get_token_holders
auth — Top holders + distribution for a token.
| Name | Type | Required | Description |
|---|---|---|---|
symbol | string | yes | Asset symbol |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).get_whale_activity
auth — Whale buying/selling activity for an asset.
get_whale_activity
auth — Whale buying/selling activity for an asset.
| Name | Type | Required | Description |
|---|---|---|---|
symbol | string | yes | Asset symbol (e.g. ETH) |
hours_back | integer | no | Window (default 24) |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).get_whale_transactions
auth — Whale transactions above a USD threshold.
get_whale_transactions
auth — Whale transactions above a USD threshold.
| Name | Type | Required | Description |
|---|---|---|---|
symbol | string | no | Optional filter by asset |
min_value | number | no | Min USD value (default 500000) |
hours_back | integer | no | Window (default 24) |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).screen_smart_money
auth — Screen assets smart money is currently accumulating.
screen_smart_money
auth — Screen assets smart money is currently accumulating.
| Name | Type | Required | Description |
|---|---|---|---|
chains | array | no | Optional list of chain names |
timeframe | string | no | Lookback (default ‘24h’) |
limit | integer | no | Max results (default 20) |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).Oracle
18 tool(s) in this domain.oracle_backtest
auth — Backtest one strategy through Oracle's engine (synchronous).
oracle_backtest
auth — Backtest one strategy through Oracle's engine (synchronous).
| Name | Type | Required | Description |
|---|---|---|---|
asset | string | yes | e.g. BTC, ETH |
interval | string | yes | e.g. 1h, 4h, 1d |
strategy_json | string | yes | Strategy JSON (MangroveAI shape). |
lookback_months | integer | no | Default 12. |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).oracle_backtest_async
auth — Submit an Oracle backtest for async execution. Returns backtest_id to poll.
oracle_backtest_async
auth — Submit an Oracle backtest for async execution. Returns backtest_id to poll.
| Name | Type | Required | Description |
|---|---|---|---|
asset | string | yes | e.g. BTC, ETH |
interval | string | yes | e.g. 1h, 4h, 1d |
strategy_json | string | yes | Strategy JSON (MangroveAI shape). |
lookback_months | integer | no | Default 12. |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).oracle_backtest_bulk
auth — Bulk-evaluate N strategies via Oracle with shared market-data fetches.
oracle_backtest_bulk
auth — Bulk-evaluate N strategies via Oracle with shared market-data fetches.
| Name | Type | Required | Description |
|---|---|---|---|
request | object | yes | OracleBulkBacktestRequest dict (strategy_ids, strategy_configs, shared risk + date fields). |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).oracle_backtest_poll
auth — Poll the status / full result of an async Oracle backtest.
oracle_backtest_poll
auth — Poll the status / full result of an async Oracle backtest.
| Name | Type | Required | Description |
|---|---|---|---|
backtest_id | string | yes | ID returned by oracle_backtest_async. |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).oracle_create_experiment
auth — Create an Oracle sweep experiment in draft status.
oracle_create_experiment
auth — Create an Oracle sweep experiment in draft status.
| Name | Type | Required | Description |
|---|---|---|---|
config | object | yes | ExperimentConfig dict (name required). |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).oracle_data_query
auth — Query the curated Oracle corpus (results / ohlcv). Whitelist-enforced columns + filter ops; tenan…
oracle_data_query
auth — Query the curated Oracle corpus (results / ohlcv). Whitelist-enforced columns + filter ops; tenan…
| Name | Type | Required | Description |
|---|---|---|---|
table | string | yes | ’results’ | ‘ohlcv’ |
select | array<string> | yes | Columns to return. |
filters | array<{col,op,value}> | no | Filter clauses. |
order_by | array<string> | no | Optional ORDER BY clauses. |
limit | integer | no | Default 100, max 1000. |
offset | integer | no | Default 0. |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).oracle_delete_experiment
auth — Delete an Oracle experiment and cancel in-flight children.
oracle_delete_experiment
auth — Delete an Oracle experiment and cancel in-flight children.
| Name | Type | Required | Description |
|---|---|---|---|
experiment_id | string | yes | Experiment to delete. |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).oracle_get_experiment
auth — Get full Oracle experiment config + live progress.
oracle_get_experiment
auth — Get full Oracle experiment config + live progress.
| Name | Type | Required | Description |
|---|---|---|---|
experiment_id | string | yes | ID returned by oracle_create_experiment. |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).oracle_launch_experiment
auth — Launch a validated Oracle experiment into up to 99 child backtests.
oracle_launch_experiment
auth — Launch a validated Oracle experiment into up to 99 child backtests.
| Name | Type | Required | Description |
|---|---|---|---|
experiment_id | string | yes | Validated experiment to launch. |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).oracle_list_datasets
auth — List curated OHLCV datasets available to Oracle experiments.
oracle_list_datasets
auth — List curated OHLCV datasets available to Oracle experiments.
| Name | Type | Required | Description |
|---|---|---|---|
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).oracle_list_experiments
auth — List Oracle experiments (summary view) for the calling org.
oracle_list_experiments
auth — List Oracle experiments (summary view) for the calling org.
| Name | Type | Required | Description |
|---|---|---|---|
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).oracle_list_results
auth — Paginated read of Oracle backtest results under an experiment.
oracle_list_results
auth — Paginated read of Oracle backtest results under an experiment.
| Name | Type | Required | Description |
|---|---|---|---|
experiment_id | string | yes | Experiment whose results to read. |
limit | integer | no | Default 100; max 1000. |
offset | integer | no | Default 0. |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).oracle_list_signals
auth — List signals with typed param specs available to Oracle experiments.
oracle_list_signals
auth — List signals with typed param specs available to Oracle experiments.
| Name | Type | Required | Description |
|---|---|---|---|
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).oracle_list_templates
auth — List predefined strategy templates to seed Oracle experiments.
oracle_list_templates
auth — List predefined strategy templates to seed Oracle experiments.
| Name | Type | Required | Description |
|---|---|---|---|
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).oracle_pause_experiment
auth — Pause a running Oracle experiment without losing completed results.
oracle_pause_experiment
auth — Pause a running Oracle experiment without losing completed results.
| Name | Type | Required | Description |
|---|---|---|---|
experiment_id | string | yes | Running experiment to pause. |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).oracle_update_experiment
auth — Replace a draft Oracle experiment's config (PUT semantics).
oracle_update_experiment
auth — Replace a draft Oracle experiment's config (PUT semantics).
| Name | Type | Required | Description |
|---|---|---|---|
experiment_id | string | yes | Experiment to update. |
config | object | yes | Full replacement ExperimentConfig. |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).oracle_validate_experiment
auth — Validate a draft Oracle experiment (transition draft -> validated).
oracle_validate_experiment
auth — Validate a draft Oracle experiment (transition draft -> validated).
| Name | Type | Required | Description |
|---|---|---|---|
experiment_id | string | yes | Draft experiment to validate. |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).sieve_score
auth — Score 1-99 strategies through Mangrove SIEVE before paying for backtests. Returns binary + 4-clas…
sieve_score
auth — Score 1-99 strategies through Mangrove SIEVE before paying for backtests. Returns binary + 4-clas…
| Name | Type | Required | Description |
|---|---|---|---|
strategies | array<Strategy> | yes | MangroveAI-shaped Strategy objects (1-99 items). |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).Signals
4 tool(s) in this domain.get_signal
auth — Fetch a single signal's full metadata + param schema.
get_signal
auth — Fetch a single signal's full metadata + param schema.
| Name | Type | Required | Description |
|---|---|---|---|
signal_name | string | yes | Exact signal name (e.g. ‘rsi_cross_up’) |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).list_signals
auth — List / search available signals.
list_signals
auth — List / search available signals.
| Name | Type | Required | Description |
|---|---|---|---|
category | string | no | Filter by category |
search | string | no | Search query |
limit | integer | no | Max results |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).match_signals
auth — Semantic match of signals against a natural-language description.
match_signals
auth — Semantic match of signals against a natural-language description.
| Name | Type | Required | Description |
|---|---|---|---|
description | string | yes | Natural-language description of what you want |
top_k | integer | no | Max results (default 5) |
similarity_threshold | number | no | Min similarity (default 0.5) |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).search_signals
auth — Text search signals (keyword/name). For intent-based matching, prefer match_signals.
search_signals
auth — Text search signals (keyword/name). For intent-based matching, prefer match_signals.
| Name | Type | Required | Description |
|---|---|---|---|
query | string | yes | Text query |
limit | integer | no | Page size (default 50) |
offset | integer | no | Page offset |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).Strategy
13 tool(s) in this domain.backtest_strategy
auth — Backtest a strategy (quick or full). Window precedence: start+end > hours > days > months > timef…
backtest_strategy
auth — Backtest a strategy (quick or full). Window precedence: start+end > hours > days > months > timef…
config is a single dict that merges over trading_defaults.json — use it for slippage_pct, fee_pct, max_hold_time_hours, initial_balance, max_risk_per_trade, reward_factor, atr_period, or any other BacktestRequest field. Returns full SDK metrics, trade history, and a resolved_window block for fallback detection.Args| Name | Type | Required | Description |
|---|---|---|---|
strategy_id | string | yes | Agent strategy UUID |
mode | string | no | quick | full (default full) |
lookback_months | integer | no | Window in months (auto by timeframe if all window fields omitted) |
lookback_days | integer | no | Window in days (overrides lookback_months) |
lookback_hours | integer | no | Window in hours — use for short backtests |
start_date | string | no | ISO 8601 — paired with end_date, overrides all lookback_* fields |
end_date | string | no | ISO 8601 |
config | object | no | Merges over trading_defaults.json (slippage_pct, max_risk_per_trade, initial_balance, reward_factor, atr_*, etc.) |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).build_strategy_from_reference
auth — After search_reference_strategies returns candidates, call this to produce a create_strategy_manu…
build_strategy_from_reference
auth — After search_reference_strategies returns candidates, call this to produce a create_strategy_manu…
timeframe and asset are free overrides: a reference is a portable combo, so retarget onto the user’s asset/TF and bulk-backtest the top matches rather than single-pick by label.Args| Name | Type | Required | Description |
|---|---|---|---|
reference_id | string | yes | e.g. ref-001 — from search_reference_strategies |
timeframe | string | no | Override the reference’s timeframe (canonicalized) |
asset | string | no | Retarget onto a different asset — reference strategies are portable |
name | string | no | Optional strategy name override |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).create_strategy_autonomous
auth — Create a strategy from a natural-language goal.
create_strategy_autonomous
auth — Create a strategy from a natural-language goal.
| Name | Type | Required | Description |
|---|---|---|---|
goal | string | yes | Natural-language goal |
asset | string | yes | Asset symbol |
timeframe | string | yes | 5m | 15m | 30m | 1h | 4h | 1d (1m not supported) |
candidate_count | integer | no | 5-10 |
backtest_lookback_months | integer | no | Default: auto by timeframe (5m-1h=3mo, 4h=6mo, 1d=12mo) |
seed | integer | no | Reproducibility seed |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).create_strategy_manual
auth — Create a strategy with explicit entry/exit rules.
create_strategy_manual
auth — Create a strategy with explicit entry/exit rules.
| Name | Type | Required | Description |
|---|---|---|---|
name | string | yes | Strategy name |
asset | string | yes | Asset symbol |
timeframe | string | yes | 5m | 15m | 30m | 1h | 4h | 1d (1m not supported) |
entry | array | yes | Entry rules |
exit | array | no | Exit rules |
execution_config | object | no | Override exec params |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).delete_strategy
auth — Delete a strategy upstream (local audit trail preserved).
delete_strategy
auth — Delete a strategy upstream (local audit trail preserved).
| Name | Type | Required | Description |
|---|---|---|---|
strategy_id | string | yes | Agent (local) strategy UUID |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).evaluate_strategy
auth — Manually trigger one evaluation tick.
evaluate_strategy
auth — Manually trigger one evaluation tick.
| Name | Type | Required | Description |
|---|---|---|---|
strategy_id | string | yes | Agent strategy UUID |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).get_account_position
auth — Fetch a single MangroveAI execution position.
get_account_position
auth — Fetch a single MangroveAI execution position.
| Name | Type | Required | Description |
|---|---|---|---|
position_id | string | yes | Position id |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).get_strategy
auth — Get a strategy by ID.
get_strategy
auth — Get a strategy by ID.
| Name | Type | Required | Description |
|---|---|---|---|
strategy_id | string | yes | Agent strategy UUID |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).list_account_positions
auth — List positions on MangroveAI's execution side (copilot-authored strategies).
list_account_positions
auth — List positions on MangroveAI's execution side (copilot-authored strategies).
| Name | Type | Required | Description |
|---|---|---|---|
account_id | string | no | Optional filter |
status | string | no | Optional: open | closed | etc |
skip | integer | no | Page offset |
limit | integer | no | Page size |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).list_account_trades
auth — List trades on MangroveAI's execution side (copilot-authored strategies).
list_account_trades
auth — List trades on MangroveAI's execution side (copilot-authored strategies).
| Name | Type | Required | Description |
|---|---|---|---|
account_id | string | no | Optional filter |
asset | string | no | Optional asset filter |
outcome | string | no | Optional outcome filter |
skip | integer | no | Page offset |
limit | integer | no | Page size |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).list_strategies
auth — List strategies.
list_strategies
auth — List strategies.
| Name | Type | Required | Description |
|---|---|---|---|
status | string | no | Filter: draft|inactive|paper|live|archived |
limit | integer | no | Page size |
offset | integer | no | Page offset |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).search_reference_strategies
auth — Find curated reference strategies that match the user's goal and asset. Returns ranked candidates…
search_reference_strategies
auth — Find curated reference strategies that match the user's goal and asset. Returns ranked candidates…
| Name | Type | Required | Description |
|---|---|---|---|
asset | string | yes | Asset symbol (e.g. BTC, ETH) |
timeframe | string | no | 5m | 15m | 30m | 1h | 4h | 1d |
category | string | no | momentum | mean_reversion | trend_following | breakout | volatility |
goal_hint | string | no | Free text from the user’s goal — auto-detects category if category is not supplied |
limit | integer | no | Max results (default 5) |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).update_strategy_status
auth — Transition strategy lifecycle status.
update_strategy_status
auth — Transition strategy lifecycle status.
| Name | Type | Required | Description |
|---|---|---|---|
strategy_id | string | yes | Agent strategy UUID |
status | string | yes | Target status |
confirm | boolean | no | Required for live + live→inactive |
allocation | object | no | Required for live |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).Logs
3 tool(s) in this domain.list_all_trades
auth — All trades across strategies (optional filters).
list_all_trades
auth — All trades across strategies (optional filters).
| Name | Type | Required | Description |
|---|---|---|---|
limit | integer | no | Max results |
strategy_id | string | no | Filter |
mode | string | no | live | paper |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).list_evaluations
auth — Evaluation log for a strategy.
list_evaluations
auth — Evaluation log for a strategy.
| Name | Type | Required | Description |
|---|---|---|---|
strategy_id | string | yes | Strategy UUID |
limit | integer | no | Page size |
offset | integer | no | Page offset |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).list_trades
auth — Trades for a strategy.
list_trades
auth — Trades for a strategy.
| Name | Type | Required | Description |
|---|---|---|---|
strategy_id | string | yes | Strategy UUID |
limit | integer | no | Page size |
offset | integer | no | Page offset |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).Knowledge base
5 tool(s) in this domain.kb_get_document
auth — Fetch a KB document by slug (full body, not search snippet).
kb_get_document
auth — Fetch a KB document by slug (full body, not search snippet).
| Name | Type | Required | Description |
|---|---|---|---|
slug | string | yes | Document slug (e.g. ‘momentum-strategies’) |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).kb_glossary_get
auth — Look up a KB glossary term (definition + backlinks).
kb_glossary_get
auth — Look up a KB glossary term (definition + backlinks).
| Name | Type | Required | Description |
|---|---|---|---|
term | string | yes | Glossary term (exact match) |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).kb_list_indicators
auth — List KB indicator docs (optionally by category).
kb_list_indicators
auth — List KB indicator docs (optionally by category).
| Name | Type | Required | Description |
|---|---|---|---|
category | string | no | Filter: momentum | trend | mean_reversion | volatility | volume | pattern |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).kb_list_tags
auth — List KB tags (navigation + kb_search filtering).
kb_list_tags
auth — List KB tags (navigation + kb_search filtering).
kb_search
auth — Full-text KB search.
kb_search
auth — Full-text KB search.
| Name | Type | Required | Description |
|---|---|---|---|
q | string | yes | Search query |
limit | integer | no | Max results |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).DeFi
3 tool(s) in this domain.get_chain_tvl
auth — Total value locked (TVL) in DeFi on a given chain.
get_chain_tvl
auth — Total value locked (TVL) in DeFi on a given chain.
| Name | Type | Required | Description |
|---|---|---|---|
chain | string | yes | Chain (e.g. ‘base’, ‘ethereum’) |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).get_protocol_tvl
auth — TVL for a specific DeFi protocol (e.g. 'aave', 'uniswap').
get_protocol_tvl
auth — TVL for a specific DeFi protocol (e.g. 'aave', 'uniswap').
| Name | Type | Required | Description |
|---|---|---|---|
protocol | string | yes | Protocol slug |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).get_stablecoin_metrics
auth — Stablecoin supply + flow metrics (macro liquidity proxy).
get_stablecoin_metrics
auth — Stablecoin supply + flow metrics (macro liquidity proxy).
| Name | Type | Required | Description |
|---|---|---|---|
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).Social
3 tool(s) in this domain.get_influence_score
auth — Influence score for a social username.
get_influence_score
auth — Influence score for a social username.
| Name | Type | Required | Description |
|---|---|---|---|
username | string | yes | Social username (no @) |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).get_mentions
auth — Recent social mentions of a topic (raw posts).
get_mentions
auth — Recent social mentions of a topic (raw posts).
| Name | Type | Required | Description |
|---|---|---|---|
topic | string | yes | Asset symbol or keyword |
hours_back | integer | no | Window (default 24) |
limit | integer | no | Max posts (default 20) |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).get_sentiment
auth — Aggregate social (X/Twitter) sentiment for a topic or asset.
get_sentiment
auth — Aggregate social (X/Twitter) sentiment for a topic or asset.
| Name | Type | Required | Description |
|---|---|---|---|
topic | string | yes | Asset symbol or keyword |
hours_back | integer | no | Window (default 24) |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).Documentation
2 tool(s) in this domain.get_doc_content
auth — Fetch a MangroveAI developer doc by path (API reference, guides).
get_doc_content
auth — Fetch a MangroveAI developer doc by path (API reference, guides).
| Name | Type | Required | Description |
|---|---|---|---|
path | string | yes | Doc path (from list_docs) |
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).list_docs
auth — List MangroveAI developer docs (API reference + guides).
list_docs
auth — List MangroveAI developer docs (API reference + guides).
| Name | Type | Required | Description |
|---|---|---|---|
api_key | string | yes | Valid API key |
/api/v1/agent/... (see REST mirror for the pattern).x402 demo (hello_mangrove)
1 tool(s) in this domain.hello_mangrove
x402 — x402 demo: $0.05 USDC on Base. Smoke test for the payment path.
hello_mangrove
x402 — x402 demo: $0.05 USDC on Base. Smoke test for the payment path.
/api/v1/agent/... (see REST mirror for the pattern).REST mirror
Every MCP tool above has a mirrored REST endpoint at/api/v1/agent/<resource>/.... HTTP method matches the underlying call — typically POST for actions, GET for reads. Same service layer, same auth, same response shape. Use REST when the caller isn’t an MCP client.
Examples:
POST /api/v1/agent/oracle/experimentsmirrors theoracle_create_experimentMCP tool.POST /api/v1/agent/on-chain/smart-money/historical-holdingsmirrorsget_smart_money_historical_holdings.GET /api/v1/agent/oracle/datasetsmirrorsoracle_list_datasets.
Generated from
mangrove-agent/server/src/mcp/tools.py. 90 tools across 14 domains. Re-run python scripts/generate-mcp-tools-catalog.py to refresh.