ตั้งค่า MCP

ติดตั้งและกำหนดค่า IronWallet MCP server สำหรับ Cursor, Claude Code, ChatGPT และไคลเอนต์ MCP อื่นๆ

IronWallet MCP server (@ironwallet/mcp-server) ช่วยให้ AI agent มีกระเป๋าเงินคริปโตแบบ non-custodial บนคอมพิวเตอร์ของคุณ Seed phrase จะถูกสร้างและเข้ารหัสไว้ในเครื่อง โดยจะไม่ถูกส่งออกจากเครื่องนี้ และไม่ผ่านตัว agent, LLM หรือแบ็กเอนด์ของ IronWallet แต่อย่างใด Agent สามารถตรวจสอบยอดเงิน แสดง QR code สำหรับการฝาก โอนเหรียญ และแลกเปลี่ยนข้าม 12 เครือข่าย ได้แก่ Ethereum, BSC, Polygon, Base, Arbitrum, Optimism, Avalanche, Tron, Bitcoin, Solana, XRP และ TON

ไม่มี UI สำหรับยืนยันการทำธุรกรรมแต่ละรายการ — เมื่อคุณสั่งให้ agent ทำการโอนหรือแลกเปลี่ยน มันสามารถลงนามและส่งธุรกรรมได้ทันทีโดยไม่ต้องถามซ้ำ โปรดใช้ hot wallet แยกต่างหากที่มีเงินจำกัด ห้ามใช้กระเป๋าเงินหลักของคุณเด็ดขาด

ข้อกำหนด: Node.js 20+ (npx) รองรับเฉพาะ Desktop / stdio เท่านั้น

คุณสมบัติ

Non-custodial, ลงนามในเครื่อง

Seed phrases จะถูกเข้ารหัสไว้บนเครื่องโฮสต์ (สิทธิ์ไฟล์จำกัดเฉพาะเจ้าของ) ธุรกรรมจะถูกลงนามในเครื่องนี้ ไม่มีเครื่องมือใดที่รับหรือส่งคืน seed

กระเป๋าเงินในเบราว์เซอร์ท้องถิ่น

สร้างกระเป๋าเงินด้วย create_wallets (ส่งคืน backup_url) หรือนำเข้าและสำรองข้อมูลผ่าน open_wallet_manager ซึ่งเป็นหน้า loopback บน 127.0.0.1 ที่จะปิดตัวเองหลังจากไม่มีการใช้งาน 15 นาที ความลับจะปรากฏเฉพาะในหน้าเบราว์เซอร์นั้น ไม่ปรากฏในแชท

การโอนพร้อมประมาณการค่าธรรมเนียม

estimate_transfer จะแสดงตัวอย่างค่าธรรมเนียมก่อนส่ง; send_transfer จะลงนามในเครื่องและส่ง; get_operation_status จะคอยตรวจสอบผลลัพธ์ เซิร์ฟเวอร์อาจลดจำนวนเงินลงเล็กน้อยเพื่อให้ค่าธรรมเนียมเพียงพอต่อยอดเงินคงเหลือ — การตอบกลับจะแจ้งให้ทราบเมื่อเกิดกรณีนี้

การแลกเปลี่ยนผ่านแคตตาล็อก

list_swap_networks และ list_swap_assets จะให้แคตตาล็อกการซื้อ/ขาย เพื่อให้ agent ไม่ต้องเดาที่อยู่ของเหรียญ estimate_swap จะเสนอราคา execute_swap จะดำเนินการตามราคาที่เสนอ และ get_swap_status จะคอยตรวจสอบสถานะ

QR code สำหรับการฝาก

get_deposit_qr จะส่งคืนไฟล์ PNG สำหรับแชทพร้อมกับ qr_url สำรองในเครื่อง

ขีดจำกัดการใช้จ่าย (ทางเลือก)

นโยบายต่อกระเป๋าเงินผ่าน set_wallet_policy: readOnly, maxPerTxUsd และรายการอนุญาตผู้รับโอน โดยค่าเริ่มต้นจะปิดใช้งาน และมีผลกับทั้งการโอนและการแลกเปลี่ยน การตั้งค่า IW_READ_ONLY=true จะทำให้เซิร์ฟเวอร์ทั้งหมดเป็นแบบอ่านอย่างเดียว

