30+ EVM ağında kapsamlı blockchain hizmetleri sunarak native token, ERC20, NFT, smart contract, transaction ve ENS resolution desteği sağlar.
Claude Desktop config.json'a ekle
{
"mcpServers": {
"mcpdotdirect-evm-mcp-server": {
"command": "node",
"args": [
"~/.mcp/evm-mcp-server/index.js"
]
}
}
} Kaynak kodu al ve yerel olarak çalıştır
git clone https://github.com/mcpdotdirect/evm-mcp-server.git ~/.mcp/evm-mcp-server
cd ~/.mcp/evm-mcp-server
60+ EVM uyumlu ağ arasında blockchain hizmetleri sağlayan kapsamlı bir Model Context Protocol (MCP) sunucusu. Bu sunucu, AI ajanlarının Ethereum, Optimism, Arbitrum, Base, Polygon ve birçok diğer EVM zincirleri ile 22 araç ve 10 AI rehberli ipucu aracılığıyla birleşik bir arayüz üzerinden etkileşim kurmasını sağlar.
MCP EVM Sunucusu, AI ajanlarına blockchain hizmetleri sağlamak için Model Context Protocol'ü kullanır. Aşağıdakiler de dahil olmak üzere geniş bir hizmet yelpazesini destekler:
Tüm hizmetler tutarlı bir MCP araçları, kaynakları ve ipuçları arayüzü aracılığıyla sunulur, böylece AI ajanlarının blockchain işlevselliğini keşfetmesi ve kullanması kolay hale gelir. Ethereum adreslerini kabul eden her araç ENS adlarını da destekler, bunları arka planda otomatik olarak adreslere çözer. Sunucu, akıllı ABI getirme işlemini içerir, sözleşme ABI'lerini önceden bilmeye gerek ortadan kalkar.
ERC20 Token'ları
NFT'ler (ERC721)
Çoklu token'lar (ERC1155)
# Depoyu klonla
git clone https://github.com/mcpdotdirect/mcp-evm-server.git
cd mcp-evm-server
# Bun ile bağımlılıkları yükle
bun install
# Veya npm ile
npm install
Sunucu aşağıdaki ortam değişkenlerini kullanır. Yazma işlemleri ve ABI getirme için bu değişkenleri yapılandırmalısınız:
Cüzdanınızı özel bir anahtar veya mnemonik ifadesi kullanarak yapılandırabilirsiniz:
Seçenek 1: Özel Anahtar
export EVM_PRIVATE_KEY="0x..." # Özel anahtarınız hex formatında (0x ön eki ile veya olmadan)
Seçenek 2: Mnemonik İfadesi (HD Cüzdanlar İçin Önerilir)
export EVM_MNEMONIC="word1 word2 word3 ... word12" # 12 veya 24 sözcükten oluşan BIP-39 mnemonik'iniz
export EVM_ACCOUNT_INDEX="0" # İsteğe bağlı: HD cüzdan türetme için hesap indeksi (varsayılan: 0)
Mnemonik seçeneği hiyerarşik belirlenimci (HD) cüzdan türetmeyi destekler:
m/44'/60'/0'/0/{accountIndex}EVM_ACCOUNT_INDEX aynı mnemonik'ten farklı hesaplar türetmenizi sağlarCüzdan kullanılır:
transfer_native aracı)transfer_erc20 aracı)approve_token_spending aracı)write_contract aracı)sign_message aracı)sign_typed_data aracı)⚠️ Güvenlik:
export ETHERSCAN_API_KEY="your-api-key-here"
Bu API anahtarı isteğe bağlıdır ancak aşağıdakiler için gereklidir:
get_contract_abi aracı)read_contract aracı abiJson parametresi ile)fetch_and_analyze_abi ipucuÜcretsiz API anahtarınızı şuradan alın:
Sunucu aşağıdaki varsayılan yapılandırmayı kullanır:
Bu değerler uygulamada sabit kodlanmıştır. Bunları değiştirmeye ihtiyacınız varsa, aşağıdaki dosyaları düzenleyebilirsiniz:
src/core/chains.tssrc/server/http-server.tsKurulum yapmadan MCP EVM Sunucusunu doğrudan npx'i kullanarak çalıştırabilirsiniz:
# Sunucuyu stdio modunda çalıştır (CLI araçları için)
npx @mcpdotdirect/evm-mcp-server
# Sunucuyu HTTP modunda çalıştır (web uygulamaları için)
npx @mcpdotdirect/evm-mcp-server --http
Stdio'yu kullanarak sunucuyu başlat (CLI araçlarına gömme için):
# Stdio sunucusunu başlat
bun start
# Otomatik yeniden yükleme ile geliştirme modu
bun dev
Veya web uygulamaları için SSE'li HTTP sunucusunu başlat:
# HTTP sunucusunu başlat
bun start:http
# Otomatik yeniden yükleme ile geliştirme modu
bun dev:http
Bu MCP sunucusuna MCP uyumlu herhangi bir istemci kullanarak bağlanın. Test etme ve hata ayıklama için MCP Inspector kullanabilirsiniz.
MCP sunucusuna Cursor'dan bağlanmak için:
Cursor'u açın ve Ayarlar'a gidin (sol alt köşedeki dişli simgesi)
Sol kenar çubuğunda "Özellikler"e tıklayın
"MCP Sunucuları" bölümüne kaydırın
"Yeni MCP sunucusu ekle"ye tıklayın
Aşağıdaki detayları girin:
evm-mcp-servercommandnpx @mcpdotdirect/evm-mcp-server"Kaydet"e tıklayın
Bağlandığında, MCP sunucusunun yeteneklerini doğrudan Cursor'da kullanabilirsiniz. Sunucu MCP Sunucuları listesinde görünecek ve gerektiğinde etkinleştirilebilir/devre dışı bırakılabilir.
Takımınızla paylaşabileceğiniz veya projeler arasında kullanabileceğiniz daha taşınabilir bir yapılandırma için, projenizin kök dizininde .cursor/mcp.json dosyası oluşturabilirsiniz:
{
"mcpServers": {
"evm-mcp-server": {
"command": "npx",
"args": ["-y", "@mcpdotdirect/evm-mcp-server"]
},
"evm-mcp-http": {
"command": "npx",
"args": ["-y", "@mcpdotdirect/evm-mcp-server", "--http"]
}
}
}
Bu dosyayı projenizin .cursor dizininde yerleştirin (mevcut değilse oluşturun) ve Cursor, o projede çalışırken bu MCP sunucu yapılandırmalarını otomatik olarak algılar ve kullanır. Bu yaklaşım aşağıdakileri kolaylaştırır:
Web uygulaması geliştiriyorsanız ve Server-Sent Events (SSE) ile HTTP sunucusuna bağlanmak istiyorsanız, bu yapılandırmayı kullanabilirsiniz:
{
"mcpServers": {
"evm-mcp-sse": {
"url": "http://localhost:3001/sse"
}
}
}
Bu, doğrudan HTTP sunucusunun SSE uç noktasına bağlanır, bu da aşağıdakiler için faydalıdır:
Bu yapılandırmayı kullanmak için:
.cursor dizini oluşturun (mevcut değilse).cursor dizininde mcp.json olarak kaydedinmcp.json ile MCP sunucusunu yapılandırdıktan sonra, bunu Cursor'da kolayca kullanabilirsiniz. İşte örnek bir iş akışı:
// blockchain-example.js
async function main() {
try {
// ENS kullanarak bir adres için ETH bakiyesi al
console.log("vitalik.eth için ETH bakiyesi alınıyor...");
// Cursor ile kullanırken, Cursor'dan bunu isteyebilirsiniz:
// "mainnet'te vitalik.eth'in ETH bakiyesini kontrol et"
// Veya "cüzdanımdan vitalik.eth'e 0.1 ETH transfer et"
// Cursor, ek kod gerektirmeden bu işlemleri yürütmek için MCP sunucusunu kullanacak
// Bu, MCP entegrasyonunun gücüdür - AI asistanınız
// herhangi bir ek kod olmadan doğrudan blockchain verilerine ve işlemlerine erişebilir
} catch (error) {
console.error("Hata:", error.message);
}
}
main();
Dosya Cursor'da açıkken, Cursor'dan aşağıdakileri isteyebilirsiniz:
Cursor, bu işlemleri yürütmek için MCP sunucusunu kullanacak ve sonuçları doğrudan sohbetinizde döndürecektir.
MCP sunucusu tüm blockchain iletişimini yönetirken, Cursor'un doğal dil aracılığıyla blockchain ile ilgili görevleri anlamasını ve yürütmesini sağlar.
Claude CLI kullanıyorsanız, MCP sunucusuna sadece iki komutla bağlanabilirsiniz:
# MCP sunucusunu ekle
claude mcp add evm-mcp-server npx @mcpdotdirect/evm-mcp-server
# MCP sunucusu etkinleştirilmiş Claude'u başlat
claude
// MCP istemcisini kullanarak ENS ile token bakiyesi kontrol etme örneği
const mcp = new McpClient("http://localhost:3000");
const result = await mcp.invokeTool("get-token-balance", {
tokenAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", // USDC on Ethereum
ownerAddress: "vitalik.eth", // Adres yerine ENS adı
network: "ethereum",
});
console.log(result);
// {
// tokenAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
// owner: "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
// network: "ethereum",
// raw: "1000000000",
// formatted: "1000",
// symbol: "USDC",
// decimals: 6
// }
// MCP istemcisini kullanarak ENS adını adrese çözmek örneği
const mcp = new McpClient("http://localhost:3000");
const result = await mcp.invokeTool("resolve-ens", {
ensName: "vitalik.eth",
network: "ethereum",
});
console.log(result);
// {
// ensName: "vitalik.eth",
// normalizedName: "vitalik.eth",
// resolvedAddress: "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
// network: "ethereum"
// }
// Multicall'ı kullanarak tek bir RPC çağrısında birden fazla sözleşme okumasını toplu işleme örneği
const mcp = new McpClient("http://localhost:3000");
const result = await mcp.invokeTool("multicall", {
network: "ethereum",
calls: [
{
contractAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", // USDC
functionName: "balanceOf",
args: ["0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"],
},
{
contractAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", // USDC
functionName: "symbol",
},
{
contractAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", // USDC
functionName: "decimals",
},
],
});
console.log(result);
// {
// network: "ethereum",
// totalCalls: 3,
// successfulCalls: 3,
// failedCalls: 0,
// results: [
// { contractAddress: "0xA0b...", functionName: "balanceOf", result: "1000000000", status: "success" },
// { contractAddress: "0xA0b...", functionName: "symbol", result: "USDC", status: "success" },
// { contractAddress: "0xA0b...", functionName: "decimals", result: "6", status: "success" }
// ]
// }
Sunucu, ajanlar için 25 odaklanmış MCP aracı sağlar. Adres parametrelerini kabul eden tüm araçlar hem Ethereum adreslerini hem de ENS adlarını destekler.
| Araç Adı | Açıklama | Anahtar Parametreler |
|---|---|---|
get_wallet_address |
Yapılandırılmış cüzdanın adresini al (EVM_PRIVATE_KEY'den) | yok |
| Araç Adı | Açıklama | Anahtar Parametreler |
|---|---|---|
get_chain_info |
Ağ bilgisi al | network |
get_supported_networks |
Tüm desteklenen EVM ağlarını listele | yok |
get_gas_price |
Bir ağda geçerli gas fiyatlarını al | network |
| Araç Adı | Açıklama | Anahtar Parametreler |
|---|---|---|
resolve_ens_name |
ENS adını adrese çözümle | ensName, network |
lookup_ens_address |
Adrese ters bakış ENS adı | address, network |
| Araç Adı | Açıklama | Anahtar Parametreler |
|---|---|---|
get_block |
Blok verisi al | blockNumber veya blockHash, network |
get_latest_block |
En son blok verisi al | network |
get_transaction |
İşlem detaylarını al | txHash, network |
get_transaction_receipt |
Günlüklü işlem makbuzu al | txHash, network |
wait_for_transaction |
İşlem onayını bekle | txHash, confirmations, network |
| Araç Adı | Açıklama | Anahtar Parametreler |
|---|---|---|
get_balance |
AI LLM'lerin MetaTrader 5 platformu üzerinden işlem gerçekleştirmesini sağlayın
LongPort OpenAPI, gerçek zamanlı borsa verisi sağlar ve MCP üzerinden yapay zeka analiz erişimi ile ticaret yetenekleri sunur.
Massive.com Finansal Pazar Verileri için bir MCP sunucusu
Base Network entegrasyonu ile onchain araçlarınızı güçlendirin, Coinbase API aracılığıyla cüzdan yönetimi, fon transferleri, smart contract ve DeFi işlemleri gerçekleştirin.
Yahoo Finance entegrasyonu ile hisse senedi piyasası verilerini ve opsiyon önerilerini kolayca çekebilirsiniz.
Xero'nun API'si ile entegre olan ve Xero'nun muhasebe ile iş yönetimi özelliklerine standartlaştırılmış erişim sağlayan bir MCP sunucusu.