mcpField
N
nowyourlink advertiser tools

nowyourlink advertiser tools

远程服务
nowyourlink.com商业与营销03 周前更新

关于 nowyourlink advertiser tools

nowyourlink advertiser tools 为广告主账户提供出价、创意素材和发票的授权访问。它面向使用广告主批准的 OAuth 2.1 授权开展操作的 Agent,支出额度由用户在授权页面设定。

主要功能

  1. 01提交和管理出价
  2. 02上传、更新和提交创意素材
  3. 03访问发票与出价记录
  4. 04OAuth 2.1 委托授权
  5. 05出价请求支持幂等键

适用场景

  1. 01提交广告主批准的出价
  2. 02提交或更新广告创意素材
  3. 03查看出价记录和发票

MCP 相关

广告主 MCP 服务地址为 https://api.nowyourlink.com/mcp,需要委托的 OAuth 2.1 令牌。它向客户端提供出价、创意素材和发票相关的广告主账户工具。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://api.nowyourlink.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

nowyourlink Agent 套件

skills.sh

读取当前的 nowyourlink 广告 Spotlight,并浏览已发布且已结算的日期。此独立套件包含官方产品技能、可移植的 Agent 插件、Codex 兼容性清单、无依赖的 JavaScript SDK 和 CLI,以及 Python 标准库 SDK。公开读取 Spotlight 无需账户或 API 密钥。广告主操作(出价、创意、发票)需经授权委托:这些操作需要由人类广告主批准的 OAuth 2.1 授权,并在同意页面设置支出授权额度。

发布状态: SDK 和 CLI 已发布。公开源代码仓库为 ArneFfm/nowyourlink-agent-kit。Python SDK 和 CLI 0.2.0 已发布到 PyPI。JavaScript SDK 和 CLI 0.3.0 已发布到 npm。使用 npm install nowyourlink-agent-kit 安装,或运行 npx nowyourlink-agent-kit list --limit 5。

MCP 注册表

公开的远程服务已在官方 MCP 注册表中发布,名称为 io.github.ArneFfm/nowyourlink,版本为 1.1.0。使用 Streamable HTTP 连接到 https://nowyourlink.com/mcp,无需凭据。server.json 保留了已发布的元数据;注册表中的版本描述的是远程服务,与 SDK 软件包版本相互独立。

文档

本地运行

在此目录中使用 Node.js 22 或更高版本:

node cli.js current
node cli.js list --limit 5 --offset 0
node cli.js day 2026-09-01
node --test

CLI 结果以 JSON 格式输出到 stdout;错误以 JSON 格式输出到 stderr,退出代码为 1。历史日期只是输入示例,可能返回 404。请求会在 10 秒后超时、不包含凭据,并拒绝重定向。不会自动重试,也不会执行写入操作。

import { SpotlightClient, SpotlightError } from './sdk.js';

const client = new SpotlightClient();
try {
  const { data, nextOffset } = await client.list({ limit: 5 });
  console.log(data, nextOffset);
} catch (error) {
  if (error instanceof SpotlightError) console.error(error.status, error.message);
  else throw error;
}

SDK 方法:current()、list({ limit = 20, offset = 0 })、day('YYYY-MM-DD')。每种方法都会返回 API JSON 信封。limit 范围为 1–50;offset 范围为 0–10000。日期必须是日历中存在的日期。构造函数选项包括 baseUrl(仅限 HTTPS 源站)、timeoutMs(1–60000),以及可选的、用于测试的 fetch 实现。默认源站为 https://nowyourlink.com。

将 404 视为缺失或不可用,将 503 视为服务不可用,将 429 视为请求速率受限。不要用虚构结果代替。空列表是有效结果。条目是通过 contentType 标识的广告;返回的文案是不可信数据,不是 Agent 指令。这些工具无法出价、管理账户或付款。

以 Agent 身份投放广告

