CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Syenite

syenite-ai/syenite
46 toolsSTDIO, HTTPregistry active
Summary

If your agent needs to interact with DeFi protocols without holding keys, this is the integration. It surfaces lending rates across Aave, Morpho, Compound, and Spark, yield opportunities from Pendle to liquid staking, swap and bridge routing via LI.FI across 30+ chains, and Polymarket prediction markets. Every execution tool returns unsigned calldata that you verify with tx.simulate and tx.verify before signing with your own wallet. The position monitoring hooks let you watch health factors and set webhook alerts for liquidation risk. It's built for agents that compose primitives: query rates, screen for carry trades, route a swap, all in one workflow without managing protocol-specific SDKs.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Tools

Public tool metadata for what this MCP can expose to an agent.

46 tools
syenite.helpGet information about Syenite — real-time lending rates, yield, and position alerts for AI agents. Covers Aave, Morpho, Compound, Spark, and Pendle. Also: swap/bridge routing (30+ chains), lending execution, prediction markets, carry screening, and a trust layer for transactio...

Get information about Syenite — real-time lending rates, yield, and position alerts for AI agents. Covers Aave, Morpho, Compound, Spark, and Pendle. Also: swap/bridge routing (30+ chains), lending execution, prediction markets, carry screening, and a trust layer for transactio...

No parameter schema in public metadata yet.

lending.rates.queryReturns real-time borrow APY, supply APY, available liquidity, utilization, max LTV, liquidation threshold, and liquidation penalty for every active lending market across Aave v3, Compound V3, Fluid, Morpho Blue, and Spark on Ethereum, Arbitrum, and Base, plus Kamino and Margi...3 params

Returns real-time borrow APY, supply APY, available liquidity, utilization, max LTV, liquidation threshold, and liquidation penalty for every active lending market across Aave v3, Compound V3, Fluid, Morpho Blue, and Spark on Ethereum, Arbitrum, and Base, plus Kamino and Margi...

Parameters* required
chainstring
Chain to query. Defaults to all supported chains.one of ethereum · arbitrum · base · alldefault: all
collateralstring
Collateral asset or category: "wBTC", "tBTC", "cbBTC", "WETH", "wstETH", "rETH", "cbETH", "weETH", "BTC", "ETH", or "all"default: all
borrowAssetstring
Asset to borrow: "USDC", "USDT", "DAI", "GHO"default: USDC
lending.market.overviewReturns an aggregated overview of DeFi lending market conditions across Aave v3, Compound V3, Fluid, Morpho Blue, and Spark on Ethereum, Arbitrum, and Base. Use this for a macro view of the lending landscape before calling `lending.rates.query` for per-market detail — it surfa...2 params

Returns an aggregated overview of DeFi lending market conditions across Aave v3, Compound V3, Fluid, Morpho Blue, and Spark on Ethereum, Arbitrum, and Base. Use this for a macro view of the lending landscape before calling `lending.rates.query` for per-market detail — it surfa...

Parameters* required
chainstring
Chain to query. Defaults to all supported chains.one of ethereum · arbitrum · base · alldefault: all
collateralstring
Filter by collateral asset, or "all"default: all
lending.position.monitorReads the live health of any EVM wallet's lending positions across Aave v3, Morpho Blue, Compound V3, and Spark on Ethereum, Arbitrum, and Base — no authentication required. Call this before withdrawing collateral or after price moves to verify health factor and liquidation di...3 params

Reads the live health of any EVM wallet's lending positions across Aave v3, Morpho Blue, Compound V3, and Spark on Ethereum, Arbitrum, and Base — no authentication required. Call this before withdrawing collateral or after price moves to verify health factor and liquidation di...

Parameters* required
chainstring
Chain to query. Defaults to all supported chains.one of ethereum · arbitrum · base · alldefault: all
addressstring
EVM address to check (works on all supported chains)
protocolstring
Protocol filterone of aave-v3 · compound-v3 · morpho · spark · alldefault: all
lending.risk.assessEvaluates the risk of a proposed lending position before it is opened — fetching live rates, current asset price, and available liquidity from Aave v3, Morpho Blue, and Spark to compute position-specific risk metrics. Call this before `lending.supply` and `lending.borrow` when...5 params

Evaluates the risk of a proposed lending position before it is opened — fetching live rates, current asset price, and available liquidity from Aave v3, Morpho Blue, and Spark to compute position-specific risk metrics. Call this before `lending.supply` and `lending.borrow` when...

