Mcp Dealfinder

io.github.petrovicistefan由 GitHub 账号 petrovicistefan 发布v0.1.1更新于 Oct 25, 2026

Search affiliate product feeds from any network and return tracked buy links with a disclosure.

概览

AI 生成的概览

一个本地 MCP 服务器,让助手搜索你自己的联盟商品数据源,并返回带有你的联盟 ID 和披露文字的购买链接。

可以做什么
按关键词、价格区间、货币、网络和商家搜索商品数据源,按相关度或价格排序,最多返回 20 条含价格、商家和购买链接的结果。按引用对 2 至 5 个商品进行并排比较,货币一致时标出最便宜的一项。获取单个商品的联盟追踪购买链接,包含你的 ID 和披露文字,可选传入 sub_id 用于活动追踪。查看已加载的数据源、数量、上次刷新和错误,以及哪些网络能生成追踪链接。
适用场景
适合已拥有 Awin、Amazon、CJ、Impact 或 2Performant 等网络商品数据源的联盟营销人员,希望助手推荐商品并用其自有 ID 生成链接。适用于商品推荐、价格比较、细分市场调研和撰写购买指南。
运行要求
通过 npx 以 stdio 在本地运行,需要 Node.js。由环境变量 DEALFINDER_CONFIG 指向的配置文件保存联盟网络凭据和数据源地址;未提供时以虚构商品的演示模式运行。数据源为 CSV 或 JSON,可为本地文件或网址,支持 gzip 压缩。
安装前请注意
配置文件包含联盟账户凭据,数据源地址常内嵌 API 密钥,请勿提交到版本控制。链接使用你的联盟 ID,只能用于你自己的流量;自我推荐和共享 ID 通常被禁止。价格来自上次数据源刷新且不做货币换算,可能过时或产生误导。链接旁必须保留披露文字,使用前应核对各项目条款,包括是否允许 AI 辅助推广。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Mcp Dealfinder,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

MCP DealFinder

Turn your affiliate feeds into AI shopping answers with your tracked links and a clear disclosure.

MCP server for affiliate marketers that lets AI assistants search product feeds from Awin, Amazon, Commission Junction, Impact, 2Performant, and any network — and return buy links built with your own affiliate IDs. Works with Claude, ChatGPT, Cursor, and any MCP-compatible AI.

[npm version] [npm downloads] [Glama] [License: MIT] [GitHub stars]


⚡ Quick Install

Add to Cursor

[Add to Cursor]

One-click install: Click the badge above or use this deeplink:

cursor://anysphere.cursor-deeplink/mcp/install?name=dealfinder&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIm1jcC1kZWFsZmluZGVyIl19

Manual setup: Add to your Cursor MCP settings or .cursor/mcp.json:

json
{  "mcpServers": {    "dealfinder": {      "command": "npx",      "args": ["-y", "mcp-dealfinder"],      "env": { "DEALFINDER_CONFIG": "/absolute/path/to/dealfinder.config.json" }    }  }}

Add to Claude

Claude Code (CLI):

bash
claude mcp add dealfinder -- npx -y mcp-dealfinder

Claude Desktop: Add to claude_desktop_config.json:

json
{  "mcpServers": {    "dealfinder": {      "command": "npx",      "args": ["-y", "mcp-dealfinder"],      "env": { "DEALFINDER_CONFIG": "/absolute/path/to/dealfinder.config.json" }    }  }}

Add to VS Code

One-click install: Install in VS Code

Manual setup: Create or edit .vscode/mcp.json in your workspace:

json
{  "mcpServers": {    "dealfinder": {      "command": "npx",      "args": ["-y", "mcp-dealfinder"],      "env": { "DEALFINDER_CONFIG": "/absolute/path/to/dealfinder.config.json" }    }  }}

Run with npx

bash
npx -y mcp-dealfinder

Environment Variables

Set DEALFINDER_CONFIG to the absolute path of your configuration file containing affiliate network credentials and feed URLs.

