MCP Server for DealX platform
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.
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.
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.
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:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
~/.config/Claude/claude_desktop_config.json
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
Add the DealX MCP server to the mcpServers
section:
{
"mcpServers": {
"dealx": {
"command": "npx",
"args": ["-y", "@dealx/mcp-server"],
"env": {
"DEALX_API_URL": "https://dealx.com.ua"
},
"disabled": false,
"autoApprove": []
}
}
}
The easiest way to install the DealX MCP Server is via npm:
npm install -g @dealx/mcp-server
If you want to modify the server or contribute to its development:
Clone the repository:
git clone <repository-url>
cd dealx/mcp
Install dependencies:
npm install
Create a .env
file based on the .env.example
file:
cp .env.example .env
Edit the .env
file to set the appropriate values:
# 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:
npm run build
You can run the server in several ways:
If installed globally:
node node_modules/@dealx/mcp-server/build/index.js
Using npx without installation:
npx -y @dealx/mcp-server
With environment variables:
DEALX_API_URL=https://dealx.com.ua npx -y @dealx/mcp-server
For development:
npm start
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 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
}
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
:
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:
// 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
:
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
:
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
:
import { newTool } from "./tools/new-tool.js";
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 threadmcp/
├── 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 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 testsIf the server fails to start, check the following:
.env
file exists and has the correct valuesIf the LLM can't connect to the server:
If the server can't connect to the DealX API:
DEALX_API_URL
environment variable is set correctlyIf you encounter issues not covered here, please open an issue against this GitHub repository.
Knowledge graph-based persistent memory system
Dynamic and reflective problem-solving through thought sequences
The only platform you need to get paid - all payments in one place, invoicing and accounting reconciliations with Adfin.
ALAPI MCP Tools,Call hundreds of API interfaces via MCP
MCP to interface with multiple blockchains, staking, DeFi, swap, bridging, wallet management, DCA, Limit Orders, Coin Lookup, Tracking and more.
Enable AI agents to interact with the Atla API for state-of-the-art LLMJ evaluation.
Marketing insights and audience analysis from Audiense reports, covering demographic, cultural, influencer, and content engagement analysis.
Query and analyze your Axiom logs, traces, and all other event data in natural language
Query Onchain data, like ERC20 tokens, transaction history, smart contract state.
Read and write access to your Baserow tables.