mcpField
L
LinkedIn Ads

LinkedIn Ads

本地服务
getmcpads.com商业与营销03 天前更新

关于 LinkedIn Ads

LinkedIn Ads MCP 服务将广告账户数据和操作接入 MCP 客户端,适合需要查看投放并准备广告变更的团队。提供账户范围限制、默认关闭的写入工具和逐项预览确认。

主要功能

  1. 01读取账户、广告系列与素材
  2. 02分析表现、人口统计和归因
  3. 03查询定向与媒体库
  4. 04写入工具默认关闭并预览
  5. 05限制账户范围并验证实体

适用场景

  1. 01检查广告账户健康状态
  2. 02分析广告表现与受众人口统计
  3. 03准备广告系列或广告草稿
  4. 04验证报告查询和定向选项

MCP 相关

作为 MCP 服务,它向兼容 stdio 的 MCP 客户端提供 18 个读取工具、15 个可选写入工具和 6 个资源。写入需启用并明确确认,所有请求直接发送至 LinkedIn Marketing API。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"com-getmcpads-linkedin-ads": {
"command": "npx",
"args": [
"-y",
"@getmcpads/linkedin-ads-mcp-server"
],
"env": {
"LINKEDIN_ADS_ACCESS_TOKEN": "<LINKEDIN_ADS_ACCESS_TOKEN>",
"LINKEDIN_ADS_REFRESH_TOKEN": "<LINKEDIN_ADS_REFRESH_TOKEN>",
"LINKEDIN_ADS_CLIENT_ID": "<LINKEDIN_ADS_CLIENT_ID>",
"LINKEDIN_ADS_CLIENT_SECRET": "<LINKEDIN_ADS_CLIENT_SECRET>",
"LINKEDIN_ADS_ACCOUNT_IDS": "<LINKEDIN_ADS_ACCOUNT_IDS>",
"LINKEDIN_ADS_SCOPES": "<LINKEDIN_ADS_SCOPES>",
"LINKEDIN_ADS_ENABLE_WRITES": "<LINKEDIN_ADS_ENABLE_WRITES>",
"LINKEDIN_ADS_API_VERSION": "<LINKEDIN_ADS_API_VERSION>",
"LINKEDIN_ADS_LOG_LEVEL": "<LINKEDIN_ADS_LOG_LEVEL>"
}
}
}
}
启动命令npx -y @getmcpads/linkedin-ads-mcp-server
需要配置的环境变量
LINKEDIN_ADS_ACCESS_TOKEN密钥Member access token from your own LinkedIn app, with r_ads and r_ads_reporting. Keep it secret.
LINKEDIN_ADS_REFRESH_TOKEN密钥Programmatic refresh token. With the client ID and secret, the token is renewed in memory.
LINKEDIN_ADS_CLIENT_IDClient ID of your LinkedIn app, needed for refresh.
LINKEDIN_ADS_CLIENT_SECRET密钥Client secret of your LinkedIn app, needed for refresh.
LINKEDIN_ADS_ACCOUNT_IDSComma-separated numeric ad account IDs this server may access, 1 to 100. Required even for reads.
LINKEDIN_ADS_SCOPESScopes actually granted to the token. When set, writes require rw_ads.
LINKEDIN_ADS_ENABLE_WRITEStrue exposes the 15 write tools. Defaults to false.
LINKEDIN_ADS_API_VERSIONLinkedIn-Version header as YYYYMM. Defaults to 202608.
LINKEDIN_ADS_LOG_LEVELdebug, info, warn or error. Logs go to stderr. Defaults to info.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@getmcpads/linkedin-ads-mcp-server1.0.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

LinkedIn Ads MCP 服务

将您的 LinkedIn Ads 账户接入 MCP 客户端。

读取广告系列结构、效果和职业人群统计信息,并为明确选定的账户准备广告系列和广告草稿。

Release CI License: Apache 2.0 Node