Demo Mode: Run without DEALFINDER_CONFIG to test with fictional demo products.

"Find noise-cancelling headphones under 150 EUR and compare the top two"

⭐ Star this repository if it helps you! → Give a star


🎬 Demo

[DealFinder Demo]



📋 Table of Contents


Why MCP DealFinder?

You're an affiliate marketer. You want AI to recommend products from your feeds with your tracked links — not send customers to Amazon with someone else's affiliate ID, or hallucinate product details.

DealFinder solves this:

  • ✅ Search your own product feeds from any affiliate network
  • ✅ Every link includes your affiliate IDs (never generic or missing)
  • ✅ Clear disclosure text ships with every tracked link
  • ✅ Works with Awin, Amazon, CJ, Impact, 2Performant, and any deep-link network
  • ✅ Ranked by relevance or price, never commission (keeps it honest)
  • ✅ Local CSV/JSON feeds (no API keys, no rate limits, no external dependencies)

Features

Tools

ToolDescriptionKey Parameters
search_productsSearch affiliate product feeds by keywords. Returns products with price, merchant, and buy link. Filters by price range, currency (no conversion), network, and merchant. Diacritics-insensitive. Returns up to 20 results ranked by relevance or price.query (required), max_price, min_price, currency, network, merchant, sort, limit, sub_id
compare_productsSide-by-side comparison of 2–5 products by ref. Marks the cheapest when all share one currency. Full product details included.refs (2-5 refs, required), sub_id
get_buy_linkReturns the affiliate link for one product (with your IDs and disclosure text). Use ref from search results.ref (required), sub_id
dealfinder_statusShows loaded feeds (counts, last refresh, errors) and which networks produce tracked links. Config diagnostics.None

All tools accept an optional sub_id parameter to tag links for tracking (e.g., campaign name, post ID, or page slug). This appears in your network's reports.

Core Capabilities

  • Multi-network support: Awin, Amazon Associates, CJ, Impact, 2Performant, Profitshare, or any network with a deep-link template
  • Feed flexibility: CSV or JSON, local files or URLs, .gz automatically decompressed
  • European price parsing: Handles 1.299,99, 19,99, and € 24.50 formats
  • Graceful fallback: If a tracked link can't be built (missing config), returns the plain merchant URL and marks it tracked: false
  • Validation tool: npm run check loads feeds and reports product counts, coverage, price ranges, and sample links before you connect an AI

Use Cases & Example Prompts

1. Product Recommendations

"Find the best ergonomic office chair under $300"

"Show me noise-cancelling headphones available from these merchants: TechGear, SoundPro"

2. Price Comparisons

"Compare the top 3 espresso machines between 200-400 EUR"

"Find the cheapest laptop with 16GB RAM from my Awin feed"

3. Niche Research

"Search for vegan protein powder from Impact merchants"

"What cameras under 800 EUR are in my feeds right now?"

4. Content Creation

"Find 5 winter jackets under $150 and write a comparison post with affiliate links"

"Search for budget gaming keyboards and create a buying guide"


How It Compares

As of October 2026. Corrections welcome.

FeatureMCP DealFinderOpenAffiliateAffiliate.com MCPFewsats amazon-mcp
Your own affiliate IDs✅ All networks❌ Registry only, no personalization✅ Account-based✅ Amazon only
Local feeds (no API)✅ CSV/JSON❌ Hosted registry❌ Requires API subscription❌ Hosted backend
Multi-network✅ Awin, Amazon, CJ, Impact, 2Performant, generic templates✅ 349+ programs (registry)✅ Network search❌ Amazon only
Product search✅ Keyword, price, merchant filters✅ Program search✅ Product search⚠️ Discontinued
Tracked link generation✅ Per network config❌ Program info only✅ OAuth-based⚠️ Service down
Disclosure included✅ On every link➖ N/A➖ Network dependent➖ N/A
Setup complexity⭐⭐ (config file + feeds)⭐ (one URL)⭐⭐⭐ (OAuth + subscription)⚠️ No longer maintained
CostFree, MITFree, MITPaid subscriptionWas paid (defunct)

