Index / MCP servers / Crank Protocol

Crank Protocol MCP server

Crank Protocol is a remote MCP server that gives an AI agent 188 tools, among them approve_proposal, asset_classification, authorize_session_signer. It answers at https://mcp.crank.ing/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 6 times since 10 September 2026; the last check, on 19 October 2026, succeeded.

Status
Answering
Tools
188
Official
yes, served from crank.ing
Reliability
6 of 6 checks
Response time
396 ms
Transport
streamable HTTP
Last checked
19 October 2026

Non-custodial DeFi tools for AI agents on Solana: swaps, perps, lending, staking, equities.

Description as the publisher wrote it.

The 188 tools Crank Protocol offers

ToolWhat it does
approve_proposalApprove a pending PROPOSAL within its TTL, then re-dispatch it (non-custodial control plane). Flips a propose-mode proposal (see set_permission_mode) from pending to approved, then immediately re-invokes the original deferred tool call (sto
Inputs: proposal_id, approved_by, caller_id
asset_classificationClassify a token: crypto / equity / wrapped_major / lst / stablecoin. Provide token_address (mint) or a known symbol. Tokenized securities (xStocks, Ondo) classify as 'equity', which subjects strategies to the SEC framework guardrails (neut
Inputs: token_address, symbol, caller_id
authorize_session_signerRefuses ALWAYS with BROWSER_CONFIRMATION_REQUIRED. Minting (or reactivating) a session signer grants NEW signing authority -- a trust grant at least as sensitive as loosening a policy, which is already browser-gated. This tool therefore ref
Inputs: wallet_address, signer_pubkey, label, capabilities, expires_at, caller_id
backtest_strategyBacktest a strategy on historical Solana OHLCV before deploying capital. strategy_type is one of the 17 Crank strategy types (dca, momentum, rebalance, stoploss, protect, snipe, sentiment, vault, yield_farm, hedge, equity_dca, perp_grid, co
Inputs: strategy_type, asset, timeframe, start_date, end_date, params
bridge_inFund your Solana wallet from a major EVM chain (non-custodial). Cross-chain FUNDING rail (deBridge DLN): builds an UNSIGNED EVM transaction creating a bridge order that pays ``dst_token`` (a Solana mint, e.g. USDC) to ``wallet_address``. Si
Inputs: src_chain, src_token, amount, dst_token, wallet_address, evm_sender
bridge_outBridge value from Solana out to a major EVM chain (non-custodial). Cross-chain FUNDING rail (deBridge DLN), jupiter_swap two-phase pattern: without ``signed_transaction`` returns an UNSIGNED base64 Solana transaction creating the bridge ord
Inputs: dst_chain, dst_token, src_token, amount, wallet_address, evm_recipient
bulk_send_socialDistribute one token to many X handles in one call (non-custodial). ``recipients`` is a list of ``{recipient_handle, amount, message?}`` dicts (``recipient`` accepted as an alias; ``amount`` in base units; ``message`` an optional per-recipi
Inputs: recipients, token, sender_wallet, platform, referral, caller_id
cancel_perp_orderCancel a resting perp order on its venue (non-custodial). ``jurisdiction``: cancel is geo-gated too -- see place_perp_order. ``idempotency_key`` (optional): a client-generated UUID. Retrying with the same key + same args replays the origina
Inputs: wallet_address, order_id, venue, acknowledge_tier_b, signed_transaction, verify
check_claim_statusSender-facing claim status of a social send (FREE read). Look up by ``claim_id`` (the send id) OR ``recipient`` (X handle); optionally scope a recipient lookup to one ``sender_wallet``. Returns ``{"sends": [...]}`` each with status (pending
Inputs: claim_id, recipient, sender_wallet, caller_id
claim_ilo_tokensClaim the launch tokens your liquidity release schedule has unlocked. Returns an UNSIGNED ``release_tokens`` transaction (``action: "sign_required"``) you sign with your own wallet and broadcast yourself. Crank NEVER co-signs a claim -- the
Inputs: launch_id, wallet_address, pledger_token_account, caller_id, idempotency_key
claim_statusPublic status of a crank.ing claim code (status, amount, claimable, expiry).
Inputs: code, caller_id
clear_agnta_grantRemove a wallet's AGNTA DelegationGrant cap opt-in (non-custodial control plane). LOOSENS enforcement (removes a cap constraining every value-bearing call on top of WalletPolicy) -- for a Lane 2 wallet this raises BROWSER_CONFIRMATION_REQUI
Inputs: wallet_address, caller_id
clone_strategyClone a published strategy config to a wallet (records attribution). Returns the config_template to deploy via the strategy create tools. The clone is attributed to the template author for the clone-creator fee share (15% of the tech fee on
Inputs: template_id, wallet_address, caller_id
close_perp_positionClose a perp position (full/partial) on its venue (non-custodial). position_id is venue-native (for Drift it is the market symbol). close_pct in (0, 100]. Returns an UNSIGNED tx / signing payload to sign + broadcast. ``jurisdiction``: close
Inputs: wallet_address, position_id, close_pct, venue, acknowledge_tier_b, signed_transaction
compose_strategyValidate a composite definition -- returns the normalised definition + validation report. No persist; read = FREE per the fee schedule. Checks: schema, stream existence against the signal catalog, rule-tree depth/size limits, required risk
Inputs: definition
create_agent_walletRegister an agent wallet the caller controls (non-custodial control plane). Creates an AgentWallet record keyed by agent_id and applies an optional default policy preset. default_policies: conservative | balanced | aggressive. wallet_addres
Inputs: agent_id, display_name, default_policies, wallet_address, owner_address, caller_id
create_execution_intentCreate a propose-only execution intent; returns an approval URL to hand to the user. Lane 1 (non-custodial default): builds the unsigned swap transaction server-side, persists it as an intent, and returns {intent_id, approval_url}. NOTHING
Inputs: input_token, output_token, amount, wallet_address, slippage_bps, allow_unverified
declare_jurisdictionDeclare your wallet's jurisdiction for geo-gated trading. Gap: before this tool, the ONLY way to declare a jurisdiction was the ``jurisdiction=`` param on ``trade_equity`` -- an agent that only ever used perps/short/leverage tools had no wr
Inputs: wallet_address, jurisdiction, ip, caller_id
delete_webhookDelete one of a wallet's webhook subscriptions (free control-plane write).
Inputs: wallet_address, webhook_id, caller_id
detect_regimeDetect the current market regime for a Solana asset (read-only, deterministic). Classifies the latest candle of recent OHLCV as bull / bear / range / volatile and returns a RegimeSignal: regime, confidence, trend_strength, volatility_percen
Inputs: asset, timeframe, lookback_candles, caller_id
discover_agentsFind registered agents, optionally filtered to one capability. capability one of swap|perps|lending|staking|strategies|signals|equity|onramp (empty = all). Ranked by reputation then recency. Read-only, free.
Inputs: capability, limit, caller_id
discover_strategiesBrowse published strategies (read-only, free). Crypto-only. strategy_type filters to one of the 16 Crank strategy types (empty = all). sort ranks by clones|sharpe|return|sortino|win_rate|drawdown (default clones). detail="concise" (default)
Inputs: strategy_type, limit, sort, detail, caller_id
enable_agent_walletOpen the browser-confirmation handshake for a Lane 2 agent wallet. Does NOT create a wallet. Returns a pairing-style confirmation URL + device_code -- show the user verification_url_complete and ask them to approve it in their OWN browser (
Inputs: agent_id, display_name, caller_id
equity_corporate_eventsEarnings / dividend / split calendar for a tokenized equity. Read-only. The after-hours-agent feature: events an overnight strategy reacts to while the underlying trades 24/7 on Solana. Provider-backed; returns an honest empty payload + SEC
Inputs: symbol, caller_id
equity_market_hoursNYSE session status + the 24/7-on-Solana availability flag. Read-only. status: closed | pre_market | open | after_hours, with next open/close. Highlights the structural advantage: tokenized equities trade 24/7 on-chain regardless of NYSE ho
Inputs: symbol, caller_id
equity_marketsList available tokenized equities with issuer, regime, price, market hours. Read-only. Source: the admin-editable TokenRegistry. Each row carries issuer (xStocks/Ondo), regulatory_framework, geo_restrictions, and best-effort price/volume/ma
Inputs: caller_id
equity_positionsTokenized-equity holdings for a wallet with live prices + market hours. Read-only. Filters balances to registered equity mints; each: symbol, quantity, current_price, current_value_usd, issuer, regulatory_framework (avg_cost / unrealized P&
Inputs: wallet_address, caller_id
equity_quoteRead-only Jupiter quote for a tokenized-equity trade (no execution). amount is in base units of the INPUT token (USDC for buy, the equity for sell). Returns expected output, price impact, effective fee, slippage, and the SEC disclaimer. ``v
Inputs: symbol, amount, side, slippage_bps, venue_hint, caller_id
evm_balancesNative (ETH) and ERC-20 balances for an address on an EVM chain. chain defaults to "base". ERC-20 balances are returned only for the contracts named in token_addresses -- an EVM RPC endpoint cannot enumerate a wallet's tokens, and guessing
Inputs: address, chain, token_addresses, caller_id
evm_swapExecute a spot swap on an EVM chain (non-custodial, two-phase, OPT-IN). chain must be named explicitly -- nothing routes to an EVM chain by default and a Solana route never fails over onto one. Base only today. Without signed_transaction: r
Inputs: sell_token, buy_token, sell_amount, taker, chain, slippage_bps
evm_swap_quoteINDICATIVE swap quote on an EVM chain (pricing and routing only). sell_amount is in the sell token's base units. Returns no transaction and no calldata -- this quote is not executable and cannot be signed. Free (no technology service fee) -
Inputs: sell_token, buy_token, sell_amount, chain, taker, caller_id
evm_token_priceIndicative price of an ERC-20 token on an EVM chain, quoted via 0x. Priced off routed liquidity (what one whole token sells for against quote_token, USDC by default), not an oracle. Free (no technology service fee) -- a read with no transac
Inputs: token_address, chain, quote_token, amount, caller_id
flash_loanMarginfi flash loan for arbitrage (non-custodial, atomic). instructions are JSON ix executed between borrow + repay legs. Returns a single UNSIGNED base64 tx that reverts unless repaid in-transaction. The borrowed token is authenticity-veri
Inputs: token, amount, instructions, wallet_address, marginfi_account, allow_unverified
fund_walletFund a wallet with fiat via MoonPay (card/bank/Apple Pay -> USDC). Returns a hosted checkout_url for the user to complete payment + a session_id to poll with get_onramp_status. Purchased USDC settles directly to wallet_address (non-custodia
Inputs: wallet_address, amount_usd, payment_method, currency, caller_id, payment_header
get_agent_profileRead an agent's published profile + its referral stats (read-only, free).
Inputs: wallet_address, caller_id
get_all_venues_statusDashboard overview of all configured venues for routing decisions. Read-only. One health record per active venue (status, deploy slot, TVL, 24h volume, composite safety score) so an agent can pick a venue in a single call. detail="concise"
Inputs: detail, caller_id
get_arb_discrepanciesPersisted cross-venue discrepancy episodes (free read). Already-debounced ``cross_exchange`` signals (each required >= N consecutive polls above the discrepancy threshold to exist at all), filtered to ``spread_bps >= min_spread_bps`` and op
Inputs: min_spread_bps, assets, window_hours, caller_id
get_balancesWallet token balances (SOL + all SPL tokens) with USD valuations. detail="concise" (default) returns total_usd + count + balances trimmed to token/symbol/usd_value (IDs for chaining into e.g. get_quotes); "full" returns every field (amount,
Inputs: wallet_address, detail, caller_id
get_bridge_quoteCross-chain bridge quote via deBridge DLN (FREE read, no execution). Quote moving ``amount`` (source-token base units) of ``src_token`` on ``src_chain`` into ``dst_token`` on ``dst_chain``. Supported chains: ethereum, arbitrum, base, optimi
Inputs: src_chain, src_token, amount, dst_chain, dst_token, caller_id
get_bridge_statusPoll a dispatched DLN bridge order's fulfillment status (FREE read). Follow-up to bridge_in/bridge_out: a dispatched order stays "pending"/"broadcast" in Crank's own record forever unless polled -- this queries deBridge's dlnOrderStatus end
Inputs: order_id, caller_id
148 more tools

get_collective_insights, get_consensus, get_contrarian_signals, get_crank_score, get_cross_exchange, get_disclaimers, get_emerging_patterns, get_health_factor, get_ilo_adoption_status, get_ilo_details, get_indicators, get_integrator_earnings, get_integrator_stats, get_intent_status, get_journal_card, get_leaderboard, get_lending_rates, get_lst_yields, get_market_briefing, get_market_regime, get_ml_signal, get_my_contribution_score, get_my_performance, get_my_pledge_status, get_onramp_status, get_ooda_status, get_portfolio_charter, get_quests, get_quotes, get_regulatory_updates, get_risk_assessment, get_score, get_score_leaderboard, get_signal_effectiveness, get_signals, get_social_sends, get_source_accuracy, get_source_weights, get_strategy_evolution_report, get_strategy_leaderboard, get_strategy_suggestions, get_technology_updates, get_token_classification, get_token_risk_assessment, get_trading_workflow, get_transaction_history, get_usage_report, get_venue_health, get_venue_risk_score, get_venue_status, intelligence_suggestion_approve, journal_append, journal_query, jupiter_swap, kill_wallet, lend_borrow, lend_deposit, lend_repay, leverage_close, leverage_long, liquid_stake, list_alerts, list_session_signers, list_signal_catalog, list_webhooks, lst_swap, offramp_to_fiat, perp_close, perp_funding_rates, perp_funding_rates_all, perp_markets, perp_markets_all, perp_modify, perp_open_long, perp_open_short, perp_positions, perp_positions_all, place_perp_order, pledge_to_ilo, poll_agent_wallet_enable, poll_agnta_grant_clear, poll_session_signer_authorization, poll_wallet_policy_loosening, portfolio_snapshot, propose_allocation, propose_template_update, publish_strategy, register_agent, register_counterparty_set, register_integrator, register_referrer, register_webhook, report_registry_install, request_agnta_grant_clear, request_session_signer_authorization, request_wallet_policy_loosening, revoke_session_signer, search_tools, send_token_social, set_agnta_grant, set_alert, set_liquidation_alert, set_ooda_consent, set_permission_mode, set_portfolio_charter, set_wallet_policy, share_journal_card, short_close, short_open, short_status, sidecar_health, sr_backtest, sr_configure_strategy, sr_detect_levels, strategy_arb_create, strategy_basis_trade_create, strategy_cancel, strategy_composite_create, strategy_copy_wallet_create, strategy_dca_create, strategy_equity_dca_create, strategy_hedge_create, strategy_list, strategy_market_make_create, strategy_modify, strategy_momentum_create, strategy_pause, strategy_perp_grid_create, strategy_protect_create, strategy_rebalance_create, strategy_resume, strategy_sentiment_create, strategy_snipe_create, strategy_status, strategy_stoploss_create, strategy_vault_create, strategy_yield_farm_create, suggest_parameter_adjustment, token_info, trade_equity, unpublish_journal_card, unstake_lst, update_agent_profile, venue_risk_comparison, verify_token, verify_transaction, verify_treasury_settlement_status, wallet_status

Add Crank Protocol to your AI client

Every block below points at https://mcp.crank.ing/mcp. Pick your client and copy.

Claude Code: one command in your terminal
claude mcp add --transport http crank-protocol https://mcp.crank.ing/mcp
Claude Desktop: claude_desktop_config.json
{
  "mcpServers": {
    "crank-protocol": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.crank.ing/mcp"]
    }
  }
}
Cursor: ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
  "mcpServers": {
    "crank-protocol": {
      "url": "https://mcp.crank.ing/mcp"
    }
  }
}
VS Code and GitHub Copilot: .vscode/mcp.json
{
  "servers": {
    "crank-protocol": {
      "type": "http",
      "url": "https://mcp.crank.ing/mcp"
    }
  }
}
Zed: Zed settings.json
{
  "context_servers": {
    "crank-protocol": {
      "url": "https://mcp.crank.ing/mcp"
    }
  }
}
Windsurf: ~/.codeium/mcp_config.json
{
  "mcpServers": {
    "crank-protocol": {
      "serverUrl": "https://mcp.crank.ing/mcp"
    }
  }
}
JetBrains AI Assistant: Settings, Tools, AI Assistant, MCP, New MCP Server, as JSON
{
  "mcpServers": {
    "crank-protocol": {
      "url": "https://mcp.crank.ing/mcp"
    }
  }
}
Continue: .continue/mcpServers/neuronto.yaml
name: Crank Protocol
version: 0.0.1
schema: v1
mcpServers:
  - name: Crank Protocol
    type: streamable-http
    url: https://mcp.crank.ing/mcp
Gemini CLI: ~/.gemini/settings.json
{
  "mcpServers": {
    "crank-protocol": {
      "httpUrl": "https://mcp.crank.ing/mcp"
    }
  }
}
Codex CLI: MCP server config
{
  "mcpServers": {
    "crank-protocol": {
      "type": "http",
      "url": "https://mcp.crank.ing/mcp"
    }
  }
}
Warp: MCP servers, + Add, paste JSON
{
  "mcpServers": {
    "crank-protocol": {
      "url": "https://mcp.crank.ing/mcp"
    }
  }
}
Goose: a one-click extension link
goose://extension?url=https%3A%2F%2Fmcp.crank.ing%2Fmcp&type=streamable_http&id=crank-protocol&name=Crank%20Protocol

Is Crank Protocol up right now?

It answered our last check on 19 October 2026 in 396 ms. Over 6 checks since 10 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.

MCP servers similar to Crank Protocol

Questions about Crank Protocol

Is there an official Crank Protocol MCP server?

Yes. It is published by crank.ing and served from mcp.crank.ing, the vendor's own domain: https://mcp.crank.ing/mcp.

How many tools does Crank Protocol have?

188, as returned by the server's own tools/list on 12 September 2026: approve_proposal, asset_classification, authorize_session_signer, backtest_strategy, bridge_in, bridge_out, bulk_send_social, cancel_perp_order, and 180 more.

Is Crank Protocol down?

It answered our last check on 19 October 2026 in 396 ms. Over 6 checks since 10 September 2026 it answered 6.

How do I add Crank Protocol to Cursor?

Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://mcp.crank.ing/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.

Does Crank Protocol need an API key?

It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.

Where this comes from

Publisher: ing.crank. Endpoint host: mcp.crank.ing. ARD identifier: urn:air:ing.crank:mcp:crank. First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page is inferred from its name. Ranking in Neuronto search is never for sale.

Is this your server? Get a message the day it stops answering or its tools change: monitoring, 14 days free. Or claim the domain to manage how it is listed.