Skip to main content
Glama
InjectiveLabs

Injective MCP Server

Official

Injective MCP Server

An MCP (Model Context Protocol) server that gives AI agents full trading capabilities on Injective — perpetual futures, spot transfers, cross-chain bridging, and raw EVM transactions.

Connect it to Claude Desktop or Claude Code and trade with natural language.


Tools

Wallets

Tool

Description

wallet_generate

Generate a new Injective wallet. Returns address + mnemonic (shown once).

wallet_import

Import a wallet from a hex private key.

wallet_list

List all wallets in the local keystore (addresses only — no keys).

wallet_remove

Permanently delete a wallet from the keystore.

Markets & Accounts

Tool

Description

market_list

List all active perpetual futures markets.

market_price

Get the current oracle price for a market by symbol (e.g. "BTC").

account_balances

Get bank + subaccount balances. Supports all token types.

account_positions

Get open perpetual positions with unrealized P&L.

token_metadata

Look up symbol, decimals, and type for any denom.

Perpetual Trading

Tool

Description

trade_open

Open a position with a market order (Cosmos signing).

trade_close

Close an open position with a market order (Cosmos signing).

trade_open_eip712

Open a position using EIP-712 Ethereum signing (MetaMask-compatible keys).

trade_close_eip712

Close a position using EIP-712 Ethereum signing (MetaMask-compatible keys).

trade_limit_open

Open a limit order.

trade_limit_orders

List open limit orders.

trade_limit_close

Cancel a limit order by orderHash.

trade_limit_states

Query order states by order hash.

Transfers & Subaccounts

Tool

Description

transfer_send

Send tokens to another Injective address.

subaccount_deposit

Deposit from bank balance into a trading subaccount.

subaccount_withdraw

Withdraw from a trading subaccount back to bank balance.

Bridging

Tool

Description

bridge_withdraw_to_eth

Withdraw to Ethereum via the Peggy bridge (~30 min, fee applies).

bridge_debridge_quote

Get a deBridge DLN quote to any supported chain. Read-only.

bridge_debridge_send

Bridge tokens from Injective to another chain via deBridge DLN.

EVM

Tool

Description

evm_broadcast

Broadcast a raw EVM transaction on Injective EVM.


Setup

npm install
npm run build

Connect to Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "injective": {
      "command": "node",
      "args": ["/path/to/mcp-server/dist/mcp/server.js"],
      "env": {
        "INJECTIVE_NETWORK": "mainnet"
      }
    }
  }
}

Connect to Claude Code

Add to ~/.claude/mcp.json or your project's MCP config:

{
  "mcpServers": {
    "injective": {
      "command": "node",
      "args": ["/path/to/mcp-server/dist/mcp/server.js"],
      "env": {
        "INJECTIVE_NETWORK": "mainnet"
      }
    }
  }
}

Set INJECTIVE_NETWORK to "testnet" to use the Injective testnet.


Quickstart

Once connected, a typical session looks like:

> List all BTC and ETH perpetual markets
> What's the current price of BTC?
> Show my balances for inj1...
> Deposit 100 USDT into my trading subaccount
> Open a $50 long on BTC/USDT with 5x leverage
> Show my open positions
> Close my BTC position

For limit orders:

> Open a limit buy on ETH at $3200 for $100 notional, 3x leverage
> List my open limit orders
> Cancel order 0xabc...

For bridging:

> Get a deBridge quote to bridge 50 USDT from Injective to Base
> Bridge 50 USDT to 0x... on Base via deBridge

Architecture

Claude (MCP client)
       │  tool calls over stdio
       ▼
MCP Server  (src/mcp/server.ts)
       │
       ├── config/       Network config (testnet / mainnet)
       ├── keystore/     AES-256-GCM encrypted key storage
       ├── wallets/      Wallet generation and management
       ├── markets/      Market data with in-memory caching
       ├── accounts/     Balances and positions
       ├── trading/      Perpetual market orders (Cosmos signing)
       ├── evm/eip712    Perpetual market orders (EIP-712 signing)
       ├── orders/       Perpetual limit order lifecycle
       ├── transfers/    Bank transfers and subaccount moves
       ├── bridges/      Peggy + deBridge cross-chain
       └── evm/          Generic Injective EVM tx broadcasting
              │
              ▼
     Injective Chain
     @injectivelabs/sdk-ts

Security

  • Private keys are never stored in plaintext — AES-256-GCM + scrypt at rest

  • Keys live in ~/.injective-agent/keys/ with 0600 permissions

  • Claude never sees raw private keys — only addresses and tx hashes

  • Wallet passwords are passed as tool parameters and may appear in MCP client logs — avoid reusing passwords from other services

See SECURITY.md for the full security model.


Development

npm test                   # unit tests (no network required)
npm run test:integration   # integration tests against testnet
npm run typecheck          # TypeScript type check

Token Support

All Injective denom formats are supported:

Type

Format

Example

Native

inj

INJ

Peggy (bridged ERC-20)

peggy0x...

USDT

IBC

ibc/...

ATOM

TokenFactory

factory/inj.../name

MTS / Injective EVM ERC-20

erc20:0x...

Injective EVM tokens

Token metadata (symbol, decimals) is resolved automatically against on-chain registry and cached for the lifetime of the server process.


Networks

Network

INJECTIVE_NETWORK

Mainnet

mainnet

Testnet

testnet

Testnet faucet: https://testnet.faucet.injective.network/

F
license - not found
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/InjectiveLabs/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server