การติดตั้ง

ตัวเลือกที่ 1: npx (แนะนำ)

ใช้ npx เพื่อรันเซิร์ฟเวอร์โดยไม่ต้องติดตั้งแบบ global ซึ่งช่วยให้มั่นใจว่าคุณใช้เวอร์ชันล่าสุดอยู่เสมอ

1{
2 "mcpServers": {
3 "ironwallet": {
4 "command": "npx",
5 "args": ["-y", "@ironwallet/mcp-server"]
6 }
7 }
8}

การเปิดใช้งานครั้งแรกอาจใช้เวลาประมาณ 30 วินาทีในขณะที่ติดตั้ง dependencies หากไคลเอนต์ MCP ของคุณหมดเวลา ให้รันคำสั่งในเทอร์มินัลหนึ่งครั้งเพื่อวอร์มแคช แล้วค่อยเชื่อมต่อใหม่

ตัวเลือกที่ 2: ติดตั้งแบบ Global

ติดตั้งแพ็กเกจแบบ global เพื่อให้เริ่มทำงานได้เร็วขึ้น จากนั้นรัน ironwallet-mcp

npm install -g @ironwallet/mcp-server@latest

คู่มือการตั้งค่า

สำหรับเดสก์ท็อปเท่านั้น

ไคลเอนต์แต่ละตัวมี URL คงที่แยกต่างหาก (ตัวอย่างเช่น /ai/introduction/vscode/) คำสั่งติดตั้งทั้งหมดด้านล่างนี้ถูกรวมไว้ในหน้านี้แล้ว ไม่มีการแบ่งแท็บหรือซ่อนข้อมูลไว้หลังการคลิก

Cursor

แนะนำมากที่สุด

แนะนำมากที่สุด

ใช้งานได้ดีกับเวอร์ชันฟรี ติดตั้งง่าย ประสบการณ์การใช้งานดีที่สุด

เปิดใน Cursor

ติดตั้งเพียงครั้งเดียว หลังจากนั้นเครื่องมือกระเป๋าเงินจะพร้อมใช้งานในทุกแชท คุณยังสามารถคัดลอกข้อความนี้ไปวางใน ~/.cursor/mcp.json แล้วรีสตาร์ท Cursor

1{
2 "mcpServers": {
3 "ironwallet": {
4 "command": "npx",
5 "args": ["-y", "@ironwallet/mcp-server"]
6 }
7 }
8}

รีโหลด Cursor หลังจากติดตั้งเพื่อให้ PATH รวม npx ไว้ด้วย

หน้าแบบสแตนด์อโลนสำหรับ Cursor — การดึงข้อมูล HTTP หนึ่งครั้งจะส่งคืนเฉพาะคู่มือนี้เท่านั้น

Claude Code

ต้องใช้ระดับความเชี่ยวชาญสูงขึ้น

ใช้งานได้ดีกับโหมด Code แต่โหมด Chat มีข้อจำกัดมาก

เปิดใน Claude Code

รันคำสั่งเหล่านี้ตามลำดับ:

1claude plugin marketplace add ironwallet/ironwallet-agent-kit
2claude plugin install ironwallet-mcp@ironwallet

หลังจากติดตั้งปลั๊กอินแล้ว ให้รอประมาณ 45 วินาทีและเริ่มแชทใหม่เพื่อให้เครื่องมือโหลดขึ้นมา

หรือชี้ Claude Code ไปที่ stdio server โดยตรง:

1{
2 "mcpServers": {
3 "ironwallet": {
4 "command": "npx",
5 "args": ["-y", "@ironwallet/mcp-server"]
6 }
7 }
8}

หน้าแบบสแตนด์อโลนสำหรับ Claude Code — การดึงข้อมูล HTTP หนึ่งครั้งจะส่งคืนเฉพาะคู่มือนี้เท่านั้น

VS Code

ระดับความเชี่ยวชาญสูงสุด

ต้องใช้ปลั๊กอินเพิ่มเติมกับโมเดล AI เวอร์ชันเสียเงิน

