유니스왑 트레이더 MCP
여러 블록체인에 걸쳐 Uniswap DEX에서 토큰 스왑을 자동화하는 AI 에이전트를 위한 MCP 서버입니다.
특징
- 가격 견적 : 다중 홉 경로 최적화를 통해 토큰 스왑에 대한 실시간 가격 견적을 받아보세요.
- 스왑 실행 : Uniswap V3에서 구성 가능한 슬리피지 허용 범위와 마감일을 사용하여 스왑을 실행합니다.
- 스왑 제안 : 유동성, 수수료, 최적 경로를 기반으로 거래 제안을 생성합니다.
- 멀티 체인 지원 : Ethereum, Optimism, Polygon, Arbitrum, Celo, BNB Chain, Avalanche, Base와 호환됩니다.
필수 조건
- Node.js : 버전 14.x 이상.
- npm : 패키지 관리를 위해.
- 지갑 : 스왑을 실행하기 위한 개인 키가 있는 자금이 있는 지갑입니다.
- RPC 엔드포인트 : 지원되는 체인에 대한 블록체인 RPC URL(예: Infura, Alchemy)에 액세스합니다.
설치
- 저장소 복제 :지엑스피1
- 종속성 설치 :
구성
{
"mcpServers": {
"Uniswap-Trader-MCP": {
"command": "node",
"args": ["path/to/uniswap-trader-mcp/server/index.js"],
"env": {
"INFURA_KEY": "your infura key",
"WALLET_PRIVATE_KEY": "your private key"
}
}
}
}
용법
지원되는 체인
다음 블록체인이 지원됩니다. 각 체인이 chainConfigs.js
에 유효한 RPC URL, WETH 주소, SwapRouter 주소로 구성되어 있는지 확인하세요.
체인 ID | 이름 | 노트 |
---|
1 | 이더리움 | 유니스왑 거래에 널리 사용되는 메인넷 |
10 | 낙천주의 | 레이어 2에는 Optimism RPC가 필요합니다. |
137 | 다각형 | 빠르고 저렴하며, MATIC을 기본으로 사용합니다. |
42161 | 중재 | 레이어 2, Arbitrum One 네트워크 |
42220 | 셀로 | 모바일 우선 블록체인, CELO 활용 |
56 | BNB 체인 | 바이낸스 스마트 체인, BNB 사용 |
43114 | 눈사태 | 높은 처리량, AVAX 사용 |
8453 | 베이스 | 낙관론을 기반으로 구축된 Coinbase의 Layer 2 |
도구 및 프롬프트
1. getPrice
Uniswap 스왑에 대한 가격 견적을 가져옵니다.
스키마 :
chainId
: 숫자(기본값: 1)tokenIn
: 문자열(예: "NATIVE"
또는 토큰 주소)tokenOut
: 문자열(예: "NATIVE"
또는 토큰 주소)amountIn
: 문자열(선택 사항, "exactIn"
에 필수)amountOut
: 문자열(선택 사항, "exactOut"
에 필수)tradeType
: "exactIn"
또는 "exactOut"
(기본값: "exactIn"
)
예시 프롬프트:
Get me a price quote for swapping 1 ETH to DAI on Ethereum.
산출:
{
"chainId": 1,
"tradeType": "exactIn",
"price": "3000.50",
"inputAmount": "1.000000",
"outputAmount": "3000.50",
"minimumReceived": "2985.50",
"maximumInput": "1.005000",
"route": [
{
"tokenIn": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
"tokenOut": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
"fee": 3000
}
],
"estimatedGas": "150000"
}
2. executeSwap
Uniswap에서 스왑을 실행합니다.
스키마 :
chainId
: 숫자(기본값: 1)tokenIn
: 문자열tokenOut
: 문자열amountIn
: 문자열(선택 사항, "exactIn"
에 필수)amountOut
: 문자열(선택 사항, "exactOut"
에 필수)tradeType
: "exactIn"
또는 "exactOut"
(기본값: "exactIn"
)slippageTolerance
: 숫자(기본값: 0.5, 백분율)deadline
: 숫자 (기본값: 20, 분)
예시 프롬프트:
Swap 1 ETH for DAI on Ethereum with a 0.5% slippage tolerance and a 20-minute deadline.
산출:
{
"chainId": 1,
"txHash": "0x1234...abcd",
"tradeType": "exactIn",
"amountIn": "1.000000",
"outputAmount": "2990.75",
"minimumReceived": "2985.50",
"maximumInput": "1.005000",
"fromToken": "NATIVE",
"toToken": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
"route": [
{
"tokenIn": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
"tokenOut": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
"fee": 3000
}
],
"gasUsed": "145000"
}
특허
MIT 라이선스. 자세한 내용은 라이선스를 참조하세요.