|
| 1 | +// Simple Price Check Example |
| 2 | +// 이 예제는 CCXT MCP 서버를 통해 여러 거래소에서 비트코인 가격을 조회하는 방법을 보여줍니다. |
| 3 | + |
| 4 | +import { MCPClient } from '@modelcontextprotocol/sdk'; |
| 5 | + |
| 6 | +// Claude에서 MCP를 사용하는 경우 |
| 7 | +// 이 코드는 Claude와 상호작용할 때 사용할 구문이므로 직접 실행하지 마세요 |
| 8 | +async function checkPricesInClaude() { |
| 9 | + // 비트코인 가격 조회하기 |
| 10 | + const binanceTicker = await client.callTool({ |
| 11 | + name: "fetchTicker", |
| 12 | + arguments: { exchangeId: "binance", symbol: "BTC/USDT" } |
| 13 | + }); |
| 14 | + |
| 15 | + const coinbaseTicker = await client.callTool({ |
| 16 | + name: "fetchTicker", |
| 17 | + arguments: { exchangeId: "coinbase", symbol: "BTC/USD" } |
| 18 | + }); |
| 19 | + |
| 20 | + console.log(`비트코인 가격 (Binance): ${binanceTicker.last} USDT`); |
| 21 | + console.log(`비트코인 가격 (Coinbase): ${coinbaseTicker.last} USD`); |
| 22 | + |
| 23 | + // 거래소 간 가격 비교하기 |
| 24 | + const priceDifference = ((coinbaseTicker.last - binanceTicker.last) / binanceTicker.last) * 100; |
| 25 | + console.log(`가격 차이: ${priceDifference.toFixed(2)}%`); |
| 26 | +} |
| 27 | + |
| 28 | +// 프로그래밍 방식으로 CCXT MCP 서버와 직접 상호작용하는 경우 |
| 29 | +// 이 코드는 Node.js 환경에서 직접 실행할 수 있습니다 |
| 30 | +async function checkPricesProgrammatically() { |
| 31 | + // CCXT MCP 서버에 연결 |
| 32 | + const client = new MCPClient('http://localhost:3000'); |
| 33 | + |
| 34 | + try { |
| 35 | + // 서버에 연결 |
| 36 | + await client.connect(); |
| 37 | + |
| 38 | + // 비트코인 가격 조회하기 |
| 39 | + const binanceTicker = await client.callTool('fetchTicker', { |
| 40 | + exchangeId: "binance", |
| 41 | + symbol: "BTC/USDT" |
| 42 | + }); |
| 43 | + |
| 44 | + const coinbaseTicker = await client.callTool('fetchTicker', { |
| 45 | + exchangeId: "coinbase", |
| 46 | + symbol: "BTC/USD" |
| 47 | + }); |
| 48 | + |
| 49 | + console.log(`비트코인 가격 (Binance): ${binanceTicker.last} USDT`); |
| 50 | + console.log(`비트코인 가격 (Coinbase): ${coinbaseTicker.last} USD`); |
| 51 | + |
| 52 | + // 거래소 간 가격 비교하기 |
| 53 | + const priceDifference = ((coinbaseTicker.last - binanceTicker.last) / binanceTicker.last) * 100; |
| 54 | + console.log(`가격 차이: ${priceDifference.toFixed(2)}%`); |
| 55 | + } catch (error) { |
| 56 | + console.error('오류 발생:', error); |
| 57 | + } finally { |
| 58 | + // 연결 종료 |
| 59 | + await client.disconnect(); |
| 60 | + } |
| 61 | +} |
| 62 | + |
| 63 | +// 노드에서 실행하는 경우 이 코드를 주석 해제하세요 |
| 64 | +// checkPricesProgrammatically(); |
0 commit comments