Skip to main content
Glama

Armor Crypto MCP

Alpha Test version 0.1.24

A single source for integrating AI Agents with the Crypto ecosystem. This includes Wallet creation and management, swaps, transfers, event-based trades like DCA, stop loss and take profit, and much more. The Armor MCP supports Solana in Alpha and, when in beta, will support more than a dozen blockchains, including Ethereum. Base, Avalanche, Bitcoin, Sui, Berachain, megaETH, Optimism, Ton, BNB, and Arbitrum, among others. Using Armor's MCP you can bring all of crypto into your AI Agent with unified logic and a complete set of tools.

Armor MCP

Features

🧠 AI Native

📙 Wallet Management

🔃 Swaps

🌈 Specialized trades (DCA, Stop Loss etc.)

⛓️ Multi-chain

↔️ Cross-chain transations

🥩 Staking

🤖 Fast intergration to Agentic frameworks

👫 Social Sentiment

🔮 Prediction Armor MCP Diagram

Requirements

1. Make sure you have python installed

2. Install uv

Linux / Windows

pip install uv

Mac

brew install uv

3. Claude Desktop or your AI Agent will run the MCP

See Usage & Configuration for details.

Alpha Testing

We are currently in pre-alpha, and we are testing the capabilities of various agents and agentic frameworks like Claude Desktop, Cline, Cursor, n8n, etc.

Current Features & Tools

  • Wallet Management

    • Grouping & Organization

    • Archiving

  • Swap & Trades

    • Normal swap

    • DCA (place / list / cancel)

    • Scheduled Orders

    • Limit Orders (place / list / cancel)

  • Staking and Unstaking

  • Token Search and Trending Tokens

  • Statistical Calculator for accurate Analysis

  • Supports Solana blockchain

Related MCP server: AgentWallet MCP Server

Coming Soon

  • More Blockchain Support

  • Minting

  • Armor Agents as a Tool (or A2A)

MCP Setup

Currently you need to have the Armor NFT to get an API Key. Get it here

Usage & Configuration

To use the Armor MCP with your agent, you need the following configuration, replace <PUT-YOUR-KEY-HERE> with your API key:

{
  "mcpServers": {
    "armor-crypto-mcp": {
      "command": "uvx",
      "args": ["armor-crypto-mcp@latest", "--version"],
      "env": {
        "ARMOR_API_KEY": "<PUT-YOUR-KEY-HERE>"
      }
    }
  }
}

Use in Claude Desktop

  1. Must have Developer Mode enabled

  2. Open Claude Desktop's File Menu top left of the window.

  3. Go to File > Settings

  4. Under Developer, click Edit Configuration

  5. In the config file, insert the armor-wallet-mcp section from above

  6. Make sure to replace the placeholder with your API key

  7. Save the file and start a new Chat in Claude Desktop

Use in Cline

  1. Click on the MCP Servers button in the Cline tab in VSCode on the left panel

  2. Scroll to the bottom of the left panel and click on Configure MCP Servers

  3. In the config file, insert armor-wallet-mcp section from above

  4. Make sure to replace the placeholder with your API key

  5. Save the file, click Done under the MCP Servers tab and start chatting with Cline

Use in n8n

  1. Open the n8n app

  2. Bottom-left of screen click ... next to your username and click Settings

  3. On the left panel, click Community nodes and then Install a Community Node button

  4. In the search field for npm Package Name type in mcp

  5. Install MCP Nodes

  6. Add any MCP node, for example: List Tools

  7. In the MCP Client Parameters tab, click Select Credential and click Create new credential

  8. Under Command enter uvx

  9. Under Arguments enter armor-crypto-mcp

  10. Under Environments enter ARMOR_API_KEY=eyJhbGciOiJIUzI1NiIsIn... paste the full API Key value after the =

  11. Back in the Parameters tab you can choose the MCP Operation for that Node

Using Armor MCP

Once you have setup the Armor MCP here are some prompts you can use to get started

Available Tools

37 tools
add_wallets_to_groupB
Add wallets to a specified group.

Expects the group name and a list of wallet names, returns a list of AddWalletToGroupResponse.

Inputs: add_wallet_to_group_requests (required). Returns: result

archive_wallet_groupC
Archive wallet groups.

Expects a list of group names, returns a list of GroupArchiveOrUnarchiveResponse.

Inputs: archive_wallet_group_requests (required). Returns: result

archive_walletsC
Archive wallets.

