DealX
resmiServer MCP untuk platform DealX
Apa yang bisa Anda lakukan dengan Deal X MCP?
- Cari iklan berdasarkan kata kunci — Temukan daftar di platform DealX menggunakan kueri teks melalui
search_ads. - Urutkan dan paginasi hasil — Kontrol urutan pengurutan (misalnya, yang terbaru terlebih dahulu dengan
-created), offset halaman, dan jumlah hasil. - Batasi jumlah hasil — Tetapkan ukuran halaman kustom hingga 100 iklan per permintaan.
Dokumentasi
@dealx/mcp-server
Ini adalah server Model Context Protocol (MCP) untuk platform DealX. Server ini memungkinkan LLM berinteraksi dengan platform DealX, khususnya untuk mencari iklan.
Daftar Isi
- Gambaran Umum
- Instalasi
- Penggunaan
- Alat yang Tersedia
- Memperluas Server
- Pengembangan
- Pemecahan Masalah
Deployment Terhosting
Deployment terhosting tersedia di Fronteir AI.
Gambaran Umum
DealX MCP Server mengimplementasikan Model Context Protocol untuk menyediakan cara standar bagi LLM dalam berinteraksi dengan platform DealX. Saat ini, server mendukung pencarian iklan, dengan rencana penambahan fungsionalitas lainnya di masa mendatang.
Apa itu MCP?
Model Context Protocol (MCP) adalah cara standar bagi LLM untuk berinteraksi dengan sistem eksternal. Protokol ini menyediakan antarmuka terstruktur bagi LLM untuk mengakses data dan melakukan tindakan di dunia nyata. Server ini mengimplementasikan spesifikasi MCP untuk memungkinkan LLM berinteraksi dengan platform DealX.
Instalasi
Prasyarat
- Node.js (v20 atau lebih baru)
- npm (v11 atau lebih baru)
Konfigurasi MCP
Untuk menggunakan server ini dengan LLM seperti Claude, Anda perlu menambahkannya ke konfigurasi MCP LLM Anda:
-
Buka file konfigurasi MCP LLM Anda:
- Aplikasi Desktop Claude:
- 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 (Ekstensi VS Code):
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
- Aplikasi Desktop Claude:
-
Tambahkan server MCP DealX ke bagian
mcpServers:{ "mcpServers": { "dealx": { "command": "npx", "args": ["-y", "@dealx/mcp-server"], "env": { "DEALX_API_URL": "https://dealx.com.ua" }, "disabled": false, "autoApprove": [] } } }
Instalasi melalui npm
Cara termudah untuk menginstal DealX MCP Server adalah melalui npm:
npm install -g @dealx/mcp-server
Instalasi untuk Pengembangan
Jika Anda ingin memodifikasi server atau berkontribusi pada pengembangannya:
-
Kloning repositori:
git clone <repository-url> cd dealx/mcp -
Instal dependensi:
npm install -
Buat file
.envberdasarkan file.env.example:cp .env.example .env -
Edit file
.envuntuk menetapkan nilai yang sesuai:# 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 -
Build server:
npm run build
Penggunaan
Memulai Server
Anda dapat menjalankan server dengan beberapa cara:
-
Jika diinstal secara global:
node node_modules/@dealx/mcp-server/build/index.js -
Menggunakan npx tanpa instalasi:
npx -y @dealx/mcp-server -
Dengan variabel lingkungan:
DEALX_API_URL=https://dealx.com.ua npx -y @dealx/mcp-server -
Untuk pengembangan:
npm start
Menggunakan dengan LLM
Setelah dikonfigurasi di pengaturan MCP LLM Anda, Anda dapat menggunakan bahasa alami untuk berinteraksi dengan platform DealX.
Contoh prompt:
- "Cari iklan di DealX dengan kueri 'laptop'"
- "Temukan 5 iklan terbaru untuk 'iPhone' di DealX"
- "Cari apartemen di Kyiv di DealX"
Alat yang Tersedia
search_ads
Mencari iklan di platform DealX.
Parameter:
query(string, opsional): String kueri pencariansort(string, opsional): Urutan pengurutan (misalnya, "-created" untuk terbaru terlebih dahulu)offset(number, opsional): Offset paginasi (dimulai dari 1, default: 1)limit(number, opsional): Jumlah hasil per halaman (maks 100, default: 30)
Contoh Penggunaan:
{
"query": "laptop",
"sort": "-created",
"offset": 1,
"limit": 10
}
Memperluas Server
Server dirancang agar mudah diperluas dengan alat tambahan. Berikut cara menambahkan alat baru:
-
Definisikan alat di objek
TOOLSdisrc/index.ts:const TOOLS = { SEARCH_ADS: "search_ads", NEW_TOOL: "new_tool", // Add your new tool here }; -
Buat file baru di direktori
src/toolsuntuk implementasi alat Anda:// 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 // ... } } -
Tambahkan alat ke handler
ListToolsRequestSchemadisrc/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 }, }, ], })); -
Tambahkan alat ke handler
CallToolRequestSchemadisrc/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}`); } }); -
Impor alat baru Anda di
src/index.ts:import { newTool } from "./tools/new-tool.js";
Alat Masa Depan yang Direncanakan
Alat-alat berikut direncanakan untuk implementasi di masa depan:
create_ad: Membuat iklan baru di platform DealXedit_ad: Mengedit iklan yang sudah adadelete_ad: Menghapus iklanget_threads: Mendapatkan utas diskusi untuk sebuah iklancreate_thread: Membuat utas diskusi baru
Pengembangan
Struktur Proyek
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
Skrip npm
npm run build- Kompilasi TypeScript ke JavaScriptnpm start- Mulai server menggunakan JavaScript yang telah dikompilasinpm run dev- Mulai server dalam mode pengembangan dengan hot reloadingnpm run lint- Lint kode menggunakan ESLintnpm run format- Format kode menggunakan Prettiernpm test- Jalankan pengujian
Pemecahan Masalah
Masalah Umum
Server Tidak Mau Mulai
Jika server gagal dimulai, periksa hal berikut:
- Pastikan Anda telah menginstal versi Node.js yang benar
- Periksa apakah semua dependensi telah diinstal
- Verifikasi bahwa file
.envada dan memiliki nilai yang benar - Periksa output konsol untuk pesan kesalahan
Masalah Koneksi
Jika LLM tidak dapat terhubung ke server:
- Pastikan server sedang berjalan
- Periksa apakah konfigurasi MCP di pengaturan LLM sudah benar
- Verifikasi bahwa path ke server yang dapat dieksekusi sudah benar
- Periksa apakah variabel lingkungan telah diatur dengan benar
Masalah Koneksi API
Jika server tidak dapat terhubung ke API DealX:
- Pastikan API DealX sedang berjalan
- Periksa apakah variabel lingkungan
DEALX_API_URLtelah diatur dengan benar - Verifikasi bahwa endpoint API dapat diakses dari server
Mendapatkan Bantuan
Jika Anda mengalami masalah yang tidak tercakup di sini, silakan buka isu di repositori GitHub ini.