@dealx/mcp-server

@dealx/mcp-server

MCP server enabling LLMs to search and interact with the DealX platform.

0
Stars
2
Forks
0
Watchers
0
Issues
Implements the Model Context Protocol, providing a standardized interface for large language models to interact with the DealX platform. Supports searching for ads through structured prompts and is designed for easy integration with tools like Claude and VS Code extensions. Flexible configuration options are available for environment variables, logging, and deployment. Extensible architecture supports future feature additions beyond ad search.

Key Features

Implements Model Context Protocol (MCP)
Standardized interface for LLMs
Search ads functionality on DealX
Supports environment variable configuration
Integration with Claude and Cline
Command-line installation and usage via npm/npx
Extensible with additional tools
Customizable API URL and server port
Built-in logging controls
Development and production deployment support

Use Cases

Enabling LLMs to search DealX ads via natural language
Integrating external ad search into conversational AI flows
Powering research agents seeking marketplace data from DealX
Facilitating marketplace analytics for automated agents
Developing new tools for ad filtering and recommendations
Providing LLM-based customer support agents for DealX users
Batch querying marketplace listings for trend analysis
Embedding DealX search capabilities in third-party platforms
Rapid prototyping of new MCP-compliant extensions for DealX
Customizing server deployments for different development or production needs

README

@dealx/mcp-server

This is a Model Context Protocol (MCP) server for the DealX platform. It allows LLMs to interact with the DealX platform, specifically to search for ads.

Table of Contents

Overview

The DealX MCP Server implements the Model Context Protocol to provide a standardized way for LLMs to interact with the DealX platform. Currently, it supports searching for ads, with plans to add more functionality in the future.

What is MCP?

The Model Context Protocol (MCP) is a standardized way for LLMs to interact with external systems. It provides a structured interface for LLMs to access data and perform actions in the real world. This server implements the MCP specification to allow LLMs to interact with the DealX platform.

Installation

Prerequisites

  • Node.js (v20 or later)
  • npm (v11 or later)

MCP Configuration

To use this server with an LLM like Claude, you need to add it to your LLM's MCP configuration:

  1. Open your LLM's MCP configuration file:

    • Claude Desktop App:
      • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
      • Windows: %APPDATA%\Claude\claude_desktop_config.json
      • Linux: ~/.config/Claude/claude_desktop_config.json
    • Cline (VS Code Extension):
      • ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  2. Add the DealX MCP server to the mcpServers section:

    json
    {
      "mcpServers": {
        "dealx": {
          "command": "npx",
          "args": ["-y", "@dealx/mcp-server"],
          "env": {
            "DEALX_API_URL": "https://dealx.com.ua"
          },
          "disabled": false,
          "autoApprove": []
        }
      }
    }
    

Installation via npm

The easiest way to install the DealX MCP Server is via npm:

shell
npm install -g @dealx/mcp-server

Installation for Development

If you want to modify the server or contribute to its development:

  1. Clone the repository:

    shell
    git clone <repository-url>
    cd dealx/mcp
    
  2. Install dependencies:

    shell
    npm install
    
  3. Create a .env file based on the .env.example file:

    shell
    cp .env.example .env
    
  4. Edit the .env file to set the appropriate values:

    shell
    # 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
    
  5. Build the server:

    shell
    npm run build
    

Usage

Starting the Server

You can run the server in several ways:

  1. If installed globally:

    shell
    node node_modules/@dealx/mcp-server/build/index.js
    
  2. Using npx without installation:

    shell
    npx -y @dealx/mcp-server
    
  3. With environment variables:

    shell
    DEALX_API_URL=https://dealx.com.ua npx -y @dealx/mcp-server
    
  4. For development:

    shell
    npm start
    

Using with an LLM

Once configured in your LLM's MCP settings, you can use natural language to interact with the DealX platform.

Example prompts:

  • "Search for ads on DealX with the query 'laptop'"
  • "Find the newest 5 ads for 'iPhone' on DealX"
  • "Search DealX for apartments in Kyiv"

Available Tools

search_ads

Search for ads on the DealX platform.

Parameters:

  • query (string, optional): Search query string
  • sort (string, optional): Sort order (e.g., "-created" for newest first)
  • offset (number, optional): Pagination offset (starts at 1, default: 1)
  • limit (number, optional): Number of results per page (max 100, default: 30)

Example Usage:

json
{
  "query": "laptop",
  "sort": "-created",
  "offset": 1,
  "limit": 10
}

Extending the Server

The server is designed to be easily extended with additional tools. Here's how to add a new tool:

  • Define the tool in the TOOLS object in src/index.ts:

    typescript
    const TOOLS = {
      SEARCH_ADS: "search_ads",
      NEW_TOOL: "new_tool", // Add your new tool here
    };
    
  • Create a new file in the src/tools directory for your tool implementation:

    typescript
    // 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
        // ...
      }
    }
    
  • Add the tool to the ListToolsRequestSchema handler in src/index.ts:

    typescript
    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
          },
        },
      ],
    }));
    
  • Add the tool to the CallToolRequestSchema handler in src/index.ts:

    typescript
    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}`);
      }
    });
    
  • Import your new tool in src/index.ts:

    typescript
    import { newTool } from "./tools/new-tool.js";
    

Planned Future Tools

The following tools are planned for future implementation:

  • create_ad: Create a new ad on the DealX platform
  • edit_ad: Edit an existing ad
  • delete_ad: Delete an ad
  • get_threads: Get discussion threads for an ad
  • create_thread: Create a new discussion thread

Development

Project Structure

shell
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 Scripts

  • npm run build - Compile TypeScript to JavaScript
  • npm start - Start the server using the compiled JavaScript
  • npm run dev - Start the server in development mode with hot reloading
  • npm run lint - Lint the code using ESLint
  • npm run format - Format the code using Prettier
  • npm test - Run tests

Troubleshooting

Common Issues

Server Not Starting

If the server fails to start, check the following:

  • Make sure you have the correct Node.js version installed
  • Check that all dependencies are installed
  • Verify that the .env file exists and has the correct values
  • Check the console output for error messages

Connection Issues

If the LLM can't connect to the server:

  • Make sure the server is running
  • Check that the MCP configuration in the LLM's settings is correct
  • Verify that the path to the server executable is correct
  • Check that the environment variables are set correctly

API Connection Issues

If the server can't connect to the DealX API:

  • Make sure the DealX API is running
  • Check that the DEALX_API_URL environment variable is set correctly
  • Verify that the API endpoint is accessible from the server

Getting Help

If you encounter issues not covered here, please open an issue against this GitHub repository.

Star History

Star History Chart

Repository Owner

DealExpress
DealExpress

Organization

Repository Details

Language TypeScript
Default Branch main
Size 74 KB
Contributors 1
License MIT License
MCP Verified Nov 12, 2025

Programming Languages

TypeScript
44.94%
JavaScript
41.91%
Shell
13.15%

Tags

Join Our Newsletter

Stay updated with the latest AI tools, news, and offers by subscribing to our weekly newsletter.

We respect your privacy. Unsubscribe at any time.

Related MCPs

Discover similar Model Context Protocol servers

  • MCP-searxng

    MCP-searxng

    MCP server bridging agentic systems with SearXNG web search

    MCP-searxng enables agentic systems to interface with web search engines via the SearXNG platform by implementing the Model Context Protocol. It supports both command-line and local server deployment, providing flexible integration options. Users can configure custom SearXNG server URLs and connect through clients like uvx or claude desktop. The tool simplifies access to structured web search within agentic workflows.

    • 107
    • MCP
    • SecretiveShell/MCP-searxng
  • Weblate MCP Server

    Weblate MCP Server

    Seamlessly connect AI assistants to Weblate for translation management via the Model Context Protocol.

    Weblate MCP Server enables AI assistants and clients to directly manage Weblate translation projects through the Model Context Protocol (MCP). It integrates with the Weblate REST API, allowing natural language interaction for project and translation management. The tool offers multiple transport options including HTTP, SSE, and STDIO, and is optimized for large language model workflows. Full support for project, component, and translation operations is provided, with a focus on type safety and flexible environment configuration.

    • 9
    • MCP
    • mmntm/weblate-mcp
  • Exa MCP Server

    Exa MCP Server

    Fast, efficient web and code context for AI coding assistants.

    Exa MCP Server provides a Model Context Protocol (MCP) server interface that connects AI assistants to Exa AI’s powerful search capabilities, including code, documentation, and web search. It enables coding agents to retrieve precise, token-efficient context from billions of sources such as GitHub, StackOverflow, and documentation sites, reducing hallucinations in coding agents. The platform supports integration with popular tools like Cursor, Claude, and VS Code through standardized MCP configuration, offering configurable access to various research and code-related tools via HTTP.

    • 3,224
    • MCP
    • exa-labs/exa-mcp-server
  • mcp-graphql

    mcp-graphql

    Enables LLMs to interact dynamically with GraphQL APIs via Model Context Protocol.

    mcp-graphql provides a Model Context Protocol (MCP) server that allows large language models to discover and interact with GraphQL APIs. The implementation facilitates schema introspection, exposes the GraphQL schema as a resource, and enables secure query and mutation execution based on configuration. It supports configuration through environment variables, automated or manual installation options, and offers flexibility in using local or remote schema files. By default, mutation operations are disabled for security, but can be enabled if required.

    • 319
    • MCP
    • blurrah/mcp-graphql
  • Search1API MCP Server

    Search1API MCP Server

    MCP server enabling search and crawl functions via Search1API.

    Search1API MCP Server is an implementation of the Model Context Protocol (MCP) that provides search and crawl services using the Search1API. It allows seamless integration with MCP-compatible clients, including LibreChat and various developer tools, by managing API key configuration through multiple methods. Built with Node.js, it supports both standalone operation and Docker-based deployment for integration in broader AI toolchains.

    • 157
    • MCP
    • fatwang2/search1api-mcp
  • Parallel Search MCP

    Parallel Search MCP

    Integrate Parallel Search API with any MCP-compatible LLM client.

    Parallel Search MCP provides an interface to use the Parallel Search API seamlessly from any Model Context Protocol (MCP)-compatible language model client. It serves as a proxy server that connects requests to the search API, adding the necessary support for authentication and MCP compatibility. The tool is designed for everyday web search tasks and facilitates easy web integration for LLMs via standardized MCP infrastructure.

    • 3
    • MCP
    • parallel-web/search-mcp
  • Didn't find tool you were looking for?

    Be as detailed as possible for better results