观看影片 · 更新内容 · 安装 · 工具参考 · 试用托管版 getmcpads

观看 getmcpads 影片:在一次与 AI 助手的对话中管理所有广告账户

播放 45 秒影片

影片展示的是使用示例数据的托管版 getmcpads。从创意素材库和提醒,到 Google Sheets 导出和批量发布,这些 MCP Apps 都属于托管产品。本仓库提供独立的原生 API 工具。

18 个读取工具 · 15 个写入工具,默认禁用。

使用您自己的 LinkedIn 应用凭据,以及支持 stdio MCP 的客户端(如 Claude Desktop、Claude Code 或 Cursor),即可在本地运行。您的请求会直接发送至 LinkedIn Marketing API。如需托管连接(包括受支持的 ChatGPT 配置),请使用托管版。

更新内容

v1.0.0:首个独立版本 · 2026 年 10 月 23 日

  • 首个独立版本,移植自 getmcpads 网关中原生 LinkedIn Ads 工具的修订版 3e1c2c8。
  • 18 个读取工具:账户发现与运行状况检查、账户详情、广告系列组、广告系列、创意素材、单个实体、设置要求、分析和统计报告、职业人群统计、收入归因、离线查询验证、投放状态、定向查询、媒体库以及广告使用的媒体。
  • 15 个写入工具,仅在设置 LINKEDIN_ADS_ENABLE_WRITES=true 时开放:创建广告系列组、广告系列、文字广告以及赞助图片或视频广告的草稿,编辑实体、4 个重命名工具、复制广告、删除草稿、签名分段上传以及更新媒体库。每次写入操作都会生成预览,除非 confirm 为 true,且不会启用投放。
  • 6 个资源:清单、指标目录、数据透视、报告规则、定向和配方。
  • 必须设置 LINKEDIN_ADS_ACCOUNT_IDS,且在发出任何请求前拒绝访问其他账户。会根据账户验证子级筛选条件和父级实体。
  • 仅联系 src/core/http.ts 中声明的 LinkedIn API、令牌和上传端点;绝不跟随重定向;限制所有响应的大小,并从结果和错误中删去令牌。设置了刷新凭据后,会在内存中续期访问令牌。
  • 需要 Node.js 22.23.4、24.22.1、26.12.1 或更新版本;使用较旧版本启动时,会向 stderr 输出警告。CI 覆盖 Node 22、24 和 26。
  • 使用 release.yml 从版本标签发布:先发布至 npm 并附带来源证明,再发布 GitHub 版本,最后发布至 MCP Registry。

完整变更日志 · 所有版本

源码同步:SOURCE_SYNC.md。

升级说明

需要 Node.js 22.23.4、24.22.1、26.12.1 或更高版本。这些版本包含 2026 年 10 月的安全修复;如果服务运行在更旧的版本上,会在 stderr 中打印警告。CI 覆盖 Node 22、24 和 26。

这是首个版本。托管创意图库、营销活动发布和 MCP Apps UI 不在此版本范围内。

安装此版本

这是 GitHub 源码发行版。npm 和 MCP Registry 版本会单独发布。以下命令会选择此确切版本;本文档后面的未固定版本 npx 示例会选择当前在 npm 上可用的版本。

git clone --branch v1.0.0 --depth 1 https://github.com/get-mcp-ads/linkedin-ads-mcp-server.git
cd linkedin-ads-mcp-server
npm ci
npm run build

将 MCP 客户端配置为运行 node,并传入 dist/cli.js 的绝对路径以及下文所述的变量。该软件包发布到 npm 后,客户端也可以改为运行 npx -y @getmcpads/linkedin-ads-mcp-server,这会启动 linkedin-ads-mcp 二进制文件。

