订阅管理服务器

一个与Lemon Squeezy集成的MCP服务器实现,用于管理订阅、结账、产品等,提供结构化接口和审计日志功能。

  • by atharvagupta2003
  • Python
  • 本地部署
  • 10 星标
  • 更新于
在 GitHub 查看 atharvagupta2003/mcp-lemonsqueezy

使用说明

柠檬Squeezy服务器

一种模型上下文协议(MCP)服务器实现,与 柠檬奶昔 用于处理订阅、结账、产品等。该服务器提供了一个结构化接口,通过审计日志和基于工具的控制,以编程方式管理您的Lemon Squeezy商店。

演示

需求

  • Python 3.8+
  • MCP SDK 0.1.0+
  • 意图tp
  • python dotenv

组件

资源

服务器提供与MCP兼容的资源用于操作审核:

  • 存储所有基于工具的Lemon Squeezy操作日志
  • 通过以下方式公开审核日志 read_resource 端点
  • 有助于调试和审计可追溯性

工具

通过MCP工具实施全套柠檬压榨操作:

🔍 商店和产品工具

  • get_user:获取Lemon Squeezy的当前用户信息
  • list_stores:列出所有商店
  • get_store:获取特定商店
  • list_products:列出产品
  • get_product:获取产品详细信息
  • get_product_variants:列出产品的变体

📦 订单和客户工具

  • list_orders:列出所有订单
  • get_order:获取订单的详细信息
  • list_customers:列出所有客户
  • get_customer:获取客户详细信息

💳 订阅和许可证工具

  • list_subscriptions:列出订阅
  • get_subscription:获取订阅
  • list_license_keys:列出许可证密钥
  • get_license_key:获取许可证密钥信息

🛒 结账和Webhook工具

  • create_checkout:创建完全自定义的结账会话
  • create_webhook:注册新的webhook
  • list_webhooks:列出所有Webhook(可按商店筛选)

特性

  • 订阅和结账管理
  • Webhook创建和列表
  • 所有操作的审计日志记录
  • MCP兼容工具和资源集成
  • 错误反馈和记录

安装

通过Smithery安装

通过以下方式自动为Claude Desktop安装LemonSqueezy服务器 史密瑟里:

npx -y @smithery/cli install @atharvagupta2003/mcp-lemonsqueezy --client claude

安装依赖项

python -m venv venv
source venv/bin/activate  # On macOS/Linux
venv\Scripts\activate    # On Windows
pip install -e .

配置

在中设置环境变量 .env 文件:

LEMON_SQUEEZY_API_KEY=your_lemonsqueezy_api_key

克劳德桌面

将服务器配置添加到您的Claude Desktop配置中:

Windows:C:\用户<用户名>\AppData\Roaming\Claude\Claude_desktop_config json

MacOS:~/库/应用程序支持/Claude/Claude_desktop_config json

{
  "mcpServers": {
    "lemonsqueezy": {
      "command": "/Users/hp/.local/bin/uv",
      "description": "Operations with lemonsqueezy payment platform",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/PARENT/FOLDER/src/mcp_lemonsqueezy",
        "run",
        "--with",
        "fastmcp",
        "server.py"
      ],
      "env": {
         "LEMONSQUEEZY_API_KEY": "<YOUR-API-KEY>"
       }
    }
  }
}

用法

启动服务器

uv run src/mcp_lemonsqueezy/server.py

MCP命令示例

获取当前用户

{
  "tool": "get_user",
  "arguments": {}
}

列出所有商店

{
  "tool": "list_stores",
  "arguments": {}
}

按ID获取商店

{
  "tool": "get_store",
  "arguments": {
    "store_id": "164870"
  }
}

错误处理

服务器为常见场景提供清晰的错误消息:

  • 401未经授权:缺少API密钥或密钥无效
  • 422不可处理实体:无效字段,如缺少变量/存储ID
  • 400错误请求:无效的JSON API结构

发展

测试

运行MCP检查器进行交互式测试:

npx @modelcontextprotocol/inspector uv run --with fastmcp /ABSOLUTE/PATH/TO/PARENT/FOLDER/src/mcp_lemonsqueezy/server.py

建筑

  1. 更新依赖关系:
uv compile pyproject.toml
  1. 构建包:
uv build

贡献

我们欢迎捐款!请查看我们的 贡献指南 了解详情。

许可证

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