DealX
oficialServidor MCP para a plataforma DealX
O que você pode fazer com Deal X MCP?
- Pesquisar anúncios por palavra-chave — Encontre listagens na plataforma DealX usando uma consulta de texto via
search_ads. - Ordenar e paginar resultados — Controle a ordem de classificação (ex.: mais recentes primeiro com
-created), deslocamento de página e quantidade de resultados. - Limitar o número de resultados — Defina um tamanho de página personalizado de até 100 anúncios por requisição.
Documentação
@dealx/mcp-server
Este é um servidor Model Context Protocol (MCP) para a plataforma DealX. Ele permite que LLMs interajam com a plataforma DealX, especificamente para buscar anúncios.
Sumário
- Visão Geral
- Instalação
- Uso
- Ferramentas Disponíveis
- Estendendo o Servidor
- Desenvolvimento
- Solução de Problemas
Implantação hospedada
Uma implantação hospedada está disponível no Fronteir AI.
Visão Geral
O Servidor MCP DealX implementa o Model Context Protocol para fornecer uma maneira padronizada de LLMs interagirem com a plataforma DealX. Atualmente, ele suporta a busca de anúncios, com planos de adicionar mais funcionalidades no futuro.
O que é MCP?
O Model Context Protocol (MCP) é uma forma padronizada de LLMs interagirem com sistemas externos. Ele fornece uma interface estruturada para que LLMs acessem dados e realizem ações no mundo real. Este servidor implementa a especificação MCP para permitir que LLMs interajam com a plataforma DealX.
Instalação
Pré-requisitos
- Node.js (v20 ou superior)
- npm (v11 ou superior)
Configuração MCP
Para usar este servidor com um LLM como o Claude, você precisa adicioná-lo à configuração MCP do seu LLM:
-
Abra o arquivo de configuração MCP do seu LLM:
- Aplicativo 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 (Extensão VS Code):
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
- Aplicativo Desktop Claude:
-
Adicione o servidor MCP DealX à seção
mcpServers:{ "mcpServers": { "dealx": { "command": "npx", "args": ["-y", "@dealx/mcp-server"], "env": { "DEALX_API_URL": "https://dealx.com.ua" }, "disabled": false, "autoApprove": [] } } }
Instalação via npm
A maneira mais fácil de instalar o Servidor MCP DealX é via npm:
npm install -g @dealx/mcp-server
Instalação para Desenvolvimento
Se você deseja modificar o servidor ou contribuir para o seu desenvolvimento:
-
Clone o repositório:
git clone <repository-url> cd dealx/mcp -
Instale as dependências:
npm install -
Crie um arquivo
.envbaseado no arquivo.env.example:cp .env.example .env -
Edite o arquivo
.envpara definir os valores apropriados:# 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 -
Compile o servidor:
npm run build
Uso
Iniciando o Servidor
Você pode executar o servidor de várias maneiras:
-
Se instalado globalmente:
node node_modules/@dealx/mcp-server/build/index.js -
Usando npx sem instalação:
npx -y @dealx/mcp-server -
Com variáveis de ambiente:
DEALX_API_URL=https://dealx.com.ua npx -y @dealx/mcp-server -
Para desenvolvimento:
npm start
Usando com um LLM
Uma vez configurado nas definições MCP do seu LLM, você pode usar linguagem natural para interagir com a plataforma DealX.
Exemplos de prompts:
- "Busque anúncios no DealX com a consulta 'laptop'"
- "Encontre os 5 anúncios mais novos para 'iPhone' no DealX"
- "Busque no DealX apartamentos em Kyiv"
Ferramentas Disponíveis
search_ads
Busca anúncios na plataforma DealX.
Parâmetros:
query(string, opcional): String de consulta de buscasort(string, opcional): Ordem de classificação (ex., "-created" para mais recentes primeiro)offset(number, opcional): Deslocamento de paginação (começa em 1, padrão: 1)limit(number, opcional): Número de resultados por página (máx. 100, padrão: 30)
Exemplo de Uso:
{
"query": "laptop",
"sort": "-created",
"offset": 1,
"limit": 10
}
Estendendo o Servidor
O servidor foi projetado para ser facilmente estendido com ferramentas adicionais. Veja como adicionar uma nova ferramenta:
-
Defina a ferramenta no objeto
TOOLSemsrc/index.ts:const TOOLS = { SEARCH_ADS: "search_ads", NEW_TOOL: "new_tool", // Add your new tool here }; -
Crie um novo arquivo no diretório
src/toolspara a implementação da sua ferramenta:// 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 // ... } } -
Adicione a ferramenta ao manipulador
ListToolsRequestSchemaemsrc/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 }, }, ], })); -
Adicione a ferramenta ao manipulador
CallToolRequestSchemaemsrc/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}`); } }); -
Importe sua nova ferramenta em
src/index.ts:import { newTool } from "./tools/new-tool.js";
Ferramentas Futuras Planejadas
As seguintes ferramentas estão planejadas para implementação futura:
create_ad: Criar um novo anúncio na plataforma DealXedit_ad: Editar um anúncio existentedelete_ad: Excluir um anúncioget_threads: Obter threads de discussão para um anúnciocreate_thread: Criar uma nova thread de discussão
Desenvolvimento
Estrutura do Projeto
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
Scripts npm
npm run build- Compila TypeScript para JavaScriptnpm start- Inicia o servidor usando o JavaScript compiladonpm run dev- Inicia o servidor em modo de desenvolvimento com recarga automáticanpm run lint- Analisa o código usando ESLintnpm run format- Formata o código usando Prettiernpm test- Executa testes
Solução de Problemas
Problemas Comuns
Servidor Não Inicia
Se o servidor falhar ao iniciar, verifique o seguinte:
- Certifique-se de ter a versão correta do Node.js instalada
- Verifique se todas as dependências estão instaladas
- Verifique se o arquivo
.envexiste e possui os valores corretos - Verifique a saída do console para mensagens de erro
Problemas de Conexão
Se o LLM não conseguir se conectar ao servidor:
- Certifique-se de que o servidor está em execução
- Verifique se a configuração MCP nas definições do LLM está correta
- Verifique se o caminho para o executável do servidor está correto
- Verifique se as variáveis de ambiente estão definidas corretamente
Problemas de Conexão com a API
Se o servidor não conseguir se conectar à API DealX:
- Certifique-se de que a API DealX está em execução
- Verifique se a variável de ambiente
DEALX_API_URLestá definida corretamente - Verifique se o endpoint da API está acessível a partir do servidor
Obtendo Ajuda
Se você encontrar problemas não cobertos aqui, por favor, abra uma issue neste repositório GitHub.