Expects a list of wallet names, returns a list of WalletArchiveOrUnarchiveResponse.

Inputs: archive_wallet_requests (required). Returns: result

calculate_token_conversionC
Perform token conversion quote between two tokens. Good for quickly calculating market prices.

Expects a ConversionRequestContainer, returns a list of ConversionResponse.

Inputs: conversion_requests (required). Returns: result

calculatorA
Safely evaluates a mathematical or statistical expression string using Python syntax.

Supports arithmetic operations (+, -, *, /, **, %, //), list expressions, and a range of math and statistics functions: 
abs, round, min, max, len, sum, mean, median, stdev, variance, sin, cos, tan, sqrt, log, exp, floor, ceil, etc.

Custom variables can be passed via the 'variables' dict, including lists for time series data.

Inputs: expression (required), variables (required).

cancel_dca_orderD
Create a DCA order.

Note: Make a single or multiple dca_order_requests 

Inputs: cancel_dca_order_requests (required). Returns: result

cancel_orderC
Cancel a limit, take profit or stop loss order.

Expects a CancelOrderRequestContainer, returns a CancelOrderResponseContainer.

Inputs: cancel_order_requests (required). Returns: cancel_order_responses

create_dca_orderC
Create a DCA order.

Expects a DCAOrderRequestContainer, returns a list of DCAOrderResponse.

Inputs: dca_order_requests (required). Returns: result

create_groupsC
Create new wallet groups.

Expects a list of group names, returns a list of CreateGroupResponse.

Inputs: create_groups_requests (required). Returns: result

create_orderC
Create a order. Can be a limit, take profit or stop loss order.

Expects a CreateOrderRequestContainer, returns a CreateOrderResponseContainer.

Inputs: create_order_requests (required). Returns: create_order_responses

create_walletC
Create new wallets.

Expects a list of wallet names, returns a list of WalletInfo.

Inputs: create_wallet_requests (required). Returns: result

get_all_ordersC
Retrieve all limit, take profit and stop loss orders.

Returns a list of orders.

Inputs: get_all_orders_requests (required). Returns: list_order_responses

get_all_walletsC
Retrieve all wallets with balances.

Returns a list of Wallets and asssets

Inputs: get_all_wallets_requests (required). Returns: result

get_armor_mcp_versionB

Get the current Armor Wallet version

Inputs: no named parameters.

get_current_timeB

Gets the current time and date

Inputs: no named parameters. Returns: result

get_stake_balancesB
Get the balance of staked SOL (jupSOL).

Returns a StakeBalanceResponse.

Inputs: no named parameters. Returns: total_stake_amount, total_stake_amount_in_usd

get_token_candle_dataC

Get candle data about any token for analysis.

Expects a CandleStickRequest, returns a list of candle sticks.

Inputs: candle_stick_requests (required). Returns: result

get_wallet_token_balanceC
Get the balance for a list of wallet/token pairs.

Expects a WalletTokenPairsContainer, returns a list of WalletTokenBalance.

Inputs: wallet_token_pairs (required). Returns: result

list_dca_ordersC
List all DCA orders.

Returns a list of DCAOrderResponse.

Inputs: list_dca_order_requests (required). Returns: list_dca_order_responses

list_groupsB
List all wallet groups.

Returns a list of GroupInfo.

Inputs: no named parameters. Returns: result

list_single_groupC
Retrieve details for a single wallet group.

Expects the group name as a parameter, returns SingleGroupInfo.

Inputs: list_single_group_requests (required). Returns: id, name, wallets, is_archived

remove_wallets_from_groupC
Remove wallets from a specified group.

Expects the group name and a list of wallet names, returns a list of RemoveWalletFromGroupResponse.

Inputs: remove_wallets_from_group_requests (required). Returns: result

rename_walletsD
Rename wallets.

Expects a RenameWalletRequestContainer, returns a list.

Inputs: rename_wallet_requests (required). Returns: result

search_official_token_addressA
Get the official token address and symbol for a token symbol or token address.
Try to use this first to get address and symbol of coin. If not found, use search_token_details to get details.

Expects a TokenDetailsRequestContainer, returns a TokenDetailsResponseContainer.

Inputs: token_details_requests (required). Returns: token_details_responses

search_token_detailsB
Search and retrieve details about single token.
If only address or symbol is needed, use get_official_token_address first.

Expects a TokenSearchRequest, returns a list of TokenDetailsResponse.

Inputs: token_search_requests (required). Returns: token_search_responses

send_key_to_telegramD

Send the mnemonic or private key to telegram.

Inputs: private_key_request (required). Returns: result

stake_quoteC
Retrieve a stake quote.

Expects a StakeQuoteRequestContainer, returns a SwapQuoteRequestContainer.

Inputs: stake_quote_requests (required). Returns: swap_quote_requests

stake_transactionD
Execute a stake transaction.

Expects a StakeTransactionRequestContainer, returns a SwapTransactionRequestContainer.

Inputs: stake_transaction_requests (required). Returns: swap_transaction_requests

swap_quoteC
Retrieve a swap quote. Be sure to add slippage!

Expects a SwapQuoteRequestContainer, returns a list of SwapQuoteResponse.

Inputs: swap_quote_requests (required). Returns: result

swap_transactionC
Execute a swap transaction.

Expects a SwapTransactionRequestContainer, returns a list of SwapTransactionResponse.

Inputs: swap_transaction_requests (required). Returns: result

transfer_tokensC
Transfer tokens from one wallet to another.

Expects a TransferTokensRequestContainer, returns a list of TransferTokenResponse.

Inputs: transfer_tokens_requests (required). Returns: result

unarchive_wallet_groupC
Unarchive wallet groups.

Expects a list of group names, returns a list of GroupArchiveOrUnarchiveResponse.

Inputs: unarchive_wallet_group_requests (required). Returns: result

unarchive_walletsC
Unarchive wallets.

Expects a list of wallet names, returns a list of WalletArchiveOrUnarchiveResponse.

Inputs: unarchive_wallet_requests (required). Returns: result

unstake_quoteC

Retrieve an unstake quote.

Expects a UnstakeQuoteRequestContainer, returns a SwapQuoteRequestContainer.

Inputs: unstake_quote_requests (required). Returns: swap_quote_requests

unstake_transactionC
Execute an unstake transaction.

Expects a UnstakeTransactionRequestContainer, returns a SwapTransactionRequestContainer.

Inputs: unstake_transaction_requests (required). Returns: swap_transaction_requests

wait_a_momentB

Wait for some short amount of time, no more than 10 seconds

Inputs: seconds (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.5/5.0

    Scored across 37 tools

    Disambiguation3/5

    The tools cover distinct areas like wallets, groups, orders, swaps, and staking, but there is some overlap. For example, 'search_official_token_address' and 'search_token_details' both search for token information, and 'cancel_dca_order' and 'cancel_order' both cancel orders, which could cause confusion. However, the descriptions help clarify their specific purposes.

    Naming Consistency4/5

    Most tools follow a consistent verb_noun pattern (e.g., 'create_wallet', 'list_groups', 'archive_wallets'), but there are minor deviations like 'calculator' (noun only) and 'wait_a_moment' (verb phrase). Overall, the naming is predictable and readable, with only a few inconsistencies.

    Tool Count2/5

    With 37 tools, the count is excessive for a crypto wallet server, making it heavy and potentially overwhelming. While the domain is broad, many tools could be consolidated (e.g., multiple archive/unarchive tools) or omitted (e.g., 'get_current_time', 'wait_a_moment'), leading to a bloated interface.

    Completeness4/5

    The tool set provides comprehensive coverage for crypto wallet management, including CRUD operations for wallets and groups, trading (orders, swaps), staking, and token analysis. Minor gaps exist, such as no direct tool for editing wallet details beyond renaming, but agents can work around this with existing tools.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      C
      quality
      B
      maintenance
      Enables AI agents to interact with any EVM-compatible blockchain through natural language, supporting token swaps, cross-chain bridges, staking, lending, governance, gas optimization, and portfolio tracking across networks like Ethereum, BSC, Polygon, Arbitrum, and more.
      100
      47 npm
      44
      -
    • A
      license
      B
      quality
      B
      maintenance
      Provides permissionless wallet infrastructure for AI agents to manage wallets, sign transactions, and handle tokens across Solana and all EVM-compatible chains. It includes 29 specialized tools for on-chain operations, featuring built-in security guards and automated x402 payment processing without KYC requirements.
      40
      1,677 npm
      3
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Enables AI agents to read chain data, execute transactions, swap tokens, and manage wallets on Solana through 38 tools across 7 modules. Supports write operations with a private key and includes built-in prompts for common workflows.
      38
      1
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI agents to perform blockchain operations like wallet management, token info, DeFi swaps, cross-chain bridging, and price checking across Ethereum, BNB Chain, and Solana.
      ISC