{
  "mcpServers": {
    "linkedin-ads": {
      "command": "node",
      "args": ["/absolute/path/to/linkedin-ads-mcp-server/dist/cli.js"],
      "env": {
        "LINKEDIN_ADS_ACCESS_TOKEN": "your-member-access-token",
        "LINKEDIN_ADS_ACCOUNT_IDS": "512345678"
      }
    }
  }
}

npm run doctor 会报告哪些变量已设置,但绝不会显示其值,并检查 Node.js 版本。

更倾向于使用托管连接? 通过托管版 getmcpads 使用 LinkedIn Ads。连接你的账户,选择助手可以访问的数据,并使用托管 MCP 连接。当前功能和套餐请参阅网站。

配置

通过客户端的密钥配置提供以下环境变量:

变量用途
LINKEDIN_ADS_ACCESS_TOKEN来自你自己的 LinkedIn 应用的成员访问令牌。除非已设置以下三个刷新变量,否则必填。
LINKEDIN_ADS_REFRESH_TOKEN程序化刷新令牌,适用于 LinkedIn 已批准使用此类令牌的应用。访问令牌随后会在内存中续期。
LINKEDIN_ADS_CLIENT_ID你的应用的客户端 ID。与刷新令牌配合使用。
LINKEDIN_ADS_CLIENT_SECRET你的应用的客户端密钥。与刷新令牌配合使用。
LINKEDIN_ADS_ACCOUNT_IDS必填。1 到 100 个以逗号分隔的数字广告账户 ID。所有其他账户都会在发出任何请求之前被拒绝,读取请求也不例外。
LINKEDIN_ADS_SCOPES可选。令牌实际获得授权的范围。设置后,如果没有 rw_ads,写入操作将拒绝运行。设置此项不会授予任何权限。
LINKEDIN_ADS_ENABLE_WRITES默认为 false。只有值恰好为 true 时才会公开写入工具。
LINKEDIN_ADS_API_VERSIONLinkedIn-Version 标头,格式为 YYYYMM。默认为 202608,即托管网关运行的版本。
LINKEDIN_ADS_LOG_LEVELdebug、info、warn 或 error。日志写入 stderr。默认为 info。

服务会在启动时验证配置,并指出需要修正的变量。它不会运行 OAuth 浏览器流程,也不会向磁盘写入任何内容:通过刷新令牌续期的令牌会一直保留在内存中,直到进程结束。

LinkedIn 应用需要满足的条件

LinkedIn Marketing API 的访问权限按应用授予,因此此服务使用你拥有的应用运行。LinkedIn 的快速入门介绍了具体步骤:

  1. 创建一个 LinkedIn 专页,然后在 LinkedIn Developer Portal 中创建一个开发者应用。
  2. 在应用的 Products 选项卡中申请 Advertising API 产品,并填写访问申请表。LinkedIn 会审核每项申请。
  3. 每个应用最初都处于 Development tier:读取操作没有账户数量限制,编辑操作则仅限于你管理的五个广告账户。在此层级下,请在 Products 下的 View Ad Accounts 中添加每个广告账户 ID。Standard tier 取消编辑限制,可通过 Developer Support Portal 申请。请参阅访问层级。
  4. 使用 Token Generator,或自行实现授权码流程,并申请下方所列权限范围,以生成成员访问令牌。访问令牌有效期为 60 天。获准使用程序化刷新令牌的应用会获得有效期为一年的刷新令牌,此服务可使用该令牌。

此服务工具使用的权限范围:

权限范围用途
r_ads读取账户、广告系列组、广告系列、创意和媒体库,以及查询定向信息。rw_ads 也允许执行这些读取操作。
r_ads_reporting用于 linkedin_get_insights、linkedin_run_statistics_report、linkedin_get_demographics、linkedin_get_revenue_attribution,以及 linkedin_health_check 中的报告探测。
r_organization_social用于 linkedin_list_ad_creatives,读取每个赞助内容广告背后的赞助帖子。
rw_ads用于所有写入工具。
w_organization_social用于 linkedin_create_media_ad,创建由广告账户所属 Company Page 发布的广告赞助暗帖。