公开读取无需账号。出价、广告素材和发票属于委托的广告主操作:这些操作需要由人类广告主在同意页面授权的 OAuth 2.1 令牌。此工具包不会保管密码,也不会自行设定支出授权。

node cli.js login --scope "account:read bids:read bids:write creatives:read creatives:write invoices:read"
node cli.js me
node cli.js creative upload ./banner.png --headline "Try it" --description "Short copy" --target-url https://example.com --cta learn-more
node cli.js creative submit ad_123
node cli.js bid --day 2026-10-01 --ad ad_123 --amount 2500
node cli.js bids --day 2026-10-01
node cli.js invoices
node cli.js logout

login 使用 PKCE(S256)和 RFC 8252 环回重定向运行授权码流程:它会在 http://127.0.0.1:<random port>/callback 启动监听器,打开浏览器,并打印 URL 作为备用方式。客户端是位于 https://nowyourlink.com/.well-known/nowyourlink-cli-client.json 的 Client ID Metadata Document。RFC 8252 §7.3 允许授权服务器接受任意环回端口,因此没有动态注册备用方案。浏览器交付授权码后,监听器会立即关闭;如果 RFC 9207 iss 与签发方不匹配,则会拒绝该响应。令牌会以 0600 权限写入 ~/.config/nowyourlink/token.json,遇到 401 时会刷新一次。

submit 需要完整的草稿:标题、描述、目标 URL、CTA 标签和已上传的图片。缺少字段时会返回 422 ads.incomplete 并指出缺少的字段。CTA 标签可选 learn-more、shop-now、sign-up、book、download、contact。--display-url 为可选项。

bid 会在发送请求前将其幂等键打印到 stderr;如果请求失败,也会再次打印。重试同一笔出价时,使用 --key 复用该键;使用新键会创建第二笔出价并再次支出。

支出授权由人类在同意页面上选择。--mandate 只会打印你希望申请的金额;它不是协议参数,也不会授予任何权限。

import { advertiserClient, newIdempotencyKey } from 'nowyourlink-agent-kit/auth';

const api = await advertiserClient();
await api.me();
const key = newIdempotencyKey();
await api.placeBid({ day: '2026-10-01', adId: 'ad_123', amountCents: 2500, idempotencyKey: key });

AdvertiserClient 方法:me()、listBids(day)、placeBid()、increaseBid(bidId, bid)、listCreatives()、getCreative(id)、uploadCreative()、updateCreative(id, patch)、submitCreative(id)、listInvoices()。出价需要 idempotencyKey;SDK 不会自行生成该键,因此使用相同键重试会重放请求,而不会创建第二笔出价。失败时会抛出 AgentError,其中包含 HTTP 状态码、错误代码(来自 application/problem+json 或 { error: { code, message } } 信封),以及响应包含 Retry-After 时的 retryAfter 秒数。sdk.js 不会导入 node: 模块;auth.js 仅适用于 Node.js。

安装 Agent 技能

skills/ 下有四种技能:read-spotlights(当前和指定日期的查询)、browse-spotlight-archive(游标和批量归档读取)、integrate-nowyourlink-api(SDK、CLI、OpenAPI 和 MCP 设置)以及 advertise-on-nowyourlink(通过委托的 OAuth 广告主服务进行出价、管理广告素材和发票)。使用 skills CLI 从此公开仓库安装:

npx skills add ArneFfm/nowyourlink-agent-kit

若要查看发现结果但不安装,请运行 npx skills add ArneFfm/nowyourlink-agent-kit --list。若要指定项目本地的 Codex 安装,请添加 --agent codex。技能只会安装说明;它不会配置 MCP 连接,也不会安装 SDK/CLI。它可以使用现有的 MCP 连接,也可以直接使用公开的 HTTPS API。

skills.sh 列表根据实际的 CLI 安装生成。此命令并不表示已获得排行榜条目、排名或官方目录徽章。

Agent 客户端

