@dealx/mcp-server
MCP server enabling LLMs to search and interact with the DealX platform.
Key Features
Use Cases
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:
-
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
- macOS:
- Cline (VS Code Extension):
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
- Claude Desktop App:
-
Add the DealX MCP server to the
mcpServerssection: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:
npm install -g @dealx/mcp-server
Installation for Development
If you want to modify the server or contribute to its development:
-
Clone the repository:
shellgit clone <repository-url> cd dealx/mcp -
Install dependencies:
shellnpm install -
Create a
.envfile based on the.env.examplefile:shellcp .env.example .env -
Edit the
.envfile 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 -
Build the server:
shellnpm run build
Usage
Starting the Server
You can run the server in several ways:
-
If installed globally:
shellnode node_modules/@dealx/mcp-server/build/index.js -
Using npx without installation:
shellnpx -y @dealx/mcp-server -
With environment variables:
shellDEALX_API_URL=https://dealx.com.ua npx -y @dealx/mcp-server -
For development:
shellnpm 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 stringsort(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:
{
"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
TOOLSobject insrc/index.ts:typescriptconst TOOLS = { SEARCH_ADS: "search_ads", NEW_TOOL: "new_tool", // Add your new tool here }; -
Create a new file in the
src/toolsdirectory 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
ListToolsRequestSchemahandler insrc/index.ts:typescriptthis.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
CallToolRequestSchemahandler insrc/index.ts:typescriptthis.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:typescriptimport { 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 platformedit_ad: Edit an existing addelete_ad: Delete an adget_threads: Get discussion threads for an adcreate_thread: Create a new discussion thread
Development
Project Structure
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 JavaScriptnpm start- Start the server using the compiled JavaScriptnpm run dev- Start the server in development mode with hot reloadingnpm run lint- Lint the code using ESLintnpm run format- Format the code using Prettiernpm 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
.envfile 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_URLenvironment 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
Repository Owner
Organization
Repository Details
Programming Languages
Tags
Join Our Newsletter
Stay updated with the latest AI tools, news, and offers by subscribing to our weekly newsletter.
Related MCPs
Discover similar Model Context Protocol servers
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
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
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
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
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
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?