LinkedIn 角色仍决定令牌可以执行的操作。即使具有 rw_ads,广告账户的 VIEWER 也只能读取;写入操作需要 ACCOUNT_BILLING_ADMIN、ACCOUNT_MANAGER、CAMPAIGN_MANAGER 或 CREATIVE_MANAGER 角色(账户角色)。媒体上传和赞助图片或视频广告归广告账户所引用的 Company Page 所有,该专页需要管理员或赞助内容发布者角色。linkedin_health_check 会列出令牌能够访问和无法访问的已配置账户。

安全性与覆盖范围

写入操作默认仅预览。再次调用并设置 confirm: true 前,请核对确切的账户、目标和参数。 广告系列组、广告系列和广告均会创建为 DRAFT,赞助帖子则使用 feedDistribution: NONE,因此不会出现在自然动态中。新广告系列默认关闭受众扩展和 LinkedIn Audience Network。没有任何工具会启动投放:启动投放(也就是开始产生费用)需在 Campaign Manager 中进行。预览会标记对预算、出价、排期或定向的编辑,因为这些编辑可能改变已在投放的广告系列的花费。 结果不确定时,请勿自动重试写入操作。如果变更已提交至 LinkedIn,但写入失败,系统会报告 verify_before_retry;如果未提交,则会报告 not_applied。此服务绝不会重试变更;读取操作遇到网络错误、HTTP 429 或 5xx 时,最多重试两次。 每次请求前都会进行账户检查。报告执行前,会验证广告系列、组和创意筛选条件是否属于该账户;每次写入都会重新读取账户及其上级实体。不接受未知参数。 请求仅会发送至 api.linkedin.com、令牌端点以及 www.linkedin.com 上的签名上传 URL,且不会跟随重定向;请求设有超时,响应大小也有限制。上传 URL 会包含在 HMAC 签名回执中,回执会在进程结束时失效;上传请求不携带令牌。所有结果和错误都会对令牌和密钥进行脱敏。 预算和出价使用账户货币的十进制字符串表示,例如 "20.00" 和 "EUR",而非微单位或美分。报告至少需要一个实体范围,最多接受 20 个字段,且上限为 15,000 行;服务会在调用前应用这些限制,并会在 LinkedIn 丢弃字段时明确说明,而不会返回零值。

此服务提供托管网关的原生 LinkedIn 工具,以及账户发现、健康检查和离线查询验证功能。本版本不包含受众规模估算、出价和供给预测、匹配受众、转化规则、潜在客户表单定义、实验、主页统计信息和通用端点读取功能。绝不会公开已提交的潜在客户数据。 请使用 tools/list 或 server-card.json 查看确切的架构,并参阅 Marketing API 文档 了解服务提供方详情。

托管选项

getmcpads for LinkedIn Ads 会管理托管连接和账户选择。 托管版和源代码发行版可能有所不同。联系方式:[email protected]。

开发

npm run typecheck
npm run lint
npm run build
npm test
npm run catalog

所有测试均使用模拟的 fetch 响应离线运行。不会读取或更改任何真实账户。

工具

下方列出了所有工具。完整的参数和输出架构请参阅 server-card.json。除 linkedin_list_ad_accounts、linkedin_health_check 和 linkedin_validate_query 外,每个工具都需要配置 adAccountId。