เปิดใน VS Code

เปิด VS Code และลงทะเบียน MCP server ในเครื่อง คุณยังสามารถเพิ่มสิ่งนี้ลงในการตั้งค่า MCP ของ VS Code (ระดับผู้ใช้หรือระดับ workspace)

1{
2 "mcp": {
3 "servers": {
4 "ironwallet": {
5 "type": "stdio",
6 "command": "npx",
7 "args": ["-y", "@ironwallet/mcp-server"]
8 }
9 }
10 }
11}

หน้าแบบสแตนด์อโลนสำหรับ VS Code — การดึงข้อมูล HTTP หนึ่งครั้งจะส่งคืนเฉพาะคู่มือนี้เท่านั้น

ChatGPT

ตั้งค่าง่าย - ต้องใช้ ChatGPT

เวอร์ชันฟรีมีข้อจำกัดมาก เวอร์ชันเสียเงินทำงานได้ดีกว่า

เปิดใน ChatGPT

รันคำสั่งเหล่านี้ตามลำดับ แล้วรีโหลดเพื่อให้เครื่องมือ MCP พร้อมใช้งาน

1codex plugin marketplace add ironwallet/ironwallet-agent-kit
2codex plugin add ironwallet-mcp@ironwallet

หรือชี้ ChatGPT ไปที่ stdio server โดยตรง:

1{
2 "mcpServers": {
3 "ironwallet": {
4 "command": "npx",
5 "args": ["-y", "@ironwallet/mcp-server"]
6 }
7 }
8}

หน้าแบบสแตนด์อโลนสำหรับ ChatGPT — การดึงข้อมูล HTTP หนึ่งครั้งจะส่งคืนเฉพาะคู่มือนี้เท่านั้น

ไคลเอนต์อื่นๆ

ใช้ stdio transport โดยชี้ไคลเอนต์ MCP ของคุณไปที่:

1{
2 "mcpServers": {
3 "ironwallet": {
4 "command": "npx",
5 "args": ["-y", "@ironwallet/mcp-server"]
6 }
7 }
8}

หน้าแบบสแตนด์อโลนสำหรับ ไคลเอนต์อื่นๆ — การดึงข้อมูล HTTP หนึ่งครั้งจะส่งคืนเฉพาะคู่มือนี้เท่านั้น

การใช้งานครั้งแรกและการตั้งค่ากระเป๋าเงิน

ไม่มีการลงชื่อเข้าใช้และไม่มีบัญชีผู้ใช้ ในการเปิดใช้งานครั้งแรก เซิร์ฟเวอร์จะสร้างความลับในเครื่อง ได้แก่ relay API key, keystore wrapping secret และ device id ไว้ภายใต้ ~/.ironwallet-mcp/ โดยกำหนดสิทธิ์ให้เจ้าของเครื่องเข้าถึงได้เท่านั้น ไม่ต้องตั้งค่าอะไรเพิ่มเติม

เพื่อเริ่มใช้งานกระเป๋าเงิน:

1
การยินยอม. ก่อนสร้างหรือนำเข้ากระเป๋าเงิน agent จะแสดงข้อจำกัดความรับผิดชอบ MCP ในแชทและบันทึกการยอมรับของคุณ (accept_mcp_consent) หรือคุณสามารถกด ดำเนินการต่อ ในตัวจัดการกระเป๋าเงิน
2
สร้างหรือนำเข้า. create_wallets จะส่งคืนชื่อกระเป๋าเงินและที่อยู่พร้อมกับ backup_url — เปิดในเบราว์เซอร์ของคุณเพื่อดูและสำรองข้อมูล recovery phrase หากต้องการนำเข้ากระเป๋าเงินที่มีอยู่หรือสำรองข้อมูลในภายหลัง ให้ใช้ open_wallet_manager recovery phrase จะถูกพิมพ์หรือแสดง เฉพาะในหน้าเบราว์เซอร์ท้องถิ่นเท่านั้น ไม่ปรากฏในแชท
3
เติมเงินเข้ากระเป๋าเงิน. ขอ QR code สำหรับการฝาก (get_deposit_qr) หรือที่อยู่ (list_wallets) จาก agent แล้วโอนเงินจำนวนเล็กน้อยเข้ามา โปรดจำกัดยอดเงินไว้ — นี่คือ hot wallet