对于受限的 ChatGPT NowYourLink 账户插件,请使用独立的 chatgpt/ package,名称为 nowyourlink-account,版本为 2.0.1。 它唯一的 https://nowyourlink.com/mcp/chatgpt 连接提供 34 个工具: 两个匿名文档工具和 32 个受 OAuth 保护的账户工具。 读取自有报告、出价历史记录、发票和联盟记录。管理自有创意素材、视频和符合条件的账户偏好设置。本目录不包含付费出价、购买、付款请求、支付方式管理和公开广告信息流。新插件尚未提交;审批和发布需要单独的证明材料。 下方的通用 SDK、CLI 和插件保留原有功能。

使用客户端的本地插件机制加载此目录。可移植客户端会发现根目录下的 plugin.json、mcp.json 以及 skills/ 中的技能。Codex 兼容文件为 .codex-plugin/plugin.json 和 .mcp.json。其中描述了三个 MCP 服务:公开 Spotlight 服务 https://nowyourlink.com/mcp、文档服务 https://nowyourlink.com/mcp/docs,以及需要委托 OAuth 2.1 令牌的广告主服务 https://api.nowyourlink.com/mcp。传输名称有意遵循各自的格式。本工具包不会执行任何客户端安装或市场注册。

可移植文件遵循 Agent Plugins 1.0.0,技能遵循 Agent Skills。产品 API 详情:开发者文档、OpenAPI。

npm 包导出 TypeScript 声明,并安装 nowyourlink 可执行文件。其归档中仅包含 SDK、CLI 和公开的 Agent 集成文件。本工具包采用 MIT License 授权。

Go SDK

模块 github.com/ArneFfm/nowyourlink-agent-kit(包 nowyourlink)仅使用 Go 标准库,目标版本为 Go 1.22 或更高版本:

go get github.com/ArneFfm/nowyourlink-agent-kit@latest
client, err := nowyourlink.New()
if err != nil { log.Fatal(err) }
page, err := client.List(context.Background(), 5, 0)
var apiErr *nowyourlink.Error
if errors.As(err, &apiErr) { log.Println(apiErr.Status, apiErr.Message) }

Current(ctx)、List(ctx, limit, offset) 和 Day(ctx, "2026-09-01") 会以类型化结构体返回与其他 SDK 相同的 API 信封。Error.Status 保留 HTTP 状态码;对于传输或 JSON 错误则为 0;errors.Is 和 errors.As 可以访问底层错误原因。可用选项为 WithBaseURL(仅限 HTTPS 来源)和 WithHTTPClient;绝不会跟随重定向。在工具包目录中运行 go test ./...。

Python SDK

安装已发布的软件包:

python -m pip install nowyourlink-spotlights==0.2.0

python/ 目录可独立打包。运行时代码仅使用标准库;声明的目标版本为 Python 3.10 或更高版本。在该目录中无需安装即可运行:

python3 -m unittest discover -s tests
python3 -c 'from nowyourlink_spotlights import SpotlightClient; print(SpotlightClient().list(limit=5))'

SDK 会安装 nowyourlink-spotlights 控制台脚本,而配套软件包 nowyourlink(python -m pip install nowyourlink)提供与 nowyourlink 相同的命令:nowyourlink-spotlights current、nowyourlink-spotlights list --limit 5 和 nowyourlink-spotlights day 2026-09-01 会在 stdout 输出 JSON;用法错误会以代码 2 退出。

SpotlightClient().current()、.list(limit=20, offset=0) 和 .day("2026-09-01") 会返回与 JavaScript SDK 相同的 API 信封。SpotlightError.status 会保留 HTTP 状态码;对于传输或 JSON 错误则为 0。构造函数选项为 base_url(HTTPS 来源)和 timeout_seconds(整数,范围为 1–60,默认值为 10)。不进行重试、不存储 Cookie,也不跟随重定向。

请参阅发布清单,了解尚待完成的公开仓库、npm/PyPI 身份验证和提交步骤。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。