18 个读取工具 | 工具 | 用途 | | --- | --- | | `linkedin_health_check` | 检查令牌、可访问的已配置账户、报告端点和 API 版本,但不会返回令牌 | | `linkedin_list_ad_accounts` | 列出成员可访问的已配置广告账户,并显示币种、状态和投放状态 | | `linkedin_get_account_details` | 完整读取一个广告账户,以及在该账户中拥有角色的成员 | | `linkedin_get_campaign_groups` | 列出广告系列组及其预算、投放时间安排和投放状态 | | `linkedin_get_campaigns` | 列出广告系列及其状态、目标、格式、出价、预算和投放时间安排,可选择包含定向信息 | | `linkedin_get_creatives` | 列出创意,并显示预期状态、审核结论和投放受限原因 | | `linkedin_get_entity` | 读取一个广告系列组、广告系列或创意,并验证账户归属 | | `linkedin_get_setup_guide` | 准备变更前,读取账户、受支持的格式和原生写入要求 | | `linkedin_get_insights` | 按一个细分维度生成报告,并计算比率 | | `linkedin_run_statistics_report` | 一次按最多三个细分维度生成报告 | | `linkedin_get_demographics` | 按职业人口统计特征细分投放数据,解析名称并说明限制 | | `linkedin_get_revenue_attribution` | 读取归因于 LinkedIn 广告的 CRM 销售管道和已成交收入 | | `linkedin_validate_query` | 根据报告规则检查细分维度和指标的组合,不发送请求 | | `linkedin_get_delivery_status` | 从账户到创意,说明广告为何正在或未在投放 | | `linkedin_find_targeting` | 按名称查找原生定向 URN,例如国家或职位名称 | | `linkedin_list_media` | 列出账户的图片或视频库,并显示下载 URL 和处理状态 | | `linkedin_get_media` | 刷新单个图片或视频的 URL,并验证其媒体库关联 | | `linkedin_list_ad_creatives` | 列出广告使用的图片和视频,并显示实际广告名称和落地页 |
15 个写入工具

默认禁用。除非明确确认,否则调用只会预览。使用前请检查配置和确切的架构。

工具用途
linkedin_create_campaign_group创建一个 DRAFT 广告系列组
linkedin_create_campaign创建一个包含预算、出价、定向和投放时间安排的 DRAFT 文字广告或赞助内容广告系列
linkedin_create_text_ad使用账户媒体库中的图片创建一个 DRAFT 文字广告
linkedin_create_media_ad在暗帖上创建一个 DRAFT 赞助图片或视频广告
linkedin_update_entity重命名、暂停或归档,或编辑预算、出价、投放时间安排、定向或文字广告内容
linkedin_rename_campaign_group重命名广告系列组,仅此而已
linkedin_rename_campaign重命名广告系列,仅此而已
linkedin_rename_ad重命名广告(创意),仅此而已
linkedin_rename_ad_account重命名广告账户,仅此而已
linkedin_duplicate_ad将广告复制到已验证的广告系列中,并设为 DRAFT
linkedin_delete_draft_ad删除一个 DRAFT 广告,不会影响其帖子或媒体
linkedin_initialize_upload开始向账户媒体库上传图片或视频,并返回已签名回执
linkedin_upload_part将文件的一部分上传到 LinkedIn 的已签名上传 URL
linkedin_finalize_upload所有部分上传完成后,完成视频上传
linkedin_update_media重命名或归档媒体库中的图片或视频
6 个资源 | 资源 | 内容 | | --- | --- | | `linkedin://manifest` | 已配置的账户、API 版本、实体层级和安全规则 | | `linkedin://metrics` | 指标目录,包含计算比率的公式,以及各项指标不可用的细分维度 | | `linkedin://pivots` | 细分维度及提供各项维度的查找工具 | | `linkedin://reporting-rules` | 范围限定、行数上限、保留期限、数据新鲜度、人口统计限制和请求限流 | | `linkedin://targeting` | 定向条件的结构、查找方式和受众限制 | | `linkedin://recipes` | 常见问题的工具调用序列 |

许可证

Apache License 2.0。请参阅 NOTICE。

更多 getmcpads 项目

Meta Ads · Google Ads · Google Analytics 4 · Google Search Console · TikTok Ads · Pinterest Ads · X Ads

由 getmcpads 的 Emmanuel 维护。问题请联系:[email protected]。

评论

支持 Markdown

第一次接触 MCP?

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

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