ข้อมูลบนดิสก์

เซิร์ฟเวอร์เก็บสถานะไว้ใน ~/.ironwallet-mcp/ (สามารถเปลี่ยนได้ด้วย IW_KEYSTORE_DIR):

keystore ที่เข้ารหัส พร้อม seed ของกระเป๋าเงินของคุณ

wrapping secret, relay API key และ device id

บันทึกการวินิจฉัยภายใต้ logs/ (ข้อมูล seed จะไม่ถูกบันทึก)

คำเตือน: ห้ามลบไดเรกทอรีนี้เพื่อ "รีเซ็ต" เซิร์ฟเวอร์

มันมีกุญแจที่เข้ารหัสสำหรับเงินของคุณ หากคุณลบออกโดยไม่ได้สำรองข้อมูล recovery phrase ในตัวจัดการกระเป๋าเงิน เงินของคุณจะสูญหาย การสำรองข้อมูลของคุณคือ recovery phrase ไม่ใช่ไฟล์เหล่านี้

ใครก็ตามที่มี keystore และ wrapping secret จะสามารถควบคุมเงินได้ ดังนั้นโปรดถือว่าไดเรกทอรีนี้เป็นข้อมูลที่ละเอียดอ่อน

ตัวแปรสภาพแวดล้อม (Environment variables)

ผู้ใช้ส่วนใหญ่ไม่จำเป็นต้องตั้งค่าตัวแปรสภาพแวดล้อมใดๆ เซิร์ฟเวอร์จะสร้างและจัดเก็บทุกอย่างที่จำเป็นในการเปิดใช้งานครั้งแรก ต่อไปนี้คือตัวเลือกสำหรับการใช้งานขั้นสูง:

ตัวแปร
คำอธิบาย
ค่าเริ่มต้น
IW_READ_ONLY
ปฏิเสธ send_transfer และ execute_swap ทั้งกระบวนการ แตกต่างจาก policy.readOnly ของแต่ละกระเป๋าเงิน
false
IW_KEYSTORE_DIR
ไดเรกทอรี Keystore
~/.ironwallet-mcp
IW_PASSPHRASE
แทนที่ keystore wrapping secret
generated locally
IW_RELAY_API_KEY
แทนที่ relay API key
generated UUID
IW_HTTP_TIMEOUT_MS
การหมดเวลา HTTP ทั่วไป
15000
IW_HTTP_FORWARD_TIMEOUT_MS
การหมดเวลาสำหรับการเรียกแบบ broadcast การที่ไคลเอนต์หมดเวลาไม่ได้หมายความว่าการดำเนินการล้มเหลวเสมอไป — โปรดตรวจสอบสถานะ
60000
IW_LOG_ENABLED
การวินิจฉัย JSONL ไปยังไฟล์บันทึก (0 เพื่อปิดใช้งาน)
1
IW_LOG_LEVEL
debug / info / warn / error
info

ความปลอดภัย

Seeds จะไม่ถูกส่งออกจากเครื่องนี้ ข้อมูลจะถูกเข้ารหัสไว้และไม่ปรากฏในผลลัพธ์ของเครื่องมือ, แชทของ agent, บันทึก หรือคำขอแบ็กเอนด์ ไม่มีเครื่องมือใดที่รับหรือส่งคืน seed — การนำเข้าและสำรองข้อมูลจะเกิดขึ้นในเบราว์เซอร์ท้องถิ่นเท่านั้น

Agent สามารถโอนเงินได้โดยไม่ต้องถามซ้ำ ไม่มี UI ยืนยันการทำธุรกรรมรายรายการ ข้อความแชทของคุณคือการอนุญาต การโอนและการแลกเปลี่ยนไม่สามารถย้อนกลับได้เมื่อส่งออกไปแล้ว

ขีดจำกัดทางเลือก นโยบายต่อกระเป๋าเงิน (readOnly, maxPerTxUsd, รายการอนุญาตผู้รับโอน) ผ่าน set_wallet_policy และ IW_READ_ONLY=true ทั่วทั้งเซิร์ฟเวอร์ ทั้งสองอย่างนี้ถูกปิดใช้งานโดยค่าเริ่มต้น

Hot wallet เท่านั้น ห้ามนำเข้ากระเป๋าเงินหลักหรือกระเป๋าเงินออมของคุณ ใครก็ตามที่มี keystore และ wrapping secret จะสามารถควบคุมเงินได้; seed ที่รั่วไหลไม่สามารถยกเลิกได้

การหมดเวลาไม่ใช่ความล้มเหลว โปรดตรวจสอบ get_operation_status / get_swap_status ก่อนลองส่งหรือแลกเปลี่ยนใหม่

คำขอแบ็กเอนด์ทั้งหมดใช้ HTTPS; ไฟล์ความลับในเครื่องใช้สิทธิ์เฉพาะเจ้าของ (Unix 0600, NTFS ACL บน Windows)

การเปิดเผยช่องโหว่: SECURITY.md

การทดสอบ

ทดสอบเซิร์ฟเวอร์โดยตรงโดยใช้ MCP inspector ซึ่งจะเปิดเว็บ UI แบบโต้ตอบที่คุณสามารถทดสอบการเรียกใช้เครื่องมือได้โดยไม่ต้องมี AI assistant

npx @modelcontextprotocol/inspector npx -y @ironwallet/mcp-server

การแก้ไขปัญหา

ไคลเอนต์ MCP หมดเวลาในการเริ่มครั้งแรก

npx จะดาวน์โหลดแพ็กเกจในการรันครั้งแรก ซึ่งอาจใช้เวลาประมาณ 30 วินาที

  • รัน npx -y @ironwallet/mcp-server ในเทอร์มินัลหนึ่งครั้งเพื่อวอร์มแคช แล้วค่อยเชื่อมต่อใหม่
  • หรือติดตั้งแบบ global: npm install -g @ironwallet/mcp-server@latest

เครื่องมือไม่ปรากฏในไคลเอนต์

  • ตรวจสอบว่าติดตั้ง Node.js 20+ แล้ว: node --version
  • รีโหลดไคลเอนต์หลังการติดตั้งเพื่อให้ PATH รวม npx ไว้ด้วย
  • หลังจากติดตั้งปลั๊กอิน (Claude Code / ChatGPT) ให้เริ่มแชทใหม่เพื่อให้เครื่องมือโหลด
  • ตรวจสอบว่าไฟล์คอนฟิกมี JSON ที่ถูกต้องและรีสตาร์ทไคลเอนต์
  • ทดสอบเซิร์ฟเวอร์ด้วยตนเองด้วย MCP inspector (ดูหัวข้อการทดสอบ)

create_wallets ส่งคืน needs_consent

ยังไม่ได้ยอมรับข้อจำกัดความรับผิดชอบ MCP ขอให้ agent แสดงข้อจำกัดความรับผิดชอบฉบับเต็มและยืนยัน (accept_mcp_consent) หรือเปิดตัวจัดการกระเป๋าเงินแล้วกด ดำเนินการต่อ

การโอนหรือแลกเปลี่ยนหมดเวลา

การหมดเวลาไม่ใช่ความล้มเหลว — ธุรกรรมอาจถูกส่งออกไปแล้ว ให้ตรวจสอบ get_operation_status (การโอน) หรือ get_swap_status (การแลกเปลี่ยน) ก่อนลองใหม่ ห้ามส่งซ้ำโดยไม่ตรวจสอบ

การโอนหรือแลกเปลี่ยนถูกปฏิเสธ

  • ตรวจสอบ list_wallets → policy: readOnly หรือรายการอนุญาตผู้รับโอนอาจกำลังบล็อกการดำเนินการ { enabled: false } หมายความว่าไม่มีการจำกัด
  • maxPerTxUsd จะล้มเหลวหากไม่มีอัตราแลกเปลี่ยน USD สำหรับเหรียญนั้น
  • ตรวจสอบว่าเซิร์ฟเวอร์รันด้วย IW_READ_ONLY=true หรือไม่