MCP EVM Signer

# Troubleshooting Guide This guide helps you troubleshoot common issues when setting up and using the MCP EVM Signer. ## Build Issues ### Missing Dependencies If you encounter errors related to missing dependencies, try: ```bash # Clean your node_modules rm -rf node_modules rm package-lock.json # Reinstall dependencies npm install ``` ### TypeScript Errors This project requires TypeScript 5.3.2 or higher. If you encounter type errors during building: 1. Make sure you have the correct TypeScript version: ```bash npm list typescript ``` 2. If errors persist, check for compatibility issues with the ethers.js version: ```bash npm install ethers@6.9.0 --save-exact ``` ### Build Command The proper way to build the project: ```bash npm run build ``` ## Runtime Issues ### Server Connection Problems If Claude for Desktop can't connect to the server: 1. Check that the path to the server is correct in your Claude for Desktop configuration 2. Make sure your `.env` file is set up with the correct Infura API key 3. Try running the server directly to see the output: ```bash node build/index.js ``` ### Infura API Issues If you encounter Infura API errors: 1. Verify your API key is correct in the `.env` file 2. Check your Infura dashboard to ensure your account is active 3. Verify the network name is correct (mainnet, goerli, sepolia, etc.) ### Wallet Access Issues If you have problems accessing wallets: 1. Verify the wallets exist in the keys directory 2. If you're using encryption, ensure the KEY_PASSWORD is correct 3. Check file permissions on the keys directory ## Common Fixes ### Fix: Missing @modelcontextprotocol/sdk Module If you encounter an error saying `Cannot find module '@modelcontextprotocol/sdk/server/mcp.js'`: ```bash # Install the SDK explicitly npm install @modelcontextprotocol/sdk@0.6.0 ``` ### Fix: Ethers.js Type Issues If you have type issues with ethers.js: 1. Add type assertions where needed, as shown in the code 2. Ensure you're using a compatible TypeScript version ### Fix: Claude Desktop Configuration If Claude for Desktop isn't recognizing your server, make sure your configuration looks like: ```json { "mcpServers": { "evm-signer": { "command": "node", "args": ["/absolute/path/to/mcp-evm-signer/build/index.js"], "env": { "INFURA_API_KEY": "your_infura_api_key_here", "DEFAULT_NETWORK": "sepolia", "ENCRYPT_KEYS": "true", "KEY_PASSWORD": "your_secure_password_here" } } } } ``` Ensure that the path to the server is absolute and correct for your system. ## Getting Help If you're still having issues, you can: 1. Open an issue on the GitHub repository 2. Check the server logs for more detailed error information 3. Try running the server directly using Node.js to see any error output