多渠道交易分发器

一个完全符合规范的模型上下文协议(MCP)服务器,将单个商户交易有效负载转换为54个完全格式化、本地化的交易展示,跨越6个渠道,同时解决多渠道交易分发问题。

  • by sahas-01
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 sahas-01/Social-media-MCP-connector

使用说明

MCP多渠道交易分销商

完全符合规范 模型上下文协议(MCP) 将单个商家交易有效负载转换为 54个完全格式化、本地化的交易投放 跨越6个通道——同时。专为解决多渠道交易分销问题而设计。

📖 新来的? 跟随 安装指南 有关让服务器运行并连接到Claude Desktop的分步说明。

它做什么

一次工具调用→ 54 生产就绪的营销字符串。

User (Claude Desktop)
    │
    │  Natural language: "Distribute this deal..."
    ▼
┌──────────────────────────┐
│  MCP Server (index.ts)   │  ← Receives tool call via stdio
│  distribute_deal()       │
└──────────┬───────────────┘
           │
    ┌──────┴──────┐
    ▼             ▼
┌──────────┐  ┌──────────────┐
│ OpenAI   │  │ OpenAI       │  ← 3 parallel API calls
│ English  │  │ Hindi/Telugu │    (1 English + 2 regional)
│ 18 vars  │  │ 36 vars raw  │
└────┬─────┘  └──────┬───────┘
     │               │
     │               ▼
     │        ┌──────────────┐
     │        │ Sarvam-M     │  ← 36 concurrent refinement calls
     │        │ Polish each  │
     │        │ string       │
     │        └──────┬───────┘
     │               │
     └───────┬───────┘
             ▼
     ┌───────────────┐
     │ 54 total      │  → 54 production-ready marketing strings
     │ variants      │    (18 English, 18 Hindi, 18 Telugu)
     └───────┬───────┘
             │
             ▼
     ┌───────────────┐
     │ Webhook Sim   │  ← 54 concurrent simulated deliveries
     │ Retry logic   │    with exponential backoff
     │ Delivery logs │
     └───────────────┘
             │
             ▼
     ┌───────────────┐
     │ Resend API    │  ← Optional independent tool (`send_real_email`)
     │ Real delivery │    to actually send a generated email to an inbox
     └───────────────┘

总输出:54个字符串+54个交付日志

交通:当地标准

此MCP服务器使用 stdio传输 --Claude Desktop将其作为本地子进程启动,并通过stdin/stdout进行通信。一切都在你的机器上运行,不需要远程服务器。

未来扩展: 为了将其部署到整个团队使用(例如,50名营销人员使用一台共享服务器),可以将传输从stdio交换到 SSE/HTTP (MCP流式HTTP规范).


技术架构

技术栈

组件 技术 目的
MCP服务器 @modelcontextprotocol/sdk 符合规范的stdio服务器可连接到Claude Desktop
复制生成 OpenAI gpt-4o-mini 通过结构化输出生成18种结构化英语A/B变体
本地化 Sarvam AI Sarvam-M (聊天完成) 文化习惯的印地语和泰卢固语本地化(非直译)
电子邮件传递 重新发送API 生成副本的真实电子邮件传递
架构验证 Zod 对所有生成的内容进行运行时类型验证
运行时间 tsx +TypeScript 零构建执行,完全类型安全

项目结构

src/
├── index.ts              # MCP server entry point — tool registration & orchestration
├── types.ts              # Zod schemas & TypeScript types for all data structures
├── llm-generator.ts      # OpenAI wrapper — generates 18 English variants via Structured Outputs
├── translator.ts         # Sarvam-M chat wrapper — culturally idiomatic Hindi/Telugu localization
├── webhook-simulator.ts  # Mock delivery engine with exponential backoff retry
└── email-service.ts      # Resend API wrapper for actual email delivery

6频道

通道 格式 约束
电子邮件 HTML代码片段(主题+标题+CTA) 主题≤60,标题≤80,CTA≤30个字符
WhatsApp 纯文本消息 ≤160个字符
推送通知 标题+正文 标题≤50,正文≤100个字符
眩光锁定屏幕 独立卡 ≤160个字符,必须在没有上下文的情况下工作
PayU结账横幅 面向动作的文本 ≤40个字符
Instagram 带标签的标题 ≤400个字符

三种A/B变体

每个频道都有3个心理上不同的变体:

  • 紧迫性 --时间压力、稀缺性、FOMO驱动的信息传递
  • 价值 --以节省为重点,合理的投资回报率,利益驱动的信息传递
  • 社会认同 --人气信号、群体验证、信任驱动的消息传递

这些是 不 同义词互换——它们使用完全不同的心理框架。提示明确指示模型编写每个变体,就像是不同的文案作者编写的一样。

结构化输出

我们使用OpenAI 结构化输出 (response_format: { type: 'json_schema', strict: true })以确保LLM响应每次都与我们的精确Zod模式相匹配。这消除了:

  • 关键套管不匹配(例如。, Instagram 对比 instagram)
  • 缺少字段导致运行时验证失败
  • 需要对LLM输出进行任何后处理或归一化

JSON模式在API调用中以内联方式定义 additionalProperties: false 在每个对象上,输出都是确定性结构的。

本土化战略

我们使用 Sarvam-M (Sarvam AI的多语言聊天模型) client.chat.completions() 印度语言的当地语调和感觉

  • ❌ 直译: “只有2次兑换!最低订单₹5000" → “只有2个可用的兑换! 最低订单 ₹5000”
  • ✅ 习语本地化:→ “只能得到两次这个优惠! 订购₹5000并享受🔥"

每种语言都有自己详细的文化指导提示,很少有镜头示例:

  • 印地语:具有孟买广告公司活力的印度式英语,随意的“小甜甜/小甜甜”语气,WhatsApp风格的俚语
  • 泰卢固语海得拉巴的口语风格,休闲表达式,如“奥雷”,“如果你错过了你的卡尔玛”,自然英语混合

所有54个本地化调用(6个变体×每个9个字段)通过以下方式同时运行 Promise.all 以获得最佳性能。

Webhook模拟

54个格式化字符串中的每一个都被分派到模拟真实交付的模拟webhook端点:

  • 20%随机故障率 模拟网络问题
  • 指数回退重试 (每次交付最多3次尝试,延迟2^n×100ms)
  • 交货报告 每个通道的成功/失败状态和尝试次数
  • 所有54个调度通过以下方式同时运行 Promise.all

设置

有关详细的分步演练(包括故障排除),请参阅 SETUP_GUIDE.md.