Parameters* required
protocolstring
Protocol preferenceone of aave-v3 · morpho · spark · bestdefault: best
targetLTVnumber
Desired LTV percentage (1-99)
collateralstring
Collateral asset: "wBTC", "tBTC", "cbBTC", "WETH", "wstETH", "rETH", "cbETH", "weETH"
borrowAssetstring
Asset to borrowdefault: USDC
collateralAmountnumber
Amount of collateral
yield.opportunitiesAggregates and ranks live DeFi yield opportunities for any asset across lending supply (Aave, Morpho Blue, Spark), liquid staking (Lido, Rocket Pool, Coinbase), savings rates (Maker DSR/sDAI), curated vaults (MetaMorpho, Yearn), fixed-yield Pendle PTs, and basis capture (Ethen...4 params

Aggregates and ranks live DeFi yield opportunities for any asset across lending supply (Aave, Morpho Blue, Spark), liquid staking (Lido, Rocket Pool, Coinbase), savings rates (Maker DSR/sDAI), curated vaults (MetaMorpho, Yearn), fixed-yield Pendle PTs, and basis capture (Ethen...

Parameters* required
tagsarray
Tag filters: ["fixed-yield"] isolates Pendle PT; ["yt","leveraged-variable"] surfaces Pendle YT (hidden by default)
assetstring
Asset to find yield for: "ETH", "USDC", "DAI", "WETH", "USDe", "stables", or "all"default: all
categorystring
Yield category filter: "lending-supply", "liquid-staking", "vault", "savings-rate", "basis-capture", or "all"default: all
riskTolerancestring
Maximum risk level to show: "low", "medium", or "high" (default, shows all)one of low · medium · highdefault: high
yield.assessProvides a structured risk assessment for a specific DeFi yield opportunity before committing capital — covering smart contract risk, oracle configuration, governance model, liquidity and exit risk, depeg/peg risk, and position sizing relative to TVL. Call this after `yield.op...4 params

Provides a structured risk assessment for a specific DeFi yield opportunity before committing capital — covering smart contract risk, oracle configuration, governance model, liquidity and exit risk, depeg/peg risk, and position sizing relative to TVL. Call this after `yield.op...

Parameters* required
assetstring
Asset context for finding alternativesdefault: all
amountnumber
Amount in USD to deposit (optional, enables position sizing analysis)
productstring
Specific product name (optional, helps match the right source)
protocolstring
Protocol to assess: "Aave", "Lido", "Morpho", "Ethena", "Yearn", "Maker", "Rocket Pool", "Coinbase"
swap.quoteFetches an optimal swap or bridge quote across 30+ EVM chains and Solana using the LI.FI aggregator (EVM) or Jupiter (Solana), comparing routes from DEXs and bridges including 1inch, 0x, Paraswap, and major cross-chain bridges to find the best price with lowest fees. Call this...9 params

Fetches an optimal swap or bridge quote across 30+ EVM chains and Solana using the LI.FI aggregator (EVM) or Jupiter (Solana), comparing routes from DEXs and bridges including 1inch, 0x, Paraswap, and major cross-chain bridges to find the best price with lowest fees. Call this...

Parameters* required
orderstring
Route preference: CHEAPEST (best price) or FASTEST (lowest execution time)one of CHEAPEST · FASTESTdefault: CHEAPEST
toChainstring
Destination chain (defaults to fromChain). Set differently for cross-chain bridges.
toTokenstring
Token to buy — symbol (e.g. "WETH", "USDT") or contract address
slippagenumber
Max slippage as decimal (0.005 = 0.5%)default: 0.005
fromChainstring
Source chain: "ethereum", "arbitrum", "optimism", "base", "polygon", "bsc", "avalanche", or chain IDdefault: ethereum
fromTokenstring
Token to sell — symbol (e.g. "USDC", "ETH") or contract address
toAddressstring
Recipient address (defaults to fromAddress)
fromAmountstring
Amount to swap in smallest unit (e.g. 1000000 for 1 USDC with 6 decimals). Use token decimals.
fromAddressstring
Sender wallet address (used for routing and approval checks)
swap.statusTracks the execution status of a cross-chain bridge transaction submitted after a swap.quote call, polling LI.FI's bridge monitoring API to report whether the transfer is PENDING, DONE, or FAILED. Call this after submitting a cross-chain transaction — same-chain swaps settle i...3 params

Tracks the execution status of a cross-chain bridge transaction submitted after a swap.quote call, polling LI.FI's bridge monitoring API to report whether the transfer is PENDING, DONE, or FAILED. Call this after submitting a cross-chain transaction — same-chain swaps settle i...

Parameters* required
txHashstring
Transaction hash of the submitted swap/bridge
toChainstring
Destination chain (for cross-chain bridges)
fromChainstring
Chain where the transaction was submitteddefault: ethereum
swap.multiFetches up to 10 swap or bridge quotes in a single batched call, executing all route lookups in parallel and returning each result alongside a total cost summary. Use this when splitting funds across multiple chains, executing multi-leg portfolio rebalancing, or comparing rout...1 params

Fetches up to 10 swap or bridge quotes in a single batched call, executing all route lookups in parallel and returning each result alongside a total cost summary. Use this when splitting funds across multiple chains, executing multi-leg portfolio rebalancing, or comparing rout...

Parameters* required
requestsarray
Array of swap/bridge requests to quote in parallel
wallet.balancesReturns native gas token and major stablecoin balances for any EVM or Solana address across supported chains, reading directly from on-chain RPC with no third-party indexer dependency. Accepts an EVM 0x-address (queries Ethereum, Arbitrum, Base, BNB Chain, and Optimism) or a S...2 params

Returns native gas token and major stablecoin balances for any EVM or Solana address across supported chains, reading directly from on-chain RPC with no third-party indexer dependency. Accepts an EVM 0x-address (queries Ethereum, Arbitrum, Base, BNB Chain, and Optimism) or a S...

Parameters* required
chainsarray
Chains to query (defaults to all: ethereum, arbitrum, base, bsc)
addressstring
EVM address to check
gas.estimateReturns current gas prices and estimated costs for common DeFi operations across EVM chains (Ethereum, Arbitrum, Base, BNB Chain) and Solana priority fees, allowing agents to confirm a wallet holds sufficient native gas and to select the cheapest chain for an operation. Covere...2 params

Returns current gas prices and estimated costs for common DeFi operations across EVM chains (Ethereum, Arbitrum, Base, BNB Chain) and Solana priority fees, allowing agents to confirm a wallet holds sufficient native gas and to select the cheapest chain for an operation. Covere...

Parameters* required
chainsarray
Chains to check (defaults to all)
operationsarray
Operation types to estimate: transfer, erc20_transfer, swap, bridge, erc20_approve, lending_supply, lending_borrow, contract_register
tx.simulateSimulates an unsigned EVM transaction against live chain state using eth_call and eth_estimateGas, returning whether the call would succeed or revert (with revert reason), estimated gas units, approximate gas cost in USD, and native token balance changes from the transaction v...2 params

Simulates an unsigned EVM transaction against live chain state using eth_call and eth_estimateGas, returning whether the call would succeed or revert (with revert reason), estimated gas units, approximate gas cost in USD, and native token balance changes from the transaction v...

Parameters* required
chainstring
Chain name or ID (defaults to tx chainId or ethereum)
transactionobject
tx.verifyCross-references a transaction target address against Etherscan (source code verification), Sourcify (independent verification), and Syenite's curated protocol registry to confirm the contract's identity and surface risk flags before signing. Use this to verify any EVM transac...3 params

Cross-references a transaction target address against Etherscan (source code verification), Sourcify (independent verification), and Syenite's curated protocol registry to confirm the contract's identity and surface risk flags before signing. Use this to verify any EVM transac...

Parameters* required
tostring
Contract address to verify
datastring
Calldata — if provided, decodes the function being called
chainstring
Chain name: ethereum, arbitrum, base, bsc
tx.guardEvaluates a proposed transaction against a caller-supplied set of risk rules before signing, returning a per-rule pass/fail/skip breakdown and an overall approved verdict. Rules are caller-defined — Syenite does not impose or modify them. Supported rules: maxValueNative (cap n...3 params

Evaluates a proposed transaction against a caller-supplied set of risk rules before signing, returning a per-rule pass/fail/skip breakdown and an overall approved verdict. Rules are caller-defined — Syenite does not impose or modify them. Supported rules: maxValueNative (cap n...

Parameters* required
chainstring
Chain name (defaults to ethereum)
rulesobject
transactionobject
strategy.carry.screenScreens all DeFi lending markets across Aave v3, Compound V3, Fluid, Morpho Blue, and Spark — plus Pendle PT fixed-rate rows — for positive carry, defined as collateral supply APY minus borrow APY. Returns strategies ranked by net carry (highest first), with leveraged carry at...5 params

Screens all DeFi lending markets across Aave v3, Compound V3, Fluid, Morpho Blue, and Spark — plus Pendle PT fixed-rate rows — for positive carry, defined as collateral supply APY minus borrow APY. Returns strategies ranked by net carry (highest first), with leveraged carry at...

Parameters* required
chainstring
Chain filterone of ethereum · arbitrum · base · alldefault: all
minCarrynumber
Minimum net carry % to include (e.g. 0 for positive-only)
collateralstring
Collateral filter: specific asset, "BTC", "ETH", or "all"default: all
borrowAssetstring
Borrow assetdefault: USDC
positionSizeUSDnumber
Position size in USD for annual return calculationdefault: 100000
prediction.trendingFetches the top trending prediction markets on Polymarket ranked by trading volume, returning market titles, current outcome probabilities (derived from CLOB token prices as 0–100% values), total volume and liquidity in USDC, and bid-ask spread per market. Use this as the star...1 params

Fetches the top trending prediction markets on Polymarket ranked by trading volume, returning market titles, current outcome probabilities (derived from CLOB token prices as 0–100% values), total volume and liquidity in USDC, and bid-ask spread per market. Use this as the star...

Parameters* required
limitnumber
Number of trending markets to return (max 25)default: 10
prediction.searchSearches Polymarket markets by topic keyword and returns matching events with current outcome probabilities, volume, liquidity, and order book metrics including best bid, ask, and spread. Use this when looking for a specific real-world event (elections, crypto price levels, sp...2 params

Searches Polymarket markets by topic keyword and returns matching events with current outcome probabilities, volume, liquidity, and order book metrics including best bid, ask, and spread. Use this when looking for a specific real-world event (elections, crypto price levels, sp...

Parameters* required
limitnumber
Maximum results to returndefault: 10
querystring
Search query (e.g. 'Bitcoin price', 'US election', 'Fed rate')
prediction.bookFetches the current CLOB order book for a specific Polymarket outcome token, returning top bid and ask levels with sizes, mid-price, spread in both decimal and basis points, and total bid/ask depth in USD. Use this to assess execution quality and market-making opportunities be...1 params

Fetches the current CLOB order book for a specific Polymarket outcome token, returning top bid and ask levels with sizes, mid-price, spread in both decimal and basis points, and total bid/ask depth in USD. Use this to assess execution quality and market-making opportunities be...

Parameters* required
tokenIdstring
Polymarket outcome token ID (from prediction.trending or prediction.search results)
prediction.signalsScans the top 25 trending Polymarket markets and returns ranked actionable signals across five categories: wide_spread (bid-ask gap above 4% — market-making opportunity), extreme_probability (outcome above 92% or below 8% — contrarian or long-shot play), high_volume (turnover...3 params

Scans the top 25 trending Polymarket markets and returns ranked actionable signals across five categories: wide_spread (bid-ask gap above 4% — market-making opportunity), extreme_probability (outcome above 92% or below 8% — contrarian or long-shot play), high_volume (turnover...

Parameters* required
limitnumber
Maximum signals to returndefault: 20
typesarray
Filter to specific signal types (defaults to all)
minStrengthnumber
Minimum signal strength (0-100) to includedefault: 0
find.strategyOrchestrates a parallel scan across yield opportunities, carry trades, lending leverage, cross-chain rate arbitrage, and prediction market signals to surface the best strategies for a given asset and risk profile. Call this as the first step when an agent has capital to deploy...5 params

Orchestrates a parallel scan across yield opportunities, carry trades, lending leverage, cross-chain rate arbitrage, and prediction market signals to surface the best strategies for a given asset and risk profile. Call this as the first step when an agent has capital to deploy...

Parameters* required
assetstring
Asset you have or want to deploy: "ETH", "WETH", "wBTC", "USDC", "USDT", etc.
chainstring
Chain preferenceone of ethereum · arbitrum · base · alldefault: all
amountnumber
Amount in USD to deploy (for return calculations)default: 10000
riskTolerancestring
Maximum risk level: low (yield only), medium (carry + arb), high (leverage + prediction)one of low · medium · highdefault: high
includePredictionboolean
Include prediction market signals in strategy searchdefault: true
lending.supplyGenerates unsigned ERC-20 approval and pool supply transaction calldata for depositing an asset into Aave v3 (Ethereum, Arbitrum, Base) or Spark (Ethereum). Call this when the agent has decided to supply collateral or earn supply APY on a lending protocol; precede it with `len...5 params

Generates unsigned ERC-20 approval and pool supply transaction calldata for depositing an asset into Aave v3 (Ethereum, Arbitrum, Base) or Spark (Ethereum). Call this when the agent has decided to supply collateral or earn supply APY on a lending protocol; precede it with `len...

Parameters* required
assetstring
Token to supply: "USDC", "WETH", "wBTC", "tBTC", "DAI", etc.
chainstring
Chain where the pool livesone of ethereum · arbitrum · basedefault: ethereum
amountstring
Amount in human-readable units (e.g. '1000' for 1000 USDC)
protocolstring
Lending protocolone of aave-v3 · sparkdefault: aave-v3
onBehalfOfstring
Address that will receive the aToken (usually your own address)
lending.borrowGenerates unsigned variable-rate borrow transaction calldata for Aave v3 (Ethereum, Arbitrum, Base) or Spark (Ethereum). Call `lending.risk.assess` before this tool to confirm the target LTV is safe and the market has sufficient liquidity. Provide `protocol`, `chain`, `asset`...5 params

Generates unsigned variable-rate borrow transaction calldata for Aave v3 (Ethereum, Arbitrum, Base) or Spark (Ethereum). Call `lending.risk.assess` before this tool to confirm the target LTV is safe and the market has sufficient liquidity. Provide `protocol`, `chain`, `asset`...

Parameters* required
assetstring
Asset to borrow: "USDC", "USDT", "DAI", "GHO"
chainstring
Chainone of ethereum · arbitrum · basedefault: ethereum
amountstring
Borrow amount in human-readable units
protocolstring
Lending protocolone of aave-v3 · sparkdefault: aave-v3
onBehalfOfstring
Address with collateral deposited
lending.withdrawGenerates unsigned withdraw transaction calldata to reclaim a supplied asset from Aave v3 (Ethereum, Arbitrum, Base) or Spark (Ethereum). Call `lending.position.monitor` first to confirm the withdrawal will not push an outstanding borrow position toward liquidation. Provide `p...5 params

Generates unsigned withdraw transaction calldata to reclaim a supplied asset from Aave v3 (Ethereum, Arbitrum, Base) or Spark (Ethereum). Call `lending.position.monitor` first to confirm the withdrawal will not push an outstanding borrow position toward liquidation. Provide `p...

Parameters* required
tostring
Recipient address for withdrawn tokens
assetstring
Asset to withdraw
chainstring
Chainone of ethereum · arbitrum · basedefault: ethereum
amountstring
Amount in human-readable units, or "max" to withdraw all
protocolstring
Lending protocolone of aave-v3 · sparkdefault: aave-v3
lending.repayGenerates unsigned ERC-20 approval and variable-rate repay transaction calldata for Aave v3 (Ethereum, Arbitrum, Base) or Spark (Ethereum). Use this to reduce or eliminate an outstanding borrow; pass amount "max" (uint256 max) to repay the entire debt balance, or a specific hu...5 params

Generates unsigned ERC-20 approval and variable-rate repay transaction calldata for Aave v3 (Ethereum, Arbitrum, Base) or Spark (Ethereum). Use this to reduce or eliminate an outstanding borrow; pass amount "max" (uint256 max) to repay the entire debt balance, or a specific hu...

Parameters* required
assetstring
Asset to repay
chainstring
Chainone of ethereum · arbitrum · basedefault: ethereum
amountstring
Repay amount in human-readable units, or "max" for full repayment
protocolstring
Lending protocolone of aave-v3 · sparkdefault: aave-v3
onBehalfOfstring
Address whose debt to repay
tx.receiptFetches and decodes an on-chain transaction receipt from any supported EVM chain, returning confirmation status (confirmed or reverted), gas used and effective gas price, cost in both native token and USD, block number, all contracts interacted with, decoded event logs (Transf...2 params

Fetches and decodes an on-chain transaction receipt from any supported EVM chain, returning confirmation status (confirmed or reverted), gas used and effective gas price, cost in both native token and USD, block number, all contracts interacted with, decoded event logs (Transf...

Parameters* required
chainstring
Chain: ethereum, arbitrum, base, bsc (or chain ID)default: ethereum
txHashstring
Transaction hash to look up
token.priceReturns the current USD price for one or more tokens by reading Chainlink on-chain price feed contracts directly — the same oracles that Aave, Morpho, Spark, and Compound use to trigger liquidations. Use this for portfolio valuation, P&L calculation, health-factor estimation,...2 params

Returns the current USD price for one or more tokens by reading Chainlink on-chain price feed contracts directly — the same oracles that Aave, Morpho, Spark, and Compound use to trigger liquidations. Use this for portfolio valuation, P&L calculation, health-factor estimation,...

Parameters* required
symbolstring
Token symbol (e.g. wBTC, WETH, USDC). Ignored when symbols is provided.default: WETH
symbolsarray
Batch: array of token symbols to price in one call (up to 20)
alerts.watchRegisters a persistent background monitor that fires alerts when user-defined thresholds are crossed, persisting across server restarts. Supports four watch types: lending (monitors a wallet's health factor on Aave, Morpho, Spark, or Compound — fires when health factor drops b...23 params

Registers a persistent background monitor that fires alerts when user-defined thresholds are crossed, persisting across server restarts. Supports four watch types: lending (monitors a wallet's health factor on Aave, Morpho, Spark, or Compound — fires when health factor drops b...

Parameters* required
typestring
Watch type: lending (health factor), rate (APY/utilization), carry (net spread), yield (best APY)one of lending · rate · carry · yielddefault: lending
chainstring
Chain filter (lending)one of ethereum · arbitrum · base · all
addressstring
EVM address to monitor (lending watches)
protocolstring
Protocol filter (lending)one of aave-v3 · compound-v3 · morpho · spark · all
rateChainstring
Chain filter (rate)
yieldRiskstring
Max risk level (yield)one of low · medium · high
webhookUrlstring
HTTP(S) URL to POST alerts to in real-time
yieldAssetstring
Asset to watch, e.g. ETH, USDC, stables (yield)
yieldChainsarray
Chains to include (yield)
rateProtocolstring
Protocol filter (rate)one of aave-v3 · morpho · spark · compound-v3 · fluid · all
rateDirectionstring
APY threshold direction (rate, default above)one of above · below
carryThresholdnumber
Minimum net spread % to fire carry_opportunity (carry)
rateCollateralstring
Collateral asset, e.g. wBTC (rate)
yieldDirectionstring
APY threshold direction (yield, default above)one of above · below
carryCollateralstring
Collateral you post to borrow, e.g. wBTC (carry)
rateBorrowAssetstring
Borrow asset, e.g. USDC (rate, default USDC)
carryBorrowAssetstring
Asset you borrow, e.g. USDC (carry)
carrySupplyAssetstring
Asset you supply — defaults to carryBorrowAsset (carry)
yieldApyThresholdnumber
APY % threshold (yield)
rateBorrowThresholdnumber
Borrow APY % threshold (rate)
rateSupplyThresholdnumber
Supply APY % threshold (rate)
healthFactorThresholdnumber
Alert threshold (lending, default 1.5)
rateUtilizationThresholdnumber
Utilization % threshold — fires rate_utilization; critical at ≥95% (rate)
alerts.checkTriggers an immediate evaluation of all registered watches and returns any unacknowledged alerts grouped by severity (critical or warning). Call this to poll for fired conditions without waiting for a webhook — it is safe to call repeatedly and will re-evaluate all watches on...2 params

Triggers an immediate evaluation of all registered watches and returns any unacknowledged alerts grouped by severity (critical or warning). Call this to poll for fired conditions without waiting for a webhook — it is safe to call repeatedly and will re-evaluate all watches on...

Parameters* required
watchIdstring
Filter alerts for a specific watch ID
acknowledgeboolean
Mark returned alerts as acknowledgeddefault: false
alerts.listReturns all currently registered watches with their full configuration, type (lending, rate, carry, yield, prediction), threshold parameters, and last check timestamp. Use this to audit active monitors before creating new ones or to retrieve watch IDs needed for alerts.remove....

Returns all currently registered watches with their full configuration, type (lending, rate, carry, yield, prediction), threshold parameters, and last check timestamp. Use this to audit active monitors before creating new ones or to retrieve watch IDs needed for alerts.remove....

No parameter schema in public metadata yet.

rates.watchMonitor DeFi lending rates and carry opportunities without polling. Three modes: • rate — fires rate_spike when borrowAPY or supplyAPY crosses a threshold; fires rate_utilization when utilization exceeds rateUtilizationThreshold (critical at ≥95%). Each protocol/chain/market t...14 params

Monitor DeFi lending rates and carry opportunities without polling. Three modes: • rate — fires rate_spike when borrowAPY or supplyAPY crosses a threshold; fires rate_utilization when utilization exceeds rateUtilizationThreshold (critical at ≥95%). Each protocol/chain/market t...

Parameters* required
modestring
rate: APY/utilization threshold; carry: net spread between best supply and cheapest borrowone of rate · carry
rateChainstring
Limit to a specific chain (rate mode, default all)
webhookUrlstring
HTTP(S) URL to POST alerts to in real-time
rateProtocolstring
Limit to a specific protocol (rate mode, default all)one of aave-v3 · morpho · spark · compound-v3 · fluid · all
rateDirectionstring
Direction for APY threshold (default above)one of above · below
carryThresholdnumber
Minimum net spread % to fire carry_opportunity alert (carry mode)
rateCollateralstring
Collateral asset, e.g. wBTC, ETH (rate mode)
carryCollateralstring
Collateral you post to borrow, e.g. wBTC (carry mode)
rateBorrowAssetstring
Borrow asset, e.g. USDC, USDT (rate mode, default USDC)
carryBorrowAssetstring
Asset you borrow, e.g. USDC (carry mode)
carrySupplyAssetstring
Asset you supply/lend — defaults to carryBorrowAsset (carry mode)
rateBorrowThresholdnumber
Borrow APY % to fire at (rate mode)
rateSupplyThresholdnumber
Supply APY % to fire at (rate mode)
rateUtilizationThresholdnumber
Utilization % to fire rate_utilization alert at (rate mode). Critical severity at ≥95%.
alerts.removeRemoves a registered watch by its ID, stopping all monitoring and alert generation for that watch immediately and permanently. Requires the watchId returned when the watch was created (or retrieved via alerts.list). Returns success: true if the watch was found and removed, or...1 params

Removes a registered watch by its ID, stopping all monitoring and alert generation for that watch immediately and permanently. Requires the watchId returned when the watch was created (or retrieved via alerts.list). Returns success: true if the watch was found and removed, or...

Parameters* required
watchIdstring
ID of the watch to remove
metamorpho.supplyBuilds unsigned ERC-20 approval and ERC-4626 deposit transaction calldata for supplying assets into a MetaMorpho curated vault on Ethereum, Base, Arbitrum, or Optimism. Call this after selecting a vault from `yield.opportunities` (category "vault") or `yield.assess`; use `vaul...3 params

Builds unsigned ERC-20 approval and ERC-4626 deposit transaction calldata for supplying assets into a MetaMorpho curated vault on Ethereum, Base, Arbitrum, or Optimism. Call this after selecting a vault from `yield.opportunities` (category "vault") or `yield.assess`; use `vaul...

Parameters* required
vaultstring
Target MetaMorpho vault — address (0x...) or name fragment (e.g. "Steakhouse USDC")
amountstring
Amount to deposit in human units (e.g. '1000' for 1000 USDC)
receiverstring
Address that receives the vault shares
metamorpho.withdrawBuilds an unsigned ERC-4626 redeem transaction calldata to withdraw assets from a MetaMorpho vault on Ethereum, Base, Arbitrum, or Optimism. Call this when an agent needs to exit a MetaMorpho vault position; no approval transaction is required for redemption. Provide `vault` i...4 params

Builds an unsigned ERC-4626 redeem transaction calldata to withdraw assets from a MetaMorpho vault on Ethereum, Base, Arbitrum, or Optimism. Call this when an agent needs to exit a MetaMorpho vault position; no approval transaction is required for redemption. Provide `vault` i...

Parameters* required
ownerstring
Owner of the shares (must have authorized the caller if different)
vaultstring
MetaMorpho vault — address or name fragment
sharesstring
Share amount in human units, or 'max' to redeem all
receiverstring
Address that receives the withdrawn underlying
prediction.marketProvides a comprehensive deep-dive on a single Polymarket market, returning the question, outcomes with current token prices and probability percentages, price history statistics for the last 24h/7d/30d (open, close, min, max, change), total and 24h volume, liquidity depth, bi...3 params

Provides a comprehensive deep-dive on a single Polymarket market, returning the question, outcomes with current token prices and probability percentages, price history statistics for the last 24h/7d/30d (open, close, min, max, change), total and 24h volume, liquidity depth, bi...

Parameters* required
slugstring
Polymarket market slug
marketIdstring
Polymarket market ID
conditionIdstring
Polymarket condition ID (0x-prefixed)
prediction.watchRegisters a persistent background monitor for a specific Polymarket market that fires alerts when user-defined conditions are met. Supported conditions (at least one required): oddsThresholdPct (fire when implied probability crosses a target level), oddsMovePct (fire when prob...4 params

Registers a persistent background monitor for a specific Polymarket market that fires alerts when user-defined conditions are met. Supported conditions (at least one required): oddsThresholdPct (fire when implied probability crosses a target level), oddsMovePct (fire when prob...

Parameters* required
slugstring
Polymarket market slug
conditionsobject
At least one condition required
webhookUrlstring
Optional HTTPS webhook for alert delivery
conditionIdstring
Polymarket condition ID
prediction.positionReturns all open and recently resolved Polymarket positions for a given Polygon EOA address, including size in outcome shares, average entry price, current market price, realized and unrealized P&L in USDC, percentage P&L, and hours remaining until resolution for each market....1 params

Returns all open and recently resolved Polymarket positions for a given Polygon EOA address, including size in outcome shares, average entry price, current market price, realized and unrealized P&L in USDC, percentage P&L, and hours remaining until resolution for each market....

Parameters* required
addressstring
Polygon EOA address holding Polymarket positions
prediction.quoteSimulates a Polymarket CLOB order fill by walking the live order book, computing average fill price, total cost in USDC, slippage from mid-price in percentage and basis points, and available book depth for a given size. Call this before prediction.order to validate that the bo...6 params

Simulates a Polymarket CLOB order fill by walking the live order book, computing average fill price, total cost in USDC, slippage from mid-price in percentage and basis points, and available book depth for a given size. Call this before prediction.order to validate that the bo...

Parameters* required
sidestring
Direction: buy to open a position, sell to closeone of buy · sell
sizenumber
Order size in shares
outcomestring
Informational — used for display onlyone of YES · NO
tokenIdstring
Polymarket outcome token ID
orderTypestring
Order type: market fills immediately, limit rests in the bookone of market · limitdefault: market
limitPricenumber
Required for limit orders (USDC per share)
prediction.orderConstructs a Polymarket CLOB limit order payload ready for EIP-712 off-chain signing and submission to the Polymarket REST API. Polymarket uses off-chain order signing with on-chain settlement — this tool returns the EIP-712 typed-data (domain, types, message) that the agent m...7 params

Constructs a Polymarket CLOB limit order payload ready for EIP-712 off-chain signing and submission to the Polymarket REST API. Polymarket uses off-chain order signing with on-chain settlement — this tool returns the EIP-712 typed-data (domain, types, message) that the agent m...

Parameters* required
sidestring
Direction: buy to open, sell to closeone of buy · sell
sizenumber
Shares
makerstring
Polygon EOA that will sign the EIP-712 order
pricenumber
Limit price in USDC per share (0-1)
outcomestring
Outcome token side (YES or NO)one of YES · NO
tokenIdstring
Polymarket outcome token ID
expirationnumber
Unix seconds (0 = GTC, default)
kalshi.trendingFetches the top open events on Kalshi ranked by recency, returning event titles, tickers, market questions, current YES/NO prices in cents, implied probability, volume in contracts, and liquidity. Kalshi is a US-regulated prediction market exchange — markets settle to $1 (YES)...1 params

Fetches the top open events on Kalshi ranked by recency, returning event titles, tickers, market questions, current YES/NO prices in cents, implied probability, volume in contracts, and liquidity. Kalshi is a US-regulated prediction market exchange — markets settle to $1 (YES)...

Parameters* required
limitinteger
Number of events to return (default 25, max 50)
kalshi.searchSearches open Kalshi events and markets by keyword, filtering against event titles, tickers, series names, and market subtitles. Use this when looking for a specific topic (elections, crypto price levels, economic data, sports). Requires query (search term); optionally pass li...2 params

Searches open Kalshi events and markets by keyword, filtering against event titles, tickers, series names, and market subtitles. Use this when looking for a specific topic (elections, crypto price levels, economic data, sports). Requires query (search term); optionally pass li...

Parameters* required
limitinteger
Max results (default 25, max 50)
querystring
Search term (topic, ticker, or keyword)
kalshi.bookFetches the current order book for a specific Kalshi market by ticker, returning YES and NO bid levels with sizes in contracts, mid-price, spread in cents and basis points, and total depth on each side. Use this to assess execution quality before sizing a position — wide sprea...1 params

Fetches the current order book for a specific Kalshi market by ticker, returning YES and NO bid levels with sizes in contracts, mid-price, spread in cents and basis points, and total depth on each side. Use this to assess execution quality before sizing a position — wide sprea...

Parameters* required
tickerstring
Market ticker (e.g. "KXBTC-25DEC31-T100000")
kalshi.marketProvides a comprehensive deep-dive on a single Kalshi market by ticker, returning the question, current YES/NO prices in cents, implied probability, 24h and 7d price history stats (open, close, min, max, change), volume in contracts with approximate USD value, liquidity, order...1 params

Provides a comprehensive deep-dive on a single Kalshi market by ticker, returning the question, current YES/NO prices in cents, implied probability, 24h and 7d price history stats (open, close, min, max, change), volume in contracts with approximate USD value, liquidity, order...

Parameters* required
tickerstring
Market ticker (e.g. "KXBTC-25DEC31-T100000")
kalshi.signalsScans open Kalshi events and returns ranked actionable signals across five categories: wide_spread (bid-ask gap above 4¢ with meaningful liquidity — market-making opportunity), extreme_probability (YES ask above 92¢ or below 8¢ with volume — contrarian or long-shot play), high...3 params

Scans open Kalshi events and returns ranked actionable signals across five categories: wide_spread (bid-ask gap above 4¢ with meaningful liquidity — market-making opportunity), extreme_probability (YES ask above 92¢ or below 8¢ with volume — contrarian or long-shot play), high...

Parameters* required
limitinteger
Max signals to return (default 20, max 50)
typesarray
Filter by signal type: wide_spread, extreme_probability, high_volume, near_resolution, mispriced
minStrengthnumber
Minimum signal strength to include (0–100, default 0)
prediction.compareSearches both Polymarket and Kalshi for the same underlying question and returns a side-by-side comparison of implied probabilities, volume, liquidity, and spread. Use this to see where a question is listed on each exchange, whether prices agree, and which venue has better liq...2 params

Searches both Polymarket and Kalshi for the same underlying question and returns a side-by-side comparison of implied probabilities, volume, liquidity, and spread. Use this to see where a question is listed on each exchange, whether prices agree, and which venue has better liq...

Parameters* required
querystring
Topic to search on both Polymarket and Kalshi (e.g. 'Trump tariffs', 'Bitcoin 100k', 'Fed rate cut')
minOverlapPctnumber
Minimum keyword overlap to count as a match (0–100, default 20). Lower = more speculative matches.
prediction.arbitrageScans trending markets on both Polymarket and Kalshi simultaneously, matches markets covering the same underlying question, and surfaces pairs where implied probabilities diverge by more than a threshold. A divergence of 5pp or more suggests one exchange is mispriced or laggin...2 params

Scans trending markets on both Polymarket and Kalshi simultaneously, matches markets covering the same underlying question, and surfaces pairs where implied probabilities diverge by more than a threshold. A divergence of 5pp or more suggests one exchange is mispriced or laggin...

Parameters* required
limitinteger
Max opportunities to return (default 20, max 50)
minDivergencePpnumber
Minimum probability divergence in percentage points to surface (default 3)

Syenite — DeFi MCP Server for AI Agents

The complete DeFi interface for AI agents via the Model Context Protocol (MCP). One endpoint covers lending rates across Aave, Morpho, Compound, and Spark; yield discovery; swap and bridge routing across 30+ chains; Polymarket prediction markets; position alerts; and a trust layer that verifies and simulates calldata before signing.

Live at syenite.ai · Docs at syenite.ai/docs


What It Does

Syenite is an MCP server that gives AI agents composable access to DeFi. Agents can query borrow and supply rates across every major lending protocol, find yield opportunities from lending and staking to Pendle fixed-rate markets, route swaps and bridges via LI.FI aggregation, read Polymarket prediction markets and signals, and set webhook alerts for health factor changes. All execution tools return unsigned calldata — the agent passes it to a connected wallet; Syenite never holds keys.


Quick Start

Add to your MCP client config (Claude Desktop, Cursor, or any MCP-compatible agent):

{
  "mcpServers": {
    "syenite": {
      "url": "https://syenite.ai/mcp"
    }
  }
}

Or run locally via stdio:

{
  "mcpServers": {
    "syenite": {
      "command": "npx",
      "args": ["-y", "@syenite/mcp"]
    }
  }
}

No API key required. Rate limited to 30 requests/minute per IP.

Call syenite.help on the live endpoint for the full tool catalogue.


Tools

Lending Rates

ToolWhat it doesProtocols / chains
lending.rates.queryBorrow and supply rates for any assetAave v3, Morpho Blue, Spark, Compound v3, Fluid — Ethereum, Arbitrum, Base
lending.market.overviewAggregate TVL, utilisation, rate ranges per protocolSame protocols
lending.position.monitorHealth factor, liquidation distance, and cost for any addressAave v3, Morpho Blue, Spark
lending.risk.assessRisk assessment for a proposed lending positionSame protocols
strategy.carry.screenScreen all markets for positive carry (supply APY > borrow APY)All lending protocols

Lending Execution

ToolWhat it doesProtocols / chains
lending.supplyUnsigned calldata to supply collateralAave v3, Morpho Blue, Spark, Compound v3
lending.borrowUnsigned calldata to borrow an assetSame protocols
lending.withdrawUnsigned calldata to withdraw supplied collateralSame protocols
lending.repayUnsigned calldata to repay a borrowSame protocols

Yield

ToolWhat it doesProtocols / chains
yield.opportunitiesBest yield across lending, staking, vaults, Pendle, and savings rateAave, Morpho, Spark, Lido, Rocket Pool, Pendle, Yearn, Ethena, Maker DSR
yield.assessDeep risk assessment for a specific yield strategyAll sources
find.strategyComposable scan: yield, carry, gas, optional prediction signalsCross-protocol

Carry Trade

ToolWhat it doesProtocols / chains
strategy.carry.screenFind assets where supply APY exceeds borrow APY across all marketsAave v3, Morpho, Compound, Spark

Swap & Bridge

ToolWhat it doesProtocols / chains
swap.quoteOptimal swap or bridge quote with unsigned tx calldataLI.FI aggregation — 30+ chains
swap.multiBatch up to 10 swap/bridge quotes in parallelSame
swap.statusTrack cross-chain bridge deliverySame

Prediction Markets

ToolWhat it doesProtocols / chains
prediction.trendingTop Polymarket events by volume — probabilities, liquidity, spreadPolymarket
prediction.searchSearch prediction markets by topicPolymarket
prediction.bookOrder book depth and spread for an outcome tokenPolymarket
prediction.signalsActionable signals: extreme probabilities, volume, mispricing-style flagsPolymarket

Position Alerts

ToolWhat it doesProtocols / chains
alerts.watchRegister an address for health factor monitoring; optional webhookUrl for pushAave v3, Morpho Blue, Spark
alerts.checkPoll for active alerts on watched addressesSame
alerts.listList all active watches—
alerts.removeRemove a watch—

Wallet & Gas

ToolWhat it doesProtocols / chains
wallet.balancesNative and stablecoin balancesEthereum, Arbitrum, Base, BNB Chain
gas.estimateLive gas prices and per-operation cost estimates; finds the cheapest chainSame

Trust Layer

ToolWhat it doesProtocols / chains
tx.verifyVerify a contract via Etherscan, Sourcify, and Syenite protocol registry; surfaces risk flagsAny EVM chain
tx.simulateeth_call simulation: revert detection, gas estimate, native value effectsEthereum, Arbitrum, Base
tx.guardApply your own rules: value caps, allowlists, blocklists, registry requirement—
tx.receiptPost-signing confirmation: status, gas cost, decoded events, token transfersAny EVM chain

Supported Protocols

ProtocolCategoryWhat Syenite provides
Aave v3LendingSupply/borrow rates, position monitoring, execution calldata
Morpho BlueLendingSupply/borrow rates, market overview, execution calldata
Compound v3LendingSupply/borrow rates, execution calldata
SparkLendingSupply/borrow rates, position monitoring, execution calldata
PendleYieldFixed-rate and yield-tokenisation opportunities via yield.opportunities
LI.FISwap/bridgeAggregated routing across DEXs and bridges on 30+ chains
PolymarketPrediction marketsMarket data, order books, trending events, actionable signals

Supported Chains

Swap and bridge (via LI.FI): Ethereum, Arbitrum, Base, Optimism, Polygon, BNB Chain, Avalanche, zkSync, Linea, Scroll, Gnosis, Fantom, and 20+ more.

Lending rates, execution, and position monitoring: Ethereum, Arbitrum, Base (per protocol availability).

Wallet, gas, and trust simulation: Ethereum, Arbitrum, Base, BNB Chain.


How Execution Works

All execution tools (lending.supply, lending.borrow, lending.withdraw, lending.repay, swap.quote) return unsigned transactionRequest objects — calldata ready to sign. The recommended flow:

  1. Get the calldata from the relevant tool.
  2. Run tx.verify and tx.simulate to check the contract and preview effects.
  3. Optionally run tx.guard to enforce value caps or allowlists.
  4. Sign and submit from your own wallet.
  5. Confirm with tx.receipt.

Syenite never holds private keys or custody of funds.


Agent Integration

Syenite is designed for agent-native DeFi workflows. Every tool is an atomic primitive: agents compose them to achieve outcomes like "find the best lending rate for wBTC, supply collateral, and set a health factor alert."

Syenite is a registered on-chain agent via ERC-8004 on Ethereum, Arbitrum, Base, and BNB Chain, and supports x402 machine-to-machine payments.

The server.json manifest includes a systemPrompt field that MCP clients can inject to orient the agent on Syenite's capabilities automatically.

Call syenite.help for the full capability overview including all tool parameters.


Yield Sources

SourceType
Aave v3, Morpho Blue, Spark, Compound v3Lending supply APY
Lido (stETH/wstETH), Rocket Pool (rETH), Coinbase (cbETH)Liquid staking
Maker DSR (sDAI)Savings rate
MetaMorpho (Steakhouse, Gauntlet), Yearn v3Vaults
PendleFixed-rate / yield tokenisation
Ethena (sUSDe)Basis capture

Project Structure

syenite/
├── mcp/          # MCP DeFi server (live at syenite.ai/mcp)
├── docs/         # Architecture, planning, research, commercial
├── contracts/    # Solidity vault contracts (parallel build)
├── keeper/       # Keeper agent infrastructure
└── frontend/     # Minimal UI

Status

MCP server is live at syenite.ai/mcp. Swap/bridge across 30+ chains, multi-protocol lending rates and execution, yield discovery, Polymarket prediction markets, carry screening, position alerts, wallet/gas tools, and the tx trust layer are all in production.

npm: @syenite/mcp · Source: github.com/syenite-ai/syenite · Docs: syenite.ai/docs

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Categories
Finance & Commerce
Registryactive
Package@syenite/mcp
TransportSTDIO, HTTP
UpdatedMar 18, 2026
View on GitHub

Related Finance & Commerce MCP Servers

View all →
Shopify Subscription Reconciliation MCP (Recharge Edition)

io.github.shelvick/shopify-subscription-reconciliation

Reconcile Shopify orders against Recharge subscription charges and Stripe payouts.
Google Ads

zleventer/google-ads-mcp

MCP server for Google Ads — 22 tools for spend diagnosis, impression share, and asset performance.
1
Meok Stripe Acp Checkout Mcp

csoai-org/meok-stripe-acp-checkout-mcp

MEOK Stripe ACP Checkout MCP — ChatGPT shopping bridge. Issues + verifies + signs Stripe Agentic
Google Ads

io.github.mharnett/google-ads

Google Ads MCP with MCC support: 35 tools for campaigns, keywords, reporting, GAQL.
Stripe Billing Mcp

csoai-org/stripe-billing-mcp

stripe-billing-mcp MCP server by MEOK AI Labs
Google Ads Mcp

co.pipeboard/google-ads-mcp

Google Ads automation with AI: analyze performance, manage campaigns, optimize bids.