DealFinder is for you if:

  • You already have affiliate feeds from Awin, Amazon, or other networks
  • You want full control over your data (local CSVs, no external API dependencies)
  • You need tracked links with your IDs, not program discovery

Consider alternatives if:

  • OpenAffiliate — You're exploring new affiliate programs and need a searchable registry (not product search).
  • Affiliate.com MCP — You're already an Affiliate.com customer and want OAuth-integrated product search.

Configure Your Feeds

Copy examples/dealfinder.config.example.json to dealfinder.config.json (gitignored) and set the DEALFINDER_CONFIG environment variable.

Configuration Structure

json
{  "networks": {    "awin": {      "kind": "awin",      "publisherId": "YOUR_PUBLISHER_ID",      "apiKey": "YOUR_API_KEY"    },    "amazon": {      "kind": "amazon",      "tag": "yourtag-20"    }  },  "feeds": [    {      "url": "https://example.com/feed.csv.gz",      "network": "awin",      "refreshHours": 6,      "columns": {        "name": "product_name",        "price": "price",        "currency": "currency",        "url": "deep_link"      }    }  ]}
  • networks — Your affiliate account details by network name (used to build tracked links)
  • feeds — Product data sources: CSV or JSON, local file path or URL, .gz automatically handled
  • columns — Maps your feed's column names to DealFinder's expected fields

Security: Feed URLs often contain API keys. Keep them in dealfinder.config.json, never commit to version control.


Supported Networks

Network kindHow It Builds LinksRequirements
amazonAdds tag (+ ascsubtag) to amazon.* product URLsFeed must contain product URLs. Amazon offers no official feeds; supply your own product list.
awinBuilds awin1.com/cread.php deep linksNeeds publisherId and merchantId (awinmid) per feed.
templateGeneric template for CJ, Impact, 2Performant, etc.Copy the deep-link format from your network's link builder and put {urlEncoded} where the destination URL goes. Also available: {url}, {subId}, any key from params.

Derive a Link Template (for CJ, Impact, etc.)

Not sure about your network's link format? Generate one test link in your network's dashboard, then run:

bash
npm run link-template -- --link "<generated link>" --url "<product URL>" --name mynetwork

It extracts your IDs, replaces the destination with {urlEncoded}, prints the networks config entry, and verifies by rebuilding your link.

Graceful Fallback

If a tracked link cannot be built (missing account config or placeholder), DealFinder returns the plain merchant URL and marks it tracked: false. You never get a broken link.

Validate Before Connecting

bash
DEALFINDER_CONFIG=$PWD/dealfinder.config.json npm run check

Loads every feed and reports:

  • Product counts and field coverage
  • Price ranges and currency distribution
  • Sample links (tracked and plain)
  • Configuration errors that would prevent tracking

Compliance — Please Read

Legal Requirements

  • ✅ Use official feeds/APIs only. Scraping violates most networks' terms of service.
  • ✅ Check each program's terms before use, including whether AI-assisted promotion is allowed.
  • ✅ Use your own affiliate IDs on your own traffic. Networks attribute sales to the publisher who referred the visitor — do not rotate or share IDs.
  • ❌ Do not buy through your own affiliate links. Most programs forbid self-referral.
  • ✅ Keep the disclosure visible next to affiliate links. DealFinder includes disclosure text with every tracked link — make sure your AI shows it.

Data Accuracy

  • Prices reflect the last feed refresh (refreshHours, default 6) and are not converted between currencies.
  • Always display the product's native currency to avoid misleading customers.

Build on It

DealFinder exports a library API. Use startServer or createServer with a registerExtras(server, toolkit) callback to add your own MCP tools while reusing product presentation and link building:

typescript
import { startServer, z } from "mcp-dealfinder";
await startServer({  name: "my-dealfinder",  registerExtras: (server, kit) => {    server.registerTool(      "cheapest_of",      { inputSchema: { refs: z.array(z.string()).min(2) } },      async ({ refs }) => {        const { products } = kit.resolveRefs(refs);        const cheapest = [...products].sort((a, b) => a.price - b.price)[0]!;        return kit.text(kit.present(cheapest));      }    );  },});

This example adds a cheapest_of tool that takes product references and returns the cheapest one. You can extend DealFinder with custom filtering, scoring, or integration logic without forking.


Development

bash
npm installnpm test             # node:test: links, link-template, feeds, search, check, MCP servernpm run dev          # run from source over stdionpm run build        # compile TypeScript to dist/

Project Structure

src/  config.ts         Config schema + loader (falls back to demo data)  feeds.ts          CSV/JSON/gzip loading, price parsing, FeedStore  search.ts         Ranked keyword search (relevance or price)  links.ts          Affiliate deep-link builders per network  link-template.ts  Derive a network template from one generated link  check.ts          Config/feed validation report  server.ts         MCP tools + extension hook  bootstrap.ts      Config → feeds → server over stdio  lib.ts            Public library API

FAQ

Why does DealFinder need my affiliate IDs?

Without your IDs, the AI would return plain merchant URLs (no commission for you) or someone else's affiliate link. DealFinder ensures every tracked link uses your credentials.

Can I use DealFinder with Amazon Associates?

Yes, but Amazon offers no official product feeds, and the Creators API requires ≥10 qualifying sales in 30 days. You must supply your own list of Amazon product URLs. DealFinder will add your tag to each link.

Does DealFinder work with network APIs, or only CSV feeds?

Currently CSV/JSON feeds (local or URL). API integrations (Awin Product API, CJ Product Catalog, etc.) are planned for future releases.

What if a product's price changed since the feed was refreshed?

The AI sees the last refresh's price. Set refreshHours in your feed config (default 6 hours) to balance freshness and load. Always tell customers "prices subject to change" in your disclosure.

Can I track which page or post generated a sale?

Yes! Every tool accepts an optional sub_id parameter. Pass a unique identifier (e.g., post-123, email-campaign-nov) and it will be included in your affiliate links, visible in your network's reporting.

Is my feed data sent anywhere?

No. DealFinder runs locally via stdio. Feeds are loaded into memory, never transmitted. Your config file (which may contain API keys) stays on your machine.


Contributing

Contributions are welcome! Please:

  • Keep changes focused and well-tested
  • Add tests for new network templates
  • Update documentation for new features

See GitHub Issues for open tasks and feature requests.


License

MIT License - see LICENSE for details.

Copyright © 2026 Stefan Petrovici

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


About the Author

Built by Stefan Petrovici, software engineer based in Iași, Romania.

I'm open to work. I build web and mobile apps, take ideas from first sketch to production, and work project-based or time-based with clients worldwide. If you need an MCP server, an AI assistant for your shop, or help integrating affiliate marketing with AI — get in touch.


⭐ Support This Project

If MCP DealFinder helps you, star this repository!

A GitHub star helps other affiliate marketers discover the project and keeps me motivated to maintain it. Thank you for supporting open source!


More by the Author

MCP servers by Stefan Petrovici:

ProjectDescription
mcp-security-guardAudit MCP servers for tool poisoning, rug pulls, and OWASP MCP Top 10 vulnerabilities
mcp-cost-optimizerTrack and reduce AI API costs across providers
mcp-database-doctorDatabase schema analysis and optimization recommendations
mcp-dependency-doctorDependency health checks and vulnerability scanning
mcp-seo-auditorSEO analysis and recommendations for websites
mcp-api-guardianAPI security and rate limiting analyzer
mcp-marketplaceBrowse the full MCP server collection

Explore the full collection at mcp-marketplace.


MCP DealFinder is not affiliated with Awin, Amazon, Commission Junction, Impact, 2Performant, or any other affiliate network mentioned in this document.

来源:README.md,提交 101e0ea

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.1最新Oct 9, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分