Skip to content

Commit 3938549

Browse files
committed
fix: fixed tools names to be callable by Cursor
1 parent 7752ccc commit 3938549

File tree

4 files changed

+63
-53
lines changed

4 files changed

+63
-53
lines changed

.cursor/mcp.json

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"mcpServers": {
3+
"evm": {
4+
"command": "node",
5+
"args": [
6+
"${workspaceFolder}/build/index.js"
7+
]
8+
}
9+
}
10+
}

src/core/prompts.ts

+7-7
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { z } from "zod";
88
export function registerEVMPrompts(server: McpServer) {
99
// Basic block explorer prompt
1010
server.prompt(
11-
"explore-block",
11+
"explore_block",
1212
"Explore information about a specific block",
1313
{
1414
blockNumber: z.string().optional().describe("Block number to explore. If not provided, latest block will be used."),
@@ -29,7 +29,7 @@ export function registerEVMPrompts(server: McpServer) {
2929

3030
// Transaction analysis prompt
3131
server.prompt(
32-
"analyze-transaction",
32+
"analyze_transaction",
3333
"Analyze a specific transaction",
3434
{
3535
txHash: z.string().describe("Transaction hash to analyze"),
@@ -48,7 +48,7 @@ export function registerEVMPrompts(server: McpServer) {
4848

4949
// Address analysis prompt
5050
server.prompt(
51-
"analyze-address",
51+
"analyze_address",
5252
"Analyze an EVM address",
5353
{
5454
address: z.string().describe("Ethereum address to analyze"),
@@ -67,7 +67,7 @@ export function registerEVMPrompts(server: McpServer) {
6767

6868
// Smart contract interaction guidance
6969
server.prompt(
70-
"interact-with-contract",
70+
"interact_with_contract",
7171
"Get guidance on interacting with a smart contract",
7272
{
7373
contractAddress: z.string().describe("The contract address"),
@@ -89,7 +89,7 @@ export function registerEVMPrompts(server: McpServer) {
8989

9090
// EVM concept explanation
9191
server.prompt(
92-
"explain-evm-concept",
92+
"explain_evm_concept",
9393
"Get an explanation of an EVM concept",
9494
{
9595
concept: z.string().describe("The EVM concept to explain (e.g., gas, nonce, etc.)")
@@ -107,7 +107,7 @@ export function registerEVMPrompts(server: McpServer) {
107107

108108
// Network comparison
109109
server.prompt(
110-
"compare-networks",
110+
"compare_networks",
111111
"Compare different EVM-compatible networks",
112112
{
113113
networkList: z.string().describe("Comma-separated list of networks to compare (e.g., 'ethereum,optimism,arbitrum')")
@@ -128,7 +128,7 @@ export function registerEVMPrompts(server: McpServer) {
128128

129129
// Token analysis prompt
130130
server.prompt(
131-
"analyze-token",
131+
"analyze_token",
132132
"Analyze an ERC20 or NFT token",
133133
{
134134
tokenAddress: z.string().describe("Token contract address to analyze"),

src/core/resources.ts

+19-19
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import type { Address, Hash } from "viem";
1010
export function registerEVMResources(server: McpServer) {
1111
// Get EVM info for a specific network
1212
server.resource(
13-
"chain-info-by-network",
13+
"chain_info_by_network",
1414
new ResourceTemplate("evm://{network}/chain", { list: undefined }),
1515
async (uri, params) => {
1616
try {
@@ -43,7 +43,7 @@ export function registerEVMResources(server: McpServer) {
4343

4444
// Default chain info (Ethereum mainnet)
4545
server.resource(
46-
"ethereum-chain-info",
46+
"ethereum_chain_info",
4747
"evm://chain",
4848
async (uri) => {
4949
try {
@@ -76,7 +76,7 @@ export function registerEVMResources(server: McpServer) {
7676

7777
// Get block by number for a specific network
7878
server.resource(
79-
"evm-block-by-number",
79+
"evm_block_by_number",
8080
new ResourceTemplate("evm://{network}/block/{blockNumber}", { list: undefined }),
8181
async (uri, params) => {
8282
try {
@@ -103,7 +103,7 @@ export function registerEVMResources(server: McpServer) {
103103

104104
// Get block by hash for a specific network
105105
server.resource(
106-
"block-by-hash",
106+
"block_by_hash",
107107
new ResourceTemplate("evm://{network}/block/hash/{blockHash}", { list: undefined }),
108108
async (uri, params) => {
109109
try {
@@ -130,7 +130,7 @@ export function registerEVMResources(server: McpServer) {
130130

131131
// Get latest block for a specific network
132132
server.resource(
133-
"evm-latest-block",
133+
"evm_latest_block",
134134
new ResourceTemplate("evm://{network}/block/latest", { list: undefined }),
135135
async (uri, params) => {
136136
try {
@@ -156,7 +156,7 @@ export function registerEVMResources(server: McpServer) {
156156

157157
// Default latest block (Ethereum mainnet)
158158
server.resource(
159-
"default-latest-block",
159+
"default_latest_block",
160160
"evm://block/latest",
161161
async (uri) => {
162162
try {
@@ -182,7 +182,7 @@ export function registerEVMResources(server: McpServer) {
182182

183183
// Get ETH balance for a specific network
184184
server.resource(
185-
"evm-address-native-balance",
185+
"evm_address_native_balance",
186186
new ResourceTemplate("evm://{network}/address/{address}/balance", { list: undefined }),
187187
async (uri, params) => {
188188
try {
@@ -216,7 +216,7 @@ export function registerEVMResources(server: McpServer) {
216216

217217
// Default ETH balance (Ethereum mainnet)
218218
server.resource(
219-
"default-eth-balance",
219+
"default_eth_balance",
220220
new ResourceTemplate("evm://address/{address}/eth-balance", { list: undefined }),
221221
async (uri, params) => {
222222
try {
@@ -250,7 +250,7 @@ export function registerEVMResources(server: McpServer) {
250250

251251
// Get ERC20 balance for a specific network
252252
server.resource(
253-
"erc20-balance",
253+
"erc20_balance",
254254
new ResourceTemplate("evm://{network}/address/{address}/token/{tokenAddress}/balance", { list: undefined }),
255255
async (uri, params) => {
256256
try {
@@ -292,7 +292,7 @@ export function registerEVMResources(server: McpServer) {
292292

293293
// Default ERC20 balance (Ethereum mainnet)
294294
server.resource(
295-
"default-erc20-balance",
295+
"default_erc20_balance",
296296
new ResourceTemplate("evm://address/{address}/token/{tokenAddress}/balance", { list: undefined }),
297297
async (uri, params) => {
298298
try {
@@ -334,7 +334,7 @@ export function registerEVMResources(server: McpServer) {
334334

335335
// Get transaction by hash for a specific network
336336
server.resource(
337-
"evm-transaction-details",
337+
"evm_transaction_details",
338338
new ResourceTemplate("evm://{network}/tx/{txHash}", { list: undefined }),
339339
async (uri, params) => {
340340
try {
@@ -361,7 +361,7 @@ export function registerEVMResources(server: McpServer) {
361361

362362
// Default transaction by hash (Ethereum mainnet)
363363
server.resource(
364-
"default-transaction-by-hash",
364+
"default_transaction_by_hash",
365365
new ResourceTemplate("evm://tx/{txHash}", { list: undefined }),
366366
async (uri, params) => {
367367
try {
@@ -388,7 +388,7 @@ export function registerEVMResources(server: McpServer) {
388388

389389
// Get supported networks
390390
server.resource(
391-
"supported-networks",
391+
"supported_networks",
392392
"evm://networks",
393393
async (uri) => {
394394
try {
@@ -415,7 +415,7 @@ export function registerEVMResources(server: McpServer) {
415415

416416
// Add ERC20 token info resource
417417
server.resource(
418-
"erc20-token-details",
418+
"erc20_token_details",
419419
new ResourceTemplate("evm://{network}/token/{tokenAddress}", { list: undefined }),
420420
async (uri, params) => {
421421
try {
@@ -447,7 +447,7 @@ export function registerEVMResources(server: McpServer) {
447447

448448
// Add ERC20 token balance resource
449449
server.resource(
450-
"erc20-token-address-balance",
450+
"erc20_token_address_balance",
451451
new ResourceTemplate("evm://{network}/token/{tokenAddress}/balanceOf/{address}", { list: undefined }),
452452
async (uri, params) => {
453453
try {
@@ -484,7 +484,7 @@ export function registerEVMResources(server: McpServer) {
484484

485485
// Add NFT (ERC721) token info resource
486486
server.resource(
487-
"erc721-nft-token-details",
487+
"erc721_nft_token_details",
488488
new ResourceTemplate("evm://{network}/nft/{tokenAddress}/{tokenId}", { list: undefined }),
489489
async (uri, params) => {
490490
try {
@@ -530,7 +530,7 @@ export function registerEVMResources(server: McpServer) {
530530

531531
// Add NFT ownership check resource
532532
server.resource(
533-
"erc721-nft-ownership-check",
533+
"erc721_nft_ownership_check",
534534
new ResourceTemplate("evm://{network}/nft/{tokenAddress}/{tokenId}/isOwnedBy/{address}", { list: undefined }),
535535
async (uri, params) => {
536536
try {
@@ -566,7 +566,7 @@ export function registerEVMResources(server: McpServer) {
566566

567567
// Add ERC1155 token URI resource
568568
server.resource(
569-
"erc1155-token-metadata-uri",
569+
"erc1155_token_metadata_uri",
570570
new ResourceTemplate("evm://{network}/erc1155/{tokenAddress}/{tokenId}/uri", { list: undefined }),
571571
async (uri, params) => {
572572
try {
@@ -600,7 +600,7 @@ export function registerEVMResources(server: McpServer) {
600600

601601
// Add ERC1155 token balance resource
602602
server.resource(
603-
"erc1155-token-address-balance",
603+
"erc1155_token_address_balance",
604604
new ResourceTemplate("evm://{network}/erc1155/{tokenAddress}/{tokenId}/balanceOf/{address}", { list: undefined }),
605605
async (uri, params) => {
606606
try {

0 commit comments

Comments
 (0)