Omnisend MCP服务器

一个与Omnisend API V5集成的模型上下文协议(MCP)服务器,提供联系人管理、产品管理、事件跟踪等功能,适用于电子商务和营销自动化场景。

  • by plutzilla
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 plutzilla/omnisend-mcp

使用说明

Omnisend MCP服务器

一个模型上下文协议(MCP)服务器,与Omnisend API V5集成,用TypeScript编写。

版本: 2.3.0

特性

  • 联系人管理(列表、创建、获取、更新)
  • 产品管理(列表、创建、获取、替换、删除)
  • 事件跟踪
  • 产品类别管理
  • 品牌信息访问
  • 基于光标的分页支持,具有下一个/上一个URL和限制/偏移信息
  • MCP Inspector集成,用于调试和测试
  • 具有正确JSON模式响应的人类可读资源名称

2.3.0版本的更改

  • 增加了品牌信息支持 /v5/brands/current 端点集成
  • 实现 getCurrentBrand 检索当前品牌数据的工具
  • 添加 Brand information 实时品牌数据访问资源
  • 添加 Brand schema 具有正确JSON模式定义的资源
  • 更新了所有模式资源,以返回序列化JSON而不是虚拟文本
  • 使用人类可读的名称和“模式”后缀改进了资源命名
  • 添加了MCP检查器与 npm run inspect 和 npm run inspect:env 脚本
  • 通过可视化测试界面增强调试功能
  • 更新文档,提供全面的调试和测试指南

2.2.0版本中的更改

  • 将代码库重构为更模块化的结构
  • 实施了特定领域的模块(联系人、产品、类别、事件)
  • 将代码组织到逻辑目录中(/types、/filters、/api-resources、/resources、/tools)
  • 在ping工具中使服务器版本动态
  • 在API请求中添加了更好的错误处理
  • 通过桶导出提高了代码的可维护性
  • 删除了冗余和重复的代码

2.1.0版本中的更改

  • 更新到@modelcontextprotocol/sdk v1.11.0
  • 改进了整个应用程序的错误处理
  • 通过更好的错误消息增强API的稳定性
  • 添加了请求超时配置以防止挂起连接
  • 修复了MCP检查器的SSE连接问题
  • 优化控制台输出,与MCP客户端兼容
  • 在MCP响应中添加了基于光标的分页上下文(下一个/上一个URL、限制/偏移)

2.0.0版本中的更改

  • 将整个代码库迁移到TypeScript
  • 根据最新规范更新MCP资源结构
  • 为所有API响应和请求添加了正确的类型声明
  • 改进了对类型异常的错误处理
  • 增强的代码组织和可维护性

安装

npm install

建筑

要编译TypeScript代码:

npm run build

以开发模式运行

对于自动重新加载的开发:

npm run dev

调试和测试

MCP检查员

该项目包括运行MCP检查器进行测试和调试的脚本:

# Basic inspector (requires .env file or environment variables)
npm run inspect

# Inspector with explicit environment variables
OMNISEND_API_KEY=your_api_key npm run inspect:env

MCP检查员提供:

  • 所有工具和资源的交互式测试
  • MCP通信的实时调试
  • 用于探索服务器功能的可视化界面
  • 请求/响应日志记录和错误分析

检查器将在您的浏览器中打开(通常在 http://localhost:6274)并允许您:

  • 测试所有可用工具(ping、联系人、产品、类别、事件、品牌)
  • 浏览资源(模式和实时数据)
  • 监控服务器日志和通知
  • 导出配置以供其他MCP客户端使用

配置

创建一个 .env 根目录中使用Omnisend API密钥的文件:

OMNISEND_API_KEY=your_api_key_here
OMNISEND_API_URL=https://api.omnisend.com/v5

用法

要启动MCP服务器,请执行以下操作:

npm start

与MCP服务器交互

MCP服务器旨在与理解模型上下文协议的客户端一起使用。 以下是与它互动的方法:

VS代码集成

为了与VS Code一起使用,提供了一个配置文件 .vscode/mcp.json. 带有适当MCP扩展的VS Code可以与此服务器通信。

AI助理

像支持MCP的Claude这样的AI助手可以与此服务器通信,以访问Omnisend数据并执行操作。

与Claude Desktop一起使用

要将此MCP服务器与Claude Desktop一起使用:

  1. 从下载并安装Claude Desktop 官方网站.

  2. 确保你的系统上安装了Node.js。您可以通过运行以下命令进行验证:

    node --version
    

    如果未安装Node.js,请从以下网址下载 nodejs.org.

  3. 打开计算机上的Claude菜单,选择“设置…”

  4. 单击“设置”窗格左侧栏中的“开发人员”,然后单击“编辑配置”

  5. 这将打开您的Claude Desktop配置文件。用以下配置替换文件内容或添加以下配置:

    {
      "mcpServers": {
        "omnisend": {
          "command": "node",
          "args": [
            "/path/to/dist/index.js"
          ],
          "env": {
            "OMNISEND_API_KEY": "your_api_key_here"
          }
        }
      }
    }
    

    确保更换 your_api_key_here 使用您的实际Omnisend API密钥。

  6. 保存配置文件并重新启动Claude Desktop。

  7. 重新启动后,您应该在输入框的右下角看到一个锤子图标。

  8. 点击锤子图标查看可用的Omnisend工具。

  9. 现在,您可以要求Claude执行以下操作:

    • “在Omnisend中列出我最近的联系人”
    • “在我的Omnisend目录中创建新产品”
    • “向Omnisend发送客户事件”

自定义MCP客户端

您可以使用开发自定义客户端 @modelcontextprotocol/sdk 图书馆:

import { McpClient } from '@modelcontextprotocol/sdk/client/mcp';
import { ProcessClientTransport } from '@modelcontextprotocol/sdk/client/process';

const transport = new ProcessClientTransport(serverProcess);
const client = new McpClient(transport);

// Connect to the server
await client.connect();

// Execute tools
const result = await client.executeTool("listContacts", { limit: 10 });

API文档

有关Omnisend API的更多信息,请参阅 官方文件.

许可证

此项目根据Apache许可证2.0获得许可-请参阅 许可证 文件以获取详细信息。