Edwin MCP Server
This is an example implementation of a Model Context Protocol (MCP) server for the Edwin SDK. It allows AI agents to interact with Edwin's tools through a standardized protocol.
Prerequisites
- Node.js >= 18.0.0
- pnpm (recommended) or npm
- A local Claude instance or access to Claude API
- EVM and/or Solana wallet private keys (depending on your needs)
Installation
- Clone the repository and navigate to the mcp-server directory:
cd examples/mcp-server
- Install dependencies:
pnpm install
- Build the project:
pnpm build
Running the Server
Option 1: Local Development
- Create your environment file:
cp .env.example .env
Configure your
.env
file with the following required settings:SOLANA_RPC_URL
: Your RPC endpointEVM_PRIVATE_KEY
: Your EVM wallet private keySOLANA_PRIVATE_KEY
: Your Solana wallet private keyEDWIN_MCP_MODE=true
: Enable MCP mode
Start the server:
- For production:
pnpm start
- For development with hot reloading:
pnpm dev
- For production:
Option 2: Using with Claude Desktop
After building the project, use the provided
claude_desktop_config.json
to configure your Claude Desktop:- Open Claude Desktop
- Go to Settings
- Import the configuration from
claude_desktop_config.json
The server will automatically start when needed by Claude Desktop.
Available Tools
The server exposes all tools configured in your Edwin instance. Common tools include:
- Wallet operations
- Balance checking
- Transaction signing
- Token transfers
- Contract interactions
Security Considerations
- Never commit your
.env
file with private keys - Use appropriate CORS settings in production
- Implement rate limiting for production use
- Keep your private keys secure and never share them
Troubleshooting
Server won't start:
- Check if the port is already in use
- Verify your environment variables are set correctly
- Check the logs for specific error messages
Tools not available:
- Ensure your Edwin instance is properly configured
- Check if the tools are properly registered
- Verify your wallet keys are correct
Connection issues:
- Check if the server is running
- Verify the port is correct
- Check network connectivity
Contributing
Feel free to submit issues and enhancement requests!
License
This project is licensed under the same terms as the main Edwin SDK.