GOAT
<div align="center"> <img src="https://github.com/user-attachments/assets/5fc7f121-259c-492c-8bca-f15fe7eb830c" alt="GOAT" width="100px" height="auto" style="object-fit: contain;"> </div> # Model Context Protocol ## 🚀 Quickstart This example shows you how to create a MCP Server to connect GOAT with Claude for Desktop. It is implemented for both EVM (Base Sepolia) and Solana chains but can be updated to support any other chain, wallet and series of tools. ## Requirements - Have Claude for Desktop installed. You can download it from [here](https://claude.ai/download) ## Setup 1. Clone the repository: ```bash git clone https://github.com/goat-sdk/goat.git && cd goat ``` 2. Run the following commands from the `typescript` directory: ```bash cd typescript pnpm install pnpm build ``` 3. Go to the example directory: ```bash cd examples/by-framework/model-context-protocol ``` ### Configure the MCP server for Claude 1. Copy the `mcp-evm.example.json` file to `mcp-evm.json`: ```bash # For EVM cp mcp-evm.example.json mcp-evm.json # For Solana cp mcp-solana.example.json mcp-solana.json ``` 2. Update the json file with your values for either EVM or Solana: - Absolute path to the parent folder of the `model-context-protocol` folder, you can get it by running `pwd` in the `model-context-protocol` folder - `WALLET_PRIVATE_KEY` - `RPC_PROVIDER_URL` 3. Copy/update the json file and rename it to `claude_desktop_config.json` file to the `~/Library/Application Support/Claude/` directory: ```bash # For EVM cp mcp-evm.json ~/Library/Application\ Support/Claude/claude_desktop_config.json # For Solana cp mcp-solana.json ~/Library/Application\ Support/Claude/claude_desktop_config.json ``` This tells Claude for Desktop: - There’s are MCP servers named “goat-evm” / “goat-solana” - Launch it by running the specified command 4. Restart Claude for Desktop. **NOTE**: When making changes to the code you need to make sure to: 1. Run `pnpm build` in the `model-context-protocol` folder to generate the updated `evm.js` and `solana.js` files. 2. If you update the json file: copy it again to the `~/Library/Application Support/Claude/` directory, or update the `claude_desktop_config.json` file with the new values. You will also need to restart Claude. ## Usage 1. Run Claude for Desktop 2. Chat with the agent: - Check your balance for ERC-20 tokens - Send ERC-20 tokens to another address - Check your balance again to see the tokens you just sent For more information on how to use the model context protocol, check out the [docs](https://modelcontextprotocol.io/quickstart/server). <footer> <br/> <br/> <div> <img src="https://github.com/user-attachments/assets/4821833e-52e5-4126-a2a1-59e9fa9bebd7" alt="GOAT" width="100%" height="auto" style="object-fit: contain; max-width: 800px;"> <div> </footer>