Skip to main content
Glama

MCP Ethers Wallet

erc721-test.ts2.9 kB
/** * @file ERC721 Tools Test * @version 1.0.0 * @status TEST * * Test script for ERC721 tools in the MCP server */ import { createMcpClient } from '../mcp-client.js'; import { getTestReport, runTest } from '../report-generation.js'; async function testERC721Tools() { console.log('Starting ERC721 tools test...'); // Create an MCP client connected to our server const { client, cleanup } = await createMcpClient(); try { console.log('Testing getNFTInfo tool...'); // Use a well-known NFT collection for testing (CryptoPunks on Ethereum mainnet) const contractAddress = '0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB'; // Call the getNFTInfo tool const nftInfoResult = await client.callTool({ name: 'getNFTInfo', parameters: { contractAddress, provider: 'mainnet' } }); console.log('NFT Info Result:', JSON.stringify(nftInfoResult, null, 2)); // Test getNFTOwner tool console.log('\nTesting getNFTOwner tool...'); // Use a known CryptoPunk ID const tokenId = '3100'; const ownerResult = await client.callTool({ name: 'getNFTOwner', parameters: { contractAddress, tokenId, provider: 'mainnet' } }); console.log('NFT Owner Result:', JSON.stringify(ownerResult, null, 2)); // Test getNFTTokenURI tool console.log('\nTesting getNFTTokenURI tool...'); // CryptoPunks doesn't implement standard tokenURI, so let's use a different NFT // BAYC as an example const baycAddress = '0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D'; const baycTokenId = '8888'; const tokenURIResult = await client.callTool({ name: 'getNFTTokenURI', parameters: { contractAddress: baycAddress, tokenId: baycTokenId, provider: 'mainnet' } }); console.log('NFT TokenURI Result:', JSON.stringify(tokenURIResult, null, 2)); // Test getNFTMetadata tool console.log('\nTesting getNFTMetadata tool...'); const metadataResult = await client.callTool({ name: 'getNFTMetadata', parameters: { contractAddress: baycAddress, tokenId: baycTokenId, provider: 'mainnet' } }); console.log('NFT Metadata Result:', JSON.stringify(metadataResult, null, 2)); console.log('\nERC721 tools tests completed successfully!'); } catch (error) { console.error('Error testing ERC721 tools:', error); process.exit(1); } finally { // Generate the summary getTestReport().generateSummary(); // Cleanup resources cleanup(); } } // Run the test if this file is executed directly if (require.main === module) { testERC721Tools().catch(error => { console.error('Error running ERC721 tools test:', error); process.exit(1); }); } export { testERC721Tools };

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/crazyrabbitLTC/mcp-ethers-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server