DealX
ทางการMCP Server สำหรับแพลตฟอร์ม DealX
คุณทำอะไรได้บ้างด้วย Deal X MCP?
- ค้นหาโฆษณาด้วยคำสำคัญ — ค้นหารายการบนแพลตฟอร์ม DealX โดยใช้ข้อความค้นหาผ่าน
search_ads - จัดเรียงและแบ่งหน้าผลลัพธ์ — ควบคุมลำดับการจัดเรียง (เช่น รายการใหม่ล่าสุดก่อนด้วย
-created), ระยะห่างของหน้า และจำนวนผลลัพธ์ - จำกัดจำนวนผลลัพธ์ — กำหนดขนาดหน้าแบบกำหนดเองได้สูงสุด 100 โฆษณาต่อคำขอ
เอกสาร
@dealx/mcp-server
นี่คือเซิร์ฟเวอร์ Model Context Protocol (MCP) สำหรับ แพลตฟอร์ม DealX ซึ่งช่วยให้ LLM สามารถโต้ตอบกับแพลตฟอร์ม DealX ได้ โดยเฉพาะการค้นหาโฆษณา
สารบัญ
การปรับใช้แบบโฮสต์
มีการปรับใช้แบบโฮสต์ให้บริการบน Fronteir AI
ภาพรวม
เซิร์ฟเวอร์ DealX MCP ใช้ Model Context Protocol เพื่อมอบวิธีมาตรฐานให้ LLM สามารถโต้ตอบกับ แพลตฟอร์ม DealX ได้ ในปัจจุบันรองรับการค้นหาโฆษณา โดยมีแผนจะเพิ่มฟังก์ชันการทำงานอื่นๆ ในอนาคต
MCP คืออะไร?
Model Context Protocol (MCP) เป็นวิธีมาตรฐานสำหรับ LLM ในการโต้ตอบกับระบบภายนอก โดยมีอินเทอร์เฟซที่มีโครงสร้างเพื่อให้ LLM เข้าถึงข้อมูลและดำเนินการต่างๆ ในโลกแห่งความเป็นจริงได้ เซิร์ฟเวอร์นี้ใช้ข้อกำหนด MCP เพื่อให้ LLM สามารถโต้ตอบกับแพลตฟอร์ม DealX ได้
การติดตั้ง
ข้อกำหนดเบื้องต้น
- Node.js (v20 หรือใหม่กว่า)
- npm (v11 หรือใหม่กว่า)
การกำหนดค่า MCP
หากต้องการใช้เซิร์ฟเวอร์นี้กับ LLM อย่าง Claude คุณต้องเพิ่มเซิร์ฟเวอร์นี้ลงในการกำหนดค่า MCP ของ LLM:
-
เปิดไฟล์การกำหนดค่า MCP ของ LLM:
- แอป Claude Desktop:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
- Cline (ส่วนขยาย VS Code):
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
- แอป Claude Desktop:
-
เพิ่มเซิร์ฟเวอร์ DealX MCP ลงในส่วน
mcpServers:{ "mcpServers": { "dealx": { "command": "npx", "args": ["-y", "@dealx/mcp-server"], "env": { "DEALX_API_URL": "https://dealx.com.ua" }, "disabled": false, "autoApprove": [] } } }
การติดตั้งผ่าน npm
วิธีที่ง่ายที่สุดในการติดตั้งเซิร์ฟเวอร์ DealX MCP คือผ่าน npm:
npm install -g @dealx/mcp-server
การติดตั้งสำหรับการพัฒนา
หากคุณต้องการแก้ไขเซิร์ฟเวอร์หรือมีส่วนร่วมในการพัฒนา:
-
โคลนที่เก็บ:
git clone <repository-url> cd dealx/mcp -
ติดตั้งส่วนประกอบที่จำเป็น:
npm install -
สร้างไฟล์
.envโดยอิงจากไฟล์.env.example:cp .env.example .env -
แก้ไขไฟล์
.envเพื่อตั้งค่าที่เหมาะสม:# DealX API URL DEALX_API_URL=http://localhost:3001 # Optional: Specify the port for the MCP server MCP_SERVER_PORT=3100 # Optional: Log level (debug, info, warn, error) LOG_LEVEL=info -
สร้างเซิร์ฟเวอร์:
npm run build
การใช้งาน
การเริ่มต้นเซิร์ฟเวอร์
คุณสามารถรันเซิร์ฟเวอร์ได้หลายวิธี:
-
หากติดตั้งแบบโกลบอล:
node node_modules/@dealx/mcp-server/build/index.js -
ใช้ npx โดยไม่ต้องติดตั้ง:
npx -y @dealx/mcp-server -
ด้วยตัวแปรสภาพแวดล้อม:
DEALX_API_URL=https://dealx.com.ua npx -y @dealx/mcp-server -
สำหรับการพัฒนา:
npm start
การใช้งานกับ LLM
เมื่อกำหนดค่าในการตั้งค่า MCP ของ LLM แล้ว คุณสามารถใช้ภาษาธรรมชาติเพื่อโต้ตอบกับแพลตฟอร์ม DealX ได้
ตัวอย่างพร้อมท์:
- "ค้นหาโฆษณาบน DealX ด้วยคำว่า 'laptop'"
- "ค้นหาโฆษณา 5 รายการล่าสุดสำหรับ 'iPhone' บน DealX"
- "ค้นหาอพาร์ตเมนต์ใน Kyiv บน DealX"
เครื่องมือที่พร้อมใช้งาน
search_ads
ค้นหาโฆษณาบนแพลตฟอร์ม DealX
พารามิเตอร์:
query(สตริง, ไม่บังคับ): สตริงคำค้นหาsort(สตริง, ไม่บังคับ): ลำดับการจัดเรียง (เช่น "-created" สำหรับใหม่สุดก่อน)offset(ตัวเลข, ไม่บังคับ): ออฟเซ็ตการแบ่งหน้า (เริ่มที่ 1, ค่าเริ่มต้น: 1)limit(ตัวเลข, ไม่บังคับ): จำนวนผลลัพธ์ต่อหน้า (สูงสุด 100, ค่าเริ่มต้น: 30)
ตัวอย่างการใช้งาน:
{
"query": "laptop",
"sort": "-created",
"offset": 1,
"limit": 10
}
การขยายเซิร์ฟเวอร์
เซิร์ฟเวอร์ถูกออกแบบมาให้ขยายด้วยเครื่องมือเพิ่มเติมได้ง่าย นี่คือวิธีการเพิ่มเครื่องมือใหม่:
-
กำหนดเครื่องมือในออบเจกต์
TOOLSในsrc/index.ts:const TOOLS = { SEARCH_ADS: "search_ads", NEW_TOOL: "new_tool", // Add your new tool here }; -
สร้างไฟล์ใหม่ในไดเรกทอรี
src/toolsสำหรับการใช้งานเครื่องมือของคุณ:// src/tools/new-tool.ts import { ErrorCode, McpError } from "@modelcontextprotocol/sdk/types.js"; interface NewToolParams { // Define your tool parameters here } export async function newTool(params: NewToolParams) { try { // Implement your tool logic here return { content: [ { type: "text", text: JSON.stringify(result, null, 2), }, ], }; } catch (error) { // Handle errors // ... } } -
เพิ่มเครื่องมือลงในตัวจัดการ
ListToolsRequestSchemaในsrc/index.ts:this.server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: [ // Existing tools... { name: TOOLS.NEW_TOOL, description: "Description of your new tool", inputSchema: { type: "object", properties: { // Define your tool parameters here }, required: [], // List required parameters }, }, ], })); -
เพิ่มเครื่องมือลงในตัวจัดการ
CallToolRequestSchemaในsrc/index.ts:this.server.setRequestHandler(CallToolRequestSchema, async (request) => { const { name, arguments: args } = request.params; switch (name) { // Existing cases... case TOOLS.NEW_TOOL: return await newTool(args); default: throw new McpError(ErrorCode.MethodNotFound, `Unknown tool: ${name}`); } }); -
นำเข้าเครื่องมือใหม่ของคุณใน
src/index.ts:import { newTool } from "./tools/new-tool.js";
เครื่องมือในอนาคตที่วางแผนไว้
เครื่องมือต่อไปนี้มีแผนจะนำมาใช้ในอนาคต:
create_ad: สร้างโฆษณาใหม่บน แพลตฟอร์ม DealXedit_ad: แก้ไขโฆษณาที่มีอยู่delete_ad: ลบโฆษณาget_threads: รับชุดข้อความสนทนาสำหรับโฆษณาcreate_thread: สร้างชุดข้อความสนทนาใหม่
การพัฒนา
โครงสร้างโปรเจกต์
mcp/
├── build/ # Compiled JavaScript files
├── src/ # TypeScript source files
│ ├── tools/ # Tool implementations
│ │ └── search-ads.ts
│ └── index.ts # Main server implementation
├── .env # Environment variables (not in git)
├── .env.example # Example environment variables
├── package.json # Project dependencies and scripts
├── tsconfig.json # TypeScript configuration
└── README.md # This file
สคริปต์ npm
npm run build- คอมไพล์ TypeScript เป็น JavaScriptnpm start- เริ่มต้นเซิร์ฟเวอร์โดยใช้ JavaScript ที่คอมไพล์แล้วnpm run dev- เริ่มต้นเซิร์ฟเวอร์ในโหมดพัฒนาพร้อมการโหลดซ้ำอัตโนมัติnpm run lint- ตรวจสอบโค้ดโดยใช้ ESLintnpm run format- จัดรูปแบบโค้ดโดยใช้ Prettiernpm test- รันการทดสอบ
การแก้ไขปัญหา
ปัญหาที่พบบ่อย
เซิร์ฟเวอร์ไม่เริ่มทำงาน
หากเซิร์ฟเวอร์ไม่เริ่มทำงาน ให้ตรวจสอบสิ่งต่อไปนี้:
- ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Node.js เวอร์ชันที่ถูกต้อง
- ตรวจสอบว่าติดตั้งส่วนประกอบที่จำเป็นทั้งหมดแล้ว
- ตรวจสอบว่าไฟล์
.envมีอยู่และมีค่าที่ถูกต้อง - ตรวจสอบเอาต์พุตคอนโซลเพื่อดูข้อความแสดงข้อผิดพลาด
ปัญหาการเชื่อมต่อ
หาก LLM ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ได้:
- ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์กำลังทำงานอยู่
- ตรวจสอบว่าการกำหนดค่า MCP ในการตั้งค่าของ LLM ถูกต้อง
- ตรวจสอบว่าพาธไปยังไฟล์ปฏิบัติการของเซิร์ฟเวอร์ถูกต้อง
- ตรวจสอบว่าตัวแปรสภาพแวดล้อมถูกตั้งค่าอย่างถูกต้อง
ปัญหาการเชื่อมต่อ API
หากเซิร์ฟเวอร์ไม่สามารถเชื่อมต่อกับ DealX API ได้:
- ตรวจสอบให้แน่ใจว่า DealX API กำลังทำงานอยู่
- ตรวจสอบว่าตัวแปรสภาพแวดล้อม
DEALX_API_URLถูกตั้งค่าอย่างถูกต้อง - ตรวจสอบว่าสามารถเข้าถึงปลายทาง API ได้จากเซิร์ฟเวอร์
การขอความช่วยเหลือ
หากคุณพบปัญหาที่ไม่ได้กล่าวถึงในที่นี้ โปรดเปิด issue ในที่เก็บ GitHub นี้