Starknet MCP

Um servidor MCP que fornece acesso a vários métodos RPC do Starknet.

Documentação

starknet-mcp

Servidor MCP para Starknet. Disponibiliza os seguintes métodos RPC do Starknet por meio do MCP:

starknet_getBlockWithTxHashes
starknet_getBlockWithTxs
starknet_getBlockWithReceipts
starknet_getStateUpdate
starknet_getStorageAt
starknet_getTransactionStatus
starknet_getTransactionByHash
starknet_getTransactionByBlockIdAndIndex
starknet_getTransactionReceipt
starknet_getClass
starknet_getClassHashAt
starknet_getClassAt
starknet_getBlockTransactionCount
starknet_call
starknet_getEvents
starknet_getNonce
starknet_blockNumber
starknet_blockHashAndNumber
starknet_chainId
starknet_syncing
starknet_specVersion

Métodos de escrita ainda não são suportados.

Starknet Server MCP

Instalação

Instale o Bun. Clone este repositório. Instale as dependências com bun install. Atualize a configuração do MCP do Claude — veja as instruções para o seu sistema operacional específico. Você vai querer algo assim no arquivo claude_desktop_config.json:

{
  "mcpServers": {
    "starknet": {
      "command": "bun",
      "args": ["/PATH/TO/THIS/REPO/starknet-mcp/index.ts"],
      "env": {
        "STARKNET_RPC_URL": "https://starknet-mainnet.public.blastapi.io/rpc/v0_7"
      }
    }
  }
}

Uso

Após configurar corretamente o Claude Desktop, ele terá acesso a todos os métodos disponíveis. Você pode começar a fazer perguntas ao Claude sobre o estado da chain, por exemplo: "Qual é o hash e o número do bloco mais recente na Starknet?". Se o Claude determinar que precisa usar um método do MCP para responder à sua pergunta, ele pedirá sua permissão:

Claude asking for MCP permissions

Você verá o método usado, sua entrada e saída inline no chat.

Claude showing output after using starknet-mcp

Peculiaridades

Os métodos starknet_estimateFee e starknet_estimateMessageFee ainda não são suportados.

O Claude não segue 100% o inputSchema da ferramenta. Ele prefere enviar strings em vez de qualquer outra coisa. Parte disso é prevenida no código, mas se você encontrar algum erro, abra uma issue.