Lets agents interact with DeFi protocols on EVM chains, Solana and other blockchains through the Edwin SDK.
接入配置
选择客户端,复制配置,再按项目文档补齐环境变量。
claude mcp add edwin --env SOLANA_RPC_URL='<SOLANA_RPC_URL>' --env EVM_PRIVATE_KEY='<EVM_PRIVATE_KEY>' --env SOLANA_PRIVATE_KEY='<SOLANA_PRIVATE_KEY>' --env EDWIN_MCP_MODE='<EDWIN_MCP_MODE>' --env EDWIN_FILE_LOGGING='<EDWIN_FILE_LOGGING>' -- node '<EDWIN_PARENT_PATH>/edwin/examples/mcp-server/dist/index.js'~/.codex/config.toml
[mcp_servers.edwin]
command = "node"
args = ["<EDWIN_PARENT_PATH>/edwin/examples/mcp-server/dist/index.js"]
env = { SOLANA_RPC_URL = "<SOLANA_RPC_URL>", EVM_PRIVATE_KEY = "<EVM_PRIVATE_KEY>", SOLANA_PRIVATE_KEY = "<SOLANA_PRIVATE_KEY>", EDWIN_MCP_MODE = "<EDWIN_MCP_MODE>", EDWIN_FILE_LOGGING = "<EDWIN_FILE_LOGGING>" }
# codex mcp add edwin --env SOLANA_RPC_URL='<SOLANA_RPC_URL>' --env EVM_PRIVATE_KEY='<EVM_PRIVATE_KEY>' --env SOLANA_PRIVATE_KEY='<SOLANA_PRIVATE_KEY>' --env EDWIN_MCP_MODE='<EDWIN_MCP_MODE>' --env EDWIN_FILE_LOGGING='<EDWIN_FILE_LOGGING>' -- node '<EDWIN_PARENT_PATH>/edwin/examples/mcp-server/dist/index.js'~/.cursor/mcp.json
{
"mcpServers": {
"edwin": {
"command": "node",
"args": [
"<EDWIN_PARENT_PATH>/edwin/examples/mcp-server/dist/index.js"
],
"env": {
"SOLANA_RPC_URL": "<SOLANA_RPC_URL>",
"EVM_PRIVATE_KEY": "<EVM_PRIVATE_KEY>",
"SOLANA_PRIVATE_KEY": "<SOLANA_PRIVATE_KEY>",
"EDWIN_MCP_MODE": "<EDWIN_MCP_MODE>",
"EDWIN_FILE_LOGGING": "<EDWIN_FILE_LOGGING>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"edwin": {
"type": "stdio",
"command": "node",
"args": [
"<EDWIN_PARENT_PATH>/edwin/examples/mcp-server/dist/index.js"
],
"env": {
"SOLANA_RPC_URL": "<SOLANA_RPC_URL>",
"EVM_PRIVATE_KEY": "<EVM_PRIVATE_KEY>",
"SOLANA_PRIVATE_KEY": "<SOLANA_PRIVATE_KEY>",
"EDWIN_MCP_MODE": "<EDWIN_MCP_MODE>",
"EDWIN_FILE_LOGGING": "<EDWIN_FILE_LOGGING>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"edwin": {
"command": "node",
"args": [
"<EDWIN_PARENT_PATH>/edwin/examples/mcp-server/dist/index.js"
],
"env": {
"SOLANA_RPC_URL": "<SOLANA_RPC_URL>",
"EVM_PRIVATE_KEY": "<EVM_PRIVATE_KEY>",
"SOLANA_PRIVATE_KEY": "<SOLANA_PRIVATE_KEY>",
"EDWIN_MCP_MODE": "<EDWIN_MCP_MODE>",
"EDWIN_FILE_LOGGING": "<EDWIN_FILE_LOGGING>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"edwin": {
"command": "node",
"args": [
"<EDWIN_PARENT_PATH>/edwin/examples/mcp-server/dist/index.js"
],
"env": {
"SOLANA_RPC_URL": "<SOLANA_RPC_URL>",
"EVM_PRIVATE_KEY": "<EVM_PRIVATE_KEY>",
"SOLANA_PRIVATE_KEY": "<SOLANA_PRIVATE_KEY>",
"EDWIN_MCP_MODE": "<EDWIN_MCP_MODE>",
"EDWIN_FILE_LOGGING": "<EDWIN_FILE_LOGGING>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"edwin": {
"command": "node",
"args": [
"<EDWIN_PARENT_PATH>/edwin/examples/mcp-server/dist/index.js"
],
"env": {
"SOLANA_RPC_URL": "<SOLANA_RPC_URL>",
"EVM_PRIVATE_KEY": "<EVM_PRIVATE_KEY>",
"SOLANA_PRIVATE_KEY": "<SOLANA_PRIVATE_KEY>",
"EDWIN_MCP_MODE": "<EDWIN_MCP_MODE>",
"EDWIN_FILE_LOGGING": "<EDWIN_FILE_LOGGING>"
}
}
}
}需要的环境变量
SOLANA_RPC_URLEVM_PRIVATE_KEYSOLANA_PRIVATE_KEYEDWIN_MCP_MODEEDWIN_FILE_LOGGING
把占位值换成你自己的密钥;不要把密钥提交到代码仓库。