Shopify开发MCP服务器

一个用于Shopify开发的MCP服务器Cloudron包,提供HTTP/JSON-RPC端点、认证配置、健康监控和自动重启功能。

  • by benneic
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 benneic/shopify-mcp-cloudron

使用说明

适用于Cloudron的Shopify MCP服务器

Shopify开发MCP服务器的Cloudron软件包。

特性

  • 运行最新 @shopify/dev-mcp 服务器
  • 用于远程访问的HTTP/JSON-RPC端点(与n8n、API客户端兼容)
  • 可选身份验证(Header或OAuth2Bearer)
  • Cloudron本机配置管理
  • 健康监测和自动重启功能

安装

先决条件

  • Cloudron实例正在运行
  • 已安装Cloudron CLI: npm install -g cloudron

构建和安装

# Clone this repository
git clone https://github.com/your-repo/shopify-mcp-cloudron
cd shopify-mcp-cloudron

# Login to your Cloudron instance
cloudron login my.cloudron.domain

# Build the app (no registry push needed for local deployment)
cloudron build --no-push

# Install directly to your Cloudron
cloudron install --location mcp.yourdomain.com

替代方案:手动安装包装

# Build and package
cloudron build

# Install from package file
cloudron install --location mcp.yourdomain.com --image com.shopify.mcp-server@1.0.0.tar.gz

配置

使用CLI通过Cloudron的环境变量配置身份验证和服务器设置。

设置环境变量

通过 Cloudron CLI (唯一可用的方法):

# Set authentication type and token
cloudron env set --app mcp.yourdomain.com AUTH_TYPE=header AUTH_TOKEN=your-secret-token

# Set custom header name (optional)  
cloudron env set --app mcp.yourdomain.com AUTH_HEADER_NAME=X-API-Key

# Restart the app to apply changes
cloudron restart --app mcp.yourdomain.com

管理环境变量:

# List all environment variables
cloudron env list --app mcp.yourdomain.com

# Get a specific environment variable
cloudron env get --app mcp.yourdomain.com AUTH_TYPE

# Remove environment variables
cloudron env unset --app mcp.yourdomain.com AUTH_TYPE AUTH_TOKEN

# Restart after changes
cloudron restart --app mcp.yourdomain.com

可用环境变量

  • AUTH_TYPE:身份验证方法
    • header -使用基于标头的身份验证
    • oauth2bearer -使用OAuth2承载令牌身份验证
    • 空/未设置-无需身份验证
  • AUTH_TOKEN:身份验证令牌(如果设置了AUTH_TYPE,则需要)
  • AUTH_HEADER_NAME:身份验证的标头名称(默认值: Authorization)
  • PORT:服务器端口(默认值: 8080,由Cloudron自动管理)
  • OPT_OUT_INSTRUMENTATION:禁用遥测(默认值: false)
  • POLARIS_UNIFIED:启用Polaris统一模式(默认: false)
  • LIQUID:启用Liquid模板支持(默认值: false)
  • LIQUID_VALIDATION_MODE:液体验证模式(默认值: partial)

身份验证示例

标头身份验证:

cloudron env set --app mcp.yourdomain.com AUTH_TYPE=header AUTH_TOKEN=your-api-key-here AUTH_HEADER_NAME=X-API-Key
cloudron restart --app mcp.yourdomain.com

OAuth2承载身份验证:

cloudron env set --app mcp.yourdomain.com AUTH_TYPE=oauth2bearer AUTH_TOKEN=your-bearer-token-here
cloudron restart --app mcp.yourdomain.com

无身份验证:

cloudron env unset --app mcp.yourdomain.com AUTH_TYPE AUTH_TOKEN
cloudron restart --app mcp.yourdomain.com

更新应用程序

要更新现有安装,请执行以下操作:

# Make your changes to the code
# Rebuild the app
cloudron build --no-push

# Update the running app
cloudron update --app mcp.yourdomain.com

用法

安装后,MCP服务器将可在您的Cloudron应用程序URL上使用HTTP端点进行远程访问。

HTTP端点

  • MCP端点: https://your-app-url/mcp (POST用于JSON-RPC请求,GET用于服务器信息)
  • 健康检查: https://your-app-url/health (获取服务器状态)

从n8n连接

在n8n的AI Agent节点中,配置端点设置:

Endpoint URL: https://your-app-url/mcp
Method: POST
Content-Type: application/json

JSON-RPC请求格式

向发送POST请求 /mcp JSON-RPC 2.0格式:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {
    "protocolVersion": "2024-11-05",
    "capabilities": {},
    "clientInfo": {
      "name": "n8n",
      "version": "1.0.0"
    }
  }
}

认证

如果配置了身份验证,请包含相应的标头:

# Header authentication
Authorization: your-api-key

# OAuth2 Bearer authentication  
Authorization: Bearer your-token

健康检查

服务器在以下位置提供健康检查端点 /health 用于监测。