Skip to main content
Glama
keygenix-mcp
by wallet-io

keygenix-mcp

Keygenix MCP Server — Non-custodial TEE key management & signing for AI agents.

License: MIT

Private keys are generated, stored, and used exclusively inside a Trusted Execution Environment (TEE). They never leave in plaintext — not to you, not to Keygenix, not to the AI.


Quick Start

1. Get your credentials

  1. Register at keygenix.pro

  2. Create an organization → note orgCode

  3. Create a wallet → note walletCode

  4. Generate two keypairs (run once):

# Use the CLI to generate keypairs (easiest)
git clone https://github.com/wallet-io/keygenix-skill
cd keygenix-skill/cli && npm install

node client.js keygen   # → copy publicKey as API Auth Key
node client.js keygen   # → copy publicKey as AuthKey (separate keypair)
  1. Register both public keys in the Keygenix dashboard.

2. Configure your AI client

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "keygenix": {
      "command": "node",
      "args": ["/path/to/node_modules/keygenix-mcp/dist/index.js"],
      "env": {
        "KEYGENIX_API_PRIV_KEY": "your-api-auth-private-key-hex",
        "KEYGENIX_AUTH_PRIV_KEY": "your-authkey-private-key-hex",
        "KEYGENIX_ORG_CODE": "your-org-code",
        "KEYGENIX_WALLET_CODE": "your-wallet-code"
      }
    }
  }
}

Once published to npm, replace with "command": "npx", "args": ["keygenix-mcp"]

Cursor / Windsurf

Edit .cursor/mcp.json or .windsurf/mcp.json:

{
  "mcpServers": {
    "keygenix": {
      "command": "node",
      "args": ["/path/to/node_modules/keygenix-mcp/dist/index.js"],
      "env": {
        "KEYGENIX_API_PRIV_KEY": "...",
        "KEYGENIX_AUTH_PRIV_KEY": "...",
        "KEYGENIX_ORG_CODE": "...",
        "KEYGENIX_WALLET_CODE": "..."
      }
    }
  }
}

OpenClaw

Add to your OpenClaw MCP config, or use the keygenix OpenClaw Skill directly.


Related MCP server: ows-mcp-wallet

Available Tools

Tool

Description

keygen

Generate a new secp256k1 keypair locally (no network)

list_keys

List all keys in the wallet

get_key

Get details of a key by keyCode

create_key

Create a new key (mnemonic/private/secret)

import_key

Import existing key into TEE (ECIES encrypted)

list_addresses

List derived addresses for a key

create_address

Derive a new address for a chain

sign_transaction

Sign a blockchain transaction (EVM/SOL/SUI/etc.)

sign_message

Sign an arbitrary message


Supported Chains

EVM · Solana · Bitcoin · Litecoin · Dogecoin · Zcash · Tron · Ripple · Sui · TON · Cardano · Aptos · Cosmos · Sei


Security Model

AI Agent
  ↓  calls MCP tool (no keys in prompt)
keygenix-mcp (local process)
  ↓  ECDSA-signed HTTPS requests
Keygenix TEE API
  ↓  private key never leaves enclave
Signed transaction returned
  • API Auth Private Key — signs every API request. Store in env, never hardcode.

  • AuthKey Private Key — authorizes sign/export. Signed locally; Keygenix only sees the public key.

  • Private keys — generated inside TEE, never exposed in plaintext.


Development

git clone https://github.com/wallet-io/keygenix-mcp
cd keygenix-mcp
npm install
npm run build
npm start

Distribution

Channel

Command

GitHub

npm install github:wallet-io/keygenix-mcp

npm (coming soon)

npx keygenix-mcp

OpenClaw

clawhub install keygenix

Smithery

smithery.ai/server/keygenix


Available Tools

12 tools
create_addressA

Derive a new address from a key for a specific chain. Idempotent — returns the existing address if already derived for the same path.

Inputs: keyCode (required), addressType (required), path, curve, +1 more.

create_keyB

Create a new key in the TEE. Supports mnemonic (HD wallet), private key, or secret key types. curve is required for private (secp256k1 or ed25519) and secret (ed25519 only) key types.

Inputs: keyType (required), curve, chains.

export_keyA

Export a key from TEE. The key material is returned encrypted with your ephemeral public key (ECIES). Generates a local keypair, sends the public key to the server, receives encrypted key, decrypts locally.

Inputs: keyCode (required).

get_keyC

Get details of a specific key by keyCode.

Inputs: keyCode (required).

get_public_keyA

Get the derived public key for a key. For mnemonic keys, provide curve/path/deriveType. For private/secret keys, omit all deriving params.

Inputs: keyCode (required), path, curve, deriveType.

import_keyA

Import an existing key (mnemonic or private key) into Keygenix TEE. The key material is encrypted with ECIES before leaving the local machine — it is never transmitted in plaintext. Provide either 'mnemonic' (12/24 words) or 'privateKey' (hex), not both.

Inputs: keyType (required), curve, chains, mnemonic, +1 more.

keygenA

Generate a new secp256k1 keypair locally (no network call). Use this to create API Auth keypairs or AuthKey keypairs before registering with Keygenix.

Inputs: no named parameters.

list_addressesB

List all derived addresses for a key.

Inputs: keyCode (required), page, size.

list_keysC

List all keys in the wallet.

Inputs: name, page, size, keyCode, +1 more.

sign_messageA

Sign an arbitrary message (hex-encoded sha256 hash) using a TEE-stored key. keyCode is always required. Optionally provide address to skip HD derivation.

Inputs: keyCode (required), message (required), path, chain, +1 more.

sign_transactionB

Sign a blockchain transaction using a TEE-stored key. Supports EVM (RLP hex), SOL (base58/base64/hex), SUI, and other chains. keyCode is always required. Optionally provide address to skip HD derivation.

Inputs: tx (required), keyCode (required), path, chain, +3 more.

update_keyC

Update a key's name or remark.

Inputs: keyCode (required), name, remark.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 12 tools

    Disambiguation4/5

    Most tools target a distinct action (import/export/sign/list/get/update), but a few boundaries require careful reading: keygen (local keypair generation) vs create_key (TEE-stored key), and export_key vs get_public_key both retrieve key material. The descriptions do clarify the distinction (local vs TEE, encrypted export vs derived public key), so misselection is unlikely but possible.

    Naming Consistency4/5

    Nearly all tools follow a clean verb_noun snake_case pattern (export_key, import_key, create_address, sign_transaction, list_keys, get_key, update_key, create_key). The lone outlier is 'keygen', which drops the verb_noun convention and slightly breaks the pattern.

    Tool Count5/5

    12 tools is well-scoped for a key management and signing server. Each tool covers a distinct lifecycle stage (generate, import, export, derive addresses, sign, CRUD) with no redundant filler.

    Completeness3/5

    Key lifecycle covers create, import, export, list, get, and update, plus address derivation and signing, but there is no delete_key or address removal operation, leaving a notable gap. Agents can create and manage keys but cannot clean up or revoke them.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      Not graded
      maintenance
      Provides secure, policy-controlled wallet infrastructure for AI agents to autonomously manage XRP Ledger wallets and sign transactions. It features a tiered security model with encrypted key storage, a declarative policy engine, and full audit trails for compliance.
      -
    • A
      license
      A
      quality
      D
      maintenance
      Enables AI agents to check balances and send transactions across multiple blockchains with automatic spending limit protection and policy enforcement.
      3
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Keyless CEX/DEX order signing for AI trading agents (Binance, OKX, Bybit, KuCoin, Hyperliquid, Asterdex). Exchange keys stay inside an AWS Nitro Enclave — the agent gets policy-bounded signatures, never credentials. Built to survive prompt injection and supply-chain key leaks.
      5
      45 npm
      2
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Provides a zero-knowledge credential vault for AI agents, allowing secure storage, retrieval, and management of secrets with cross-agent delegation and tamper-evident audit.
      MIT