使用说明
@dealx/mcp服务器
这是一个模型上下文协议(MCP)服务器,用于 DealX平台它允许LLM与DealX平台进行交互,特别是搜索广告。
目录
托管部署
托管部署可在 Frontier AI.
概述
DealX MCP服务器实现 模型上下文协议 为LLM提供一种标准化的方式与 DealX平台。目前,它支持搜索广告,并计划在未来添加更多功能。
什么是MCP?
模型上下文协议(MCP)是LLM与外部系统交互的标准化方式。它为LLM提供了一个结构化的接口,以访问数据并在现实世界中执行操作。此服务器实现了MCP规范,以允许LLM与DealX平台交互。
安装
先决条件
- Node.js(v20或更高版本)
- npm(v11或更高版本)
MCP配置
要将此服务器与Claude这样的LLM一起使用,您需要将其添加到LLM的MCP配置中:
-
打开LLM的MCP配置文件:
- Claude桌面应用程序:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
- Cline(VS代码扩展):
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
- Claude桌面应用程序:
-
将DealX MCP服务器添加到
mcpServers章节:{ "mcpServers": { "dealx": { "command": "npx", "args": ["-y", "@dealx/mcp-server"], "env": { "DEALX_API_URL": "https://dealx.com.ua" }, "disabled": false, "autoApprove": [] } } }
通过npm安装
安装DealX MCP服务器最简单的方法是通过npm:
npm install -g @dealx/mcp-server
安装开发
如果您想修改服务器或为其开发做出贡献:
-
克隆存储库:
git clone <repository-url> cd dealx/mcp -
安装依赖项:
npm install -
创建一个
.env文件基于.env.example文件:cp .env.example .env -
编辑
.env文件以设置适当的值:# 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 build
用法
启动服务器
您可以通过多种方式运行服务器:
-
如果全局安装:
node node_modules/@dealx/mcp-server/build/index.js -
在不安装的情况下使用npx:
npx -y @dealx/mcp-server -
对于环境变量:
DEALX_API_URL=https://dealx.com.ua npx -y @dealx/mcp-server -
发展:
npm start
使用LLM
在LLM的MCP设置中配置后,您可以使用自然语言与DealX平台进行交互。
示例提示:
- “在DealX上用查询‘笔记本电脑’搜索广告”
- “在DealX上查找‘iPhone’的最新5个广告”
- “在DealX上搜索基辅的公寓”
可用工具
搜索_ ads
在DealX平台上搜索广告。
参数:
query(string,可选):搜索查询字符串sort(字符串,可选):排序顺序(例如,“-created”表示最新的优先)offset(数字,可选):分页偏移量(从1开始,默认值:1)limit(数字,可选):每页结果数(最多100,默认值:30)
示例用法:
{
"query": "laptop",
"sort": "-created",
"offset": 1,
"limit": 10
}
扩展服务器
该服务器的设计便于使用其他工具进行扩展。以下是如何添加新工具:
-
在中定义工具
TOOLS对象在src/index.ts:const TOOLS = { SEARCH_ADS: "search_ads", NEW_TOOL: "new_tool", // Add your new tool here }; -
在中创建新文件
src/tools工具实现的目录:// 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处理程序在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处理程序在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";
计划中的未来工具
计划在未来实施以下工具:
create_ad:在 DealX平台edit_ad:编辑现有广告delete_ad:删除广告get_threads:获取广告的讨论线索create_thread:创建新的讨论线程
发展
项目结构
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脚本
npm run build-将TypeScript编译为JavaScriptnpm start-使用编译的JavaScript启动服务器npm run dev-以热重新加载的开发模式启动服务器npm run lint-使用ESLint读取代码npm run format-使用Prettier格式化代码npm test-运行测试
故障排除
常见问题
服务器未启动
如果服务器无法启动,请检查以下内容:
- 确保您安装了正确的Node.js版本
- 检查是否安装了所有依赖项
- 确认
.env文件存在并且具有正确的值 - 检查控制台输出是否有错误消息
连接问题
如果LLM无法连接到服务器:
- 确保服务器正在运行
- 检查LLM设置中的MCP配置是否正确
- 验证服务器可执行文件的路径是否正确
- 检查环境变量是否设置正确
API连接问题
如果服务器无法连接到DealX API:
- 确保DealX API正在运行
- 检查一下
DEALX_API_URL环境变量设置正确 - 验证是否可以从服务器访问API终结点
获取帮助
如果您遇到此处未涵盖的问题,请在此GitHub存储库中打开一个问题。
