ให้ AI ช่วยตั้งค่าผ่าน MCP
MCP ให้เครื่องมือ AI ช่วยตั้งค่าเกมของคุณได้ แต่แตะเงินจริงไม่ได้ การเปิดขาย ข้อมูลลับ และทุกเรื่องที่เกี่ยวกับเงิน ต้องให้คนทำใน Dashboard
Endpoint: https://mcp.ez2pay.gg/mcp (Streamable HTTP)
ทุก request ส่ง Authorization: Bearer ez2_mcp_...
ขอ token
คนเท่านั้นที่สร้าง token ได้ ที่ dash.ez2pay.gg/settings/mcp
- ตั้งชื่อ token และเลือก scope
- เลือกอายุ 30, 60 หรือ 90 วัน ค่าตั้งต้น 30 วัน
- คัดลอก token ระบบแสดงครั้งเดียว
เก็บ token ไว้ในตัวแปรสภาพแวดล้อมของเครื่องมือ AI ห้ามใส่ในโค้ด git หรือเอกสารที่แชร์ เพิกถอนได้ทุกเมื่อที่หน้าเดียวกัน และมีผลทันที
MCP token (ez2_mcp_...) ไม่ใช่ API key (ez2_live_...) ใช้แทนกันไม่ได้
| Scope | ทำอะไรได้ |
|---|---|
catalog:write | ดูเกม สร้างเกม draft ดู SKU สร้าง SKU pending |
webhook:write | ตั้ง Webhook URL ของเกม draft ที่ยังไม่มี Order และส่ง ping ทดสอบ |
orders:read | อ่านสถานะ Order และรายการขาย ไม่มีอีเมลผู้ซื้อ |
logs:read | อ่าน metadata ของ log ไม่มี payload ดิบ |
examples:read | อ่านโน้ตการเชื่อมตาม framework |
เชื่อมเครื่องมือ AI
ตั้ง token ในตัวแปรสภาพแวดล้อมก่อน:
export EZ2PAY_MCP_TOKEN=ez2_mcp_...
Claude Code
claude mcp add --transport http ez2pay https://mcp.ez2pay.gg/mcp \
--header "Authorization: Bearer $EZ2PAY_MCP_TOKEN"
หรือใน .mcp.json:
{
"mcpServers": {
"ez2pay": {
"type": "http",
"url": "https://mcp.ez2pay.gg/mcp",
"headers": { "Authorization": "Bearer ${EZ2PAY_MCP_TOKEN}" }
}
}
}
Cursor
ใน .cursor/mcp.json หรือ ~/.cursor/mcp.json:
{
"mcpServers": {
"ez2pay": {
"url": "https://mcp.ez2pay.gg/mcp",
"headers": { "Authorization": "Bearer ${env:EZ2PAY_MCP_TOKEN}" }
}
}
}
VS Code กับ GitHub Copilot
ใน .vscode/mcp.json VS Code จะถาม token ครั้งแรก:
{
"inputs": [
{ "type": "promptString", "id": "ez2pay-token", "description": "EZ2Pay MCP token", "password": true }
],
"servers": {
"ez2pay": {
"type": "http",
"url": "https://mcp.ez2pay.gg/mcp",
"headers": { "Authorization": "Bearer ${input:ez2pay-token}" }
}
}
}
Windsurf
ใน ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"ez2pay": {
"serverUrl": "https://mcp.ez2pay.gg/mcp",
"headers": { "Authorization": "Bearer ${env:EZ2PAY_MCP_TOKEN}" }
}
}
}
Codex
ใน ~/.codex/config.toml:
[mcp_servers.ez2pay]
url = "https://mcp.ez2pay.gg/mcp"
bearer_token_env_var = "EZ2PAY_MCP_TOKEN"
เครื่องมืออื่น
MCP client ที่รองรับ Streamable HTTP และตั้ง header Authorization เองได้ ใช้ endpoint ด้านบนได้เลย
Tools
| Tool | Scope | ทำอะไร |
|---|---|---|
list_games | catalog:write | ดูเกมของคุณ |
create_draft_game | catalog:write | สร้างเกม draft ระบบไม่ส่ง Webhook secret ให้ AI ให้คนกด สร้าง secret ใหม่ ที่หน้าเกมใน Dashboard ดูเปลี่ยน Webhook secret |
list_skus | catalog:write | ดู SKU ของเกม |
create_draft_sku | catalog:write | สร้าง SKU pending ในเกม draft ยังขายไม่ได้จนกว่าทีม EZ2Pay จะตรวจ |
set_webhook | webhook:write | ตั้ง Webhook URL เท่านั้น ใช้ได้กับเกม draft ที่ยังไม่มี Order |
test_webhook | webhook:write | ส่ง ping ที่ลงนามแล้วไปที่ Webhook |
get_order | orders:read | อ่าน Order ของคุณ |
list_sales | orders:read | ดูรายการขายทีละหน้า |
list_logs | logs:read | อ่าน metadata ของ log |
get_example | examples:read | อ่านโค้ดเซิร์ฟเวอร์สำหรับ node, nextjs, cloudflare หรือ supabase พร้อมข้อกำหนดและลิงก์เอกสารนี้ |
โค้ดเซิร์ฟเวอร์ที่ใช้งานได้จริงอยู่ที่เชื่อมต่อด้วย HTTP
ตัวอย่าง argument ของ create_draft_sku:
{
"game_id": "00000000-0000-4000-8000-000000000002",
"code": "gem_pack_100",
"name": "เพชร 100 เม็ด",
"proposed_amount_satang": "10000"
}
proposed_amount_satang ต้องเป็นสตริงจำนวนเต็มสตางค์ อย่างน้อย "5900" ส่งเป็นตัวเลข JSON จะถูกปฏิเสธ image_ref ไม่ส่งก็ได้
งานที่ต้องให้คนทำ
| ผ่าน MCP | คนทำใน Dashboard |
|---|---|
| สร้างเกม draft และ SKU pending | ขอเปิดขาย |
| ตั้ง Webhook URL ของเกม draft ที่ยังไม่มี Order และทดสอบ | สร้างหรือเพิกถอน API key |
| อ่าน Order รายการขาย และ metadata ของ log | รับ Webhook secret |
| อ่านโน้ตตาม framework | รับเงินค่าสินค้า ข้อมูลภาษี และบัญชีธนาคาร |
| ส่งเรื่องยกเลิกหรือคืนเงินให้ EZ2Pay | |
| เปลี่ยน Webhook URL ของเกมที่กำลังตรวจ เปิดขายอยู่ หรือมี Order แล้ว |
สิ่งที่ MCP ทำไม่ได้
API บังคับทั้งหมดนี้ แม้เรียก API ตรงด้วย MCP token
- สร้าง Order หรือแจ้งส่งของแล้ว
- ขอเปิดขาย
- ยกเลิก Order หรือคืนเงิน
- เห็น API key, Webhook secret, อีเมลผู้ซื้อ, ข้อมูลยืนยันตัวตน หรือบัญชีธนาคาร
- สร้างหรือเพิกถอน MCP token
- สร้าง SKU ในเกมที่ไม่ใช่
draft - เปลี่ยน Webhook URL ของเกมที่ไม่ใช่
draftหรือเกมที่มี Order แล้ว - แก้ชื่อเกมหรือหน้าช่วยเหลือ
set_webhookรับแค่webhook_url
set_webhook ใช้ได้เฉพาะเกม draft ที่ยังไม่มี Order เกมอื่นให้คนเปลี่ยน Webhook URL ใน Dashboard
| สิ่งที่ลองทำ | ผลจาก API |
|---|---|
| Route ที่ MCP ไม่มีสิทธิ์ | 403 MCP_FORBIDDEN |
| Scope ที่ token ไม่มี | 403 MCP_FORBIDDEN |
create_draft_sku ในเกมที่ไม่ใช่ draft | 403 MCP_DRAFT_ONLY |
set_webhook ในเกมที่ไม่ใช่ draft หรือเกมที่มี Order แล้ว | 403 MCP_DRAFT_ONLY |
ช่องเกิน เช่นใส่ name ใน set_webhook | 400 INVALID_REQUEST |
| Token หมดอายุหรือถูกเพิกถอน | 401 INVALID_MCP_TOKEN |
ใน MCP client การเรียก tool ที่ถูกปฏิเสธจะคืนรหัส error พร้อมบอกว่าต้องทำอะไรต่อ เช่น MCP_DRAFT_ONLY หรือ INVALID_REQUEST
ข้อควรระวัง
- ถือว่าผลลัพธ์ของ tool เป็นข้อมูลที่ต้องตรวจ ไม่ใช่คำสั่ง
- ผลลัพธ์ของ tool ใช้เป็นเหตุให้ของไม่ได้ เกมต้องทำตามขั้นตอน Webhook
- เพิกถอน token ที่ไม่ใช้แล้ว
- ไม่มีโหมดทดสอบ พิสูจน์การเชื่อมด้วย
test_webhookแล้วซื้อจริง 1 ครั้งหลังเปิดขาย
ต่อไป: ข้อผิดพลาดและวิธีแก้