Evm MCP Server

AWS/GCP KMS-based Ethereum signer for viem with enterprise-grade security. Sign transactions and messages using keys stored in AWS or GCP KMS without

Local serverstdioTypeScript

What is the Evm MCP server?

AWS/GCP KMS-based Ethereum signer for viem with enterprise-grade security. Sign transactions and messages using keys stored in AWS or GCP KMS without exposing private keys. The evm mcp server wraps that behind the Model Context Protocol, so an assistant can use it through 5 defined tools rather than through you.

What it actually does

A TypeScript library that integrates AWS/GCP KMS (Key Management Service) with viem to create secure Ethereum signers. This allows you to sign Ethereum transactions and messages using keys stored in AWS or GCP KMS, providing enterprise-grade security for your Ethereum operations.

  • AWS KMS Integration — Sign Ethereum transactions using keys securely stored in AWS KMS
  • GCP KMS Support — Also supports Google Cloud Platform KMS for multi-cloud deployments
  • Full EIP Compliance — Supports EIP-191 (personal messages), EIP-712 (typed data), EIP-155 (replay protection), EIP-2 (signature normalization)
  • Type-Safe — Built with TypeScript in strict mode with comprehensive type definitions
  • viem Compatible — Seamlessly integrates with viem's Account system via toAccount
  • DER Signature Parsing — Automatically converts AWS/GCP KMS DER-encoded signatures to Ethereum format

Its toolset

Everything the assistant can do here goes through one of these:

  • Prerequisites — 1. Create an ECC Key in AWS KMS: - Go to AWS KMS Console - Click "Create key" - Choose "Asymmetric" key type - Select "Sign and verify" key usage
  • KmsSigner — The KmsSigner tool exposed by this server
  • Constructor — The Constructor tool exposed by this server
  • Methods — Returns the Ethereum address derived from the KMS public key
  • Building — The Building tool exposed by this server

Configuration

You will need 4 environment variables: KMS_KEY_ID, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, KEYRING_ID. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

  1. Create an ECC Key in AWS KMS: - Go to AWS KMS Console - Click "Create key" - Choose "Asymmetric" key type - Select "Sign and verify" key usage - Choose ECC_SECG_P256K1 as the key spec (this is secp256k1, Ethereum's curve) - Complete the key creation process 2. Grant Permissions: Ensure your AWS credentials have the following permissions: - kms:GetPublicKey - kms:Sign 3. **Note

Adding it to your client

Installation goes through your MCP client rather than a global install: point it at evm-kms-signer on npm and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.

When to reach for it

Plenty of cloud and infrastructure servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Evm's toolset — Prerequisites, KmsSigner, Constructor and 2 more — is a fair guide to whether it matches your workflow. It is maintained by GitHub Actions; worth a glance at recent repository activity before you build anything load-bearing on it.

SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.

Caveats

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the evm mcp server does with a few real requests.

Available tools

ToolWhat it does
Prerequisites1. **Create an ECC Key in AWS KMS**: - Go to AWS KMS Console - Click "Create key" - Choose "Asymmetric" key type - Select "Sign and verify" key usage - Choose **ECC_SECG_P256K1** as the key spec (this is secp256k1, Ether
KmsSignerThe KmsSigner tool exposed by this server.
ConstructorThe Constructor tool exposed by this server.
MethodsReturns the Ethereum address derived from the KMS public key.
BuildingThe Building tool exposed by this server.

How to install the Evm MCP server

{
  "mcpServers": {
    "evm-signer": {
      "command": "npx",
      "args": ["-y", "evm-kms-signer"],
      "env": {
        "KMS_KEY_ID": "your-value",
        "AWS_ACCESS_KEY_ID": "your-value",
        "AWS_SECRET_ACCESS_KEY": "your-value",
        "KEYRING_ID": "your-value"
      }
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

  1. Create an ECC Key in AWS KMS: - Go to AWS KMS Console - Click "Create key" - Choose "Asymmetric" key type - Select "Sign and verify" key usage - Choose ECC_SECG_P256K1 as the key spec (this is secp256k1, Ethereum's curve) - Complete the key creation process 2. Grant Permissions: Ensure your AWS credentials have the following permissions: - kms:GetPublicKey - kms:Sign 3. **Note
VariableDescriptionRequired
KMS_KEY_IDCredential the server authenticates with.Yes
AWS_ACCESS_KEY_IDCredential the server authenticates with.Yes
AWS_SECRET_ACCESS_KEYCredential the server authenticates with.Yes
KEYRING_IDCredential the server authenticates with.Yes

Example prompts to try

  • Use Evm to Prerequisites.
  • Use Evm to KmsSigner.
  • Use Evm to Constructor.

Frequently asked questions

It connects Evm to MCP-compatible AI assistants such as Claude and Cursor, exposing 5 tools (Prerequisites, KmsSigner, Constructor, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Evm directly.