Skip to main content
Glama
hirokicha

xiaohongshu-ads-openapi

by hirokicha

xiaohongshu-ads-openapi

小红书开放平台广告数据 SDK + MCP Server + Skill 包。

封装乘风(报表)、聚光(笔记)、蒲公英(待开通)三个平台的 API,提供统一的认证、HTTP、异常、模型层,支持 AI Agent 通过 MCP 协议或 Skill 直接调用。

特性

  • 统一 SDK:三个平台共用认证、HTTP、异常、分页、Token 存储底座

  • MCP Server:通过行业标准 MCP 协议暴露工具,支持 Claude、ChatGPT、Cursor、豆包等 AI Agent

  • Skill 包:开箱即用的业务流程技能(每日投流数据抓取与飞书同步)

  • 零外部依赖:SDK 核心仅依赖 certifi(SSL 证书),不引入 requests 等重依赖

  • 自动 Token 刷新:access_token 过期自动刷新,支持内存/文件/SQLite 多种存储

  • 可配置:多应用、多账户支持,所有敏感信息从环境变量读取

Related MCP server: mcp-cn-commerce

快速开始

1. 安装

pip install -e .
# MCP Server 需要额外安装 mcp 包
pip install mcp

2. 配置

复制配置模板并填写你的应用信息:

cp examples/config.yaml config.yaml
# 编辑 config.yaml,填入 app_id、secret、refresh_token、advertiser_id
# 敏感信息也可以通过环境变量传入,配置文件中用 ${ENV_VAR} 引用

3. 使用 SDK

from xhs_ads import AppConfig, ChengfengClient
from datetime import date

app = AppConfig(
    name="乘风-我的账户",
    platform="chengfeng",
    app_id="your_app_id",
    secret="your_secret",
    refresh_token="your_refresh_token",
    advertiser_id=12345678,
)

client = ChengfengClient(app)

# 抓昨天的单日报表
result = client.fetch_offline_report(
    level="campaign",
    start_date=date(2026, 9, 20),
    end_date=date(2026, 9, 20),
    time_unit="DAY",
)

for row in result.rows:
    print(f"{row.entity_name}: 消耗={row.fee}, 点击={row.click}, CTR={row.ctr}")

4. 运行 MCP Server

export XHS_ADS_CONFIG=/path/to/config.yaml
python -m mcp_server.server

在支持 MCP 的 AI 工具中配置 stdio MCP Server,即可调用以下工具:

  • list_apps — 列出可用应用

  • fetch_daily_report — 抓取单日报表

  • fetch_cumulative_report — 抓取累计报表

  • fetch_realtime_base_map — 获取计划/创意基础信息(含创建时间)

5. 运行 Skill(每日投流数据抓取)

export XHS_ADS_CONFIG=/path/to/config.yaml
python skills/daily_ad_report/run.py

# 测试模式(只抓不写飞书)
python skills/daily_ad_report/run.py --dry-run

# 指定日期和应用
python skills/daily_ad_report/run.py --date 2026-09-20 --app "乘风-我的账户"

项目结构

xiaohongshu-ads-openapi/
├── src/xhs_ads/                  # 核心 SDK
│   ├── __init__.py               # 包入口,导出所有公共 API
│   ├── exceptions.py             # 异常体系
│   ├── http_client.py            # HTTP 客户端(重试+限流)
│   ├── auth.py                   # 认证(Token 自动刷新+应用配置)
│   ├── token_store.py            # Token 存储抽象(内存/文件)
│   ├── models.py                 # 类型化数据模型+指标列常量
│   ├── config.py                 # 配置加载(YAML/环境变量)
│   └── chengfeng/                # 乘风子模块
│       ├── __init__.py
│       └── client.py             # 乘风报表客户端(offline+realtime)
├── mcp_server/                   # MCP Server
│   ├── __init__.py
│   └── server.py                 # MCP Server 入口(4个工具)
├── skills/                       # Skill 包
│   └── daily_ad_report/          # 技能1:每日投流数据抓取
│       ├── SKILL.md              # 技能说明
│       ├── run.py                # 编排脚本
│       └── feishu_client.py      # 飞书多维表格客户端
├── docs/                         # 文档
│   └── SPEC_daily_ad_report.md   # 技能1规格文档
├── examples/                     # 示例
│   └── config.yaml               # 配置模板
├── tests/                        # 测试
├── pyproject.toml                # 包配置
├── .gitignore
├── LICENSE
└── README.md

平台支持状态

平台

报表

笔记

其他

状态

乘风 (Chengfeng)

✅ offline + realtime

可用

聚光 (Juguang)

✅ 笔记列表

可用(SDK 层已预留)

蒲公英 (PGY)

投后数据

⚠️ 需消耗达标(近1年500万)才能开通应用

注意事项

  • .env 不进仓库:所有敏感信息(app_id、secret、token、advertiser_id)通过环境变量或本地配置文件传入,绝不提交到 Git

  • 数据口径:乘风 7 日归因 GMV 与千帆店铺支付金额是不同口径,不相加、不互相替代

  • 离线报表 T+1:昨天的数据建议每天上午 9 点后抓取,确保数据已产出

  • 蒲公英门槛:蒲公英应用创建需近 1 年蒲公英累计消耗 500 万元,未达标无法开通

License

MIT

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Connects AI assistants to Facebook's Ads API to enable natural language queries for campaign data, insights, and performance metrics. It allows users to manage ad accounts and retrieve detailed analytics like impressions, clicks, and spend through MCP-compatible interfaces.
    -
  • A
    license
    A
    quality
    A
    maintenance
    A suite of MCP servers that give AI agents read-only access to Chinese e-commerce platform business data, including advertising, orders, products, and more from platforms like Douyin, JD.com, Taobao, etc.
    22
    69 PyPI
    61
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Provides read access to campaign performance data from Google Ads, Meta Ads, and TikTok Ads via live API calls, enabling AI assistants to analyze and audit advertising campaigns.
    16
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to browse and query Facebook Ads data including ad accounts, campaigns, ad sets, and performance insights via natural language.
    1 npm
    MIT