Mcp Server Main — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mcp Server Main (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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:
~/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.jsonmcpServers 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-serverIf you want to modify the server or contribute to its development:
git clone <repository-url>
cd dealx/mcp npm install.env file based on the .env.example file: cp .env.example .env.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 npm run buildYou can run the server in several ways:
node node_modules/@dealx/mcp-server/build/index.js npx -y @dealx/mcp-server DEALX_API_URL=https://dealx.com.ua npx -y @dealx/mcp-server npm startOnce 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:
TOOLS object in src/index.ts: const TOOLS = {
SEARCH_ADS: "search_ads",
NEW_TOOL: "new_tool", // Add your new tool here
};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
// ...
}
}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
},
},
],
}));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}`);
}
});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 filenpm 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#### Server Not Starting
If the server fails to start, check the following:
.env file exists and has the correct values#### Connection Issues
If the LLM can't connect to the server:
#### API Connection Issues
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.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.