uniswap-trader-mcp
uniswap-trader-mcp
uniswap-trader-mcp는 AI 에이전트가 여러 블록체인에서 Uniswap DEX(탈중앙화 거래소)에서 토큰 스왑을 자동화할 수 있는 MCP 서버입니다. 이 서버는 이더리움, 옵티미즘, 폴리곤, 아비트럼, 셀로, BNB 체인, 아발란체, 베이스 등 여러 블록체인을 지원합니다.
특징
- 가격 조회: 다중 홉 경로 최적화가 포함된 토큰 스왑에 대한 실시간 가격 견적 제공
- 스왑 실행: 설정 가능한 슬리피지 허용 범위와 마감 시간으로 Uniswap V3에서 스왑 실행
- 스왑 제안: 유동성, 수수료, 최적 경로를 기반으로 거래 제안 생성
- 다중 체인 지원: 이더리움, 옵티미즘, 폴리곤, 아비트럼, 셀로, BNB 체인, 아발란체, 베이스 등 다양한 블록체인 호환
- 자동화 지원: AI 에이전트가 거래 전략을 자동화할 수 있는 도구 제공
API
도구
getSwapQuote
- 설명: 다중 홉 경로 최적화가 포함된 토큰 스왑에 대한 실시간 가격 견적을 가져옵니다
- 입력:
- chainId: 블록체인 네트워크 ID
- tokenIn: 입력 토큰 주소(또는 네이티브 토큰의 경우 "NATIVE")
- tokenOut: 출력 토큰 주소
- amount: 스왑할 토큰 양
- exactIn: 입력 금액이 정확한지 여부(기본값: true)
- 출력: 가격 견적, 예상 출력 금액, 경로, 수수료 등
executeSwap
- 설명: Uniswap에서 토큰 스왑을 실행합니다
- 입력:
- chainId: 블록체인 네트워크 ID
- tokenIn: 입력 토큰 주소(또는 네이티브 토큰의 경우 "NATIVE")
- tokenOut: 출력 토큰 주소
- amount: 스왑할 토큰 양
- slippageTolerance: 허용할 슬리피지 비율(기본값: 0.5%)
- deadline: 트랜잭션 마감 시간(분 단위, 기본값: 20)
- exactIn: 입력 금액이 정확한지 여부(기본값: true)
- 출력: 트랜잭션 해시, 거래 유형, 입력 금액, 출력 금액, 최소 수신 금액 등
getTokenInfo
- 설명: 토큰에 대한 정보를 조회합니다
- 입력:
- chainId: 블록체인 네트워크 ID
- tokenAddress: 토큰 계약 주소
- 출력: 토큰 이름, 심볼, 소수점, 총 공급량
getSupportedChains
- 설명: 지원되는 블록체인 네트워크 목록을 조회합니다
- 입력: 없음
- 출력: 지원되는 체인 ID 및 이름 목록
suggestSwaps
- 설명: 유동성, 수수료, 최적 경로를 기반으로 거래 제안을 생성합니다
- 입력:
- chainId: 블록체인 네트워크 ID
- balance: 최소 잔액(선택 사항)
- 출력: 추천 스왑 목록 및 근거
사용 방법
설치
# 글로벌 설치
npm install -g uniswap-trader-mcp
# 또는 프로젝트에 로컬 설치
npm install uniswap-trader-mcp
구성
Claude Desktop에서 이 서버를 사용하기 위한 설정 방법:
{
"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"
}
}
}
}
필요 조건
- Node.js 버전 14.x 이상
- 스왑 실행을 위한 개인 키가 있는 자금이 충분한 지갑
- 지원되는 체인에 대한 블록체인 RPC URL(예: Infura, Alchemy)
사용 예시
토큰 스왑을 실행하려면:
getSwapQuote도구를 사용하여 현재 가격 견적을 얻습니다.- 견적을 검토하고 조건이 맞으면
executeSwap도구를 사용하여 스왑을 실행합니다. - 트랜잭션 해시를 사용하여 블록체인 탐색기에서 거래 상태를 확인합니다.
예시: 이더리움에서 1 ETH를 DAI로 스왑하기(0.5% 슬리피지 및 20분 마감 시간)
{
"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"
}
연결된 구성 요소
- uniswap-poolspy-mcp - Uniswap에서 새로 생성된 유동성 풀을 추적하는 MCP 서버
- token-minter-mcp - 다양한 블록체인에서 ERC-20 토큰을 발행하는 MCP 서버
- token-revoke-mcp - ERC-20 토큰 허용량을 확인하고 취소하기 위한 MCP 서버
- whale-tracker-mcp - 암호화폐 고래 거래를 추적하기 위한 MCP 서버
- jupiter-mcp - Jupiter의 Ultra API를 사용하여 Solana 블록체인에서 토큰 스왑 실행