Repository navigation
Adwarp 0.2.0
Liam is now Adwarp, the open-source ad agent for LinkedIn Ads and Google Ads. This is its first release on npm and in the official MCP Registry.
Install
npx -y adwarp --helpruns the CLI without installing anything.claude mcp add adwarp -- npx -y adwarp mcpregisters the local MCP server with Claude Code. Other MCP clients runnpxwith the arguments-y adwarp mcp.npm install -g adwarpinstalls theadwarp,adwarp-mcpandliamcommands.- The Dockerfile at the root of the repo builds an image that runs the MCP server on stdio.
What changed
- Commands, the MCP server name, setup prompts and links now say Adwarp.
liamkeeps working as an alias. - Every internal name now says adwarp too: the
~/.adwarpfolder,ADWARP_*variables andX-Adwarp-Linkedin-*headers. Your setup carries over unchanged, because the old~/.liadsfolder,LIADS_*andGADS_*variables andX-Liads-*headers all still work. - The hosted endpoint is
https://mcp.adwarp.dev/api/mcp.https://liam-mcp.vercel.app/api/mcpkeeps working. - The docs live as Markdown in
docs/, anddocs/tools.jsonlists all 35 tools and which ones the hosted endpoint serves. - Adwarp is listed in the official MCP Registry as
io.github.adwarp-dev/adwarp, with the npm package and the hosted endpoint.
Everything Adwarp creates on LinkedIn starts as a draft and goes live only when you explicitly ask. Google Ads campaigns are created paused and can only be switched on in Google Ads.
What's Changed
- Salesforce → audience loop + conversion selection by @stan-rym in #1
- Redesign the hosted app homescreen by @stan-rym in #2
- Performance reporting + insights by @stan-rym in #3
- Auto-clean CSVs on audience upload (contact + company) by @stan-rym in #5
- Add ROADMAP.md by @stan-rym in #6
- Keep LinkedIn company page URL in company matched-audience uploads by @stan-rym in #7
- Add ENGAGEMENT objective; force Audience Expansion + Audience Network off by @stan-rym in #8
- Auto-apply default audience exclusions and default conversion by @stan-rym in #10
- Competitor ad intelligence: read any company's ads from the LinkedIn Ad Library by @stan-rym in #11
- Add change journal and lift comparison by @stan-rym in #12
- fix(creatives): send landing page, CTA, and headline on image ads by @stan-rym in #13
- feat: list campaigns (drafts included), delete ads, retry transient createInline 404s by @stan-rym in #14
- Public-readiness docs + Ad Library rate-limit handling by @stan-rym in #16
- Document the two ways to use Liam: CLI and MCP by @stan-rym in #17
- One-prompt setup and an FAQ on the landing page by @stan-rym in #18
- README: two explicit install paths (MCP server and terminal CLI) by @stan-rym in #19
- Six portable analysis skills on top of Liam by @stan-rym in #20
- Hosted MCP: bring your own credentials (multi-tenant) by @stan-rym in #21
- fix(creatives): URL-encode creative URN in setCreativeStatus by @stan-rym in #15
- Docs page and nav button mirroring the repo README by @stan-rym in #22
- Add Vercel Analytics to the site and the hosted MCP server by @stan-rym in #23
- Harden hosted MCP auth: header-only, timing-safe, fail closed by @stan-rym in #24
- Support multiple default conversions on new campaigns by @stan-rym in #25
- Add update_campaign: patch existing ad-set targeting and fields by @stan-rym in #26
- Add Terms of Service and Privacy Policy pages by @stan-rym in #27
- Pace the Ad Library scraper so it cannot get the user's IP blocked by @stan-rym in #29
- Google Ads: paused-only Search campaign creation, keywords, and reporting by @stan-rym in #28
- Isolate competitor creative collection in a remote worker by @stan-rym in #30
- Expose ad rotation (creativeSelection) on campaigns by @stan-rym in #31
- Add optimizationTargetType and costType to campaign create/update by @stan-rym in #32
- Rename Liam to Adwarp in everything users see by @stan-rym in #33
- Move docs to Markdown and generate tools.json by @stan-rym in #34
- Publishable adwarp npm package (CLI and MCP server) and a root Dockerfile by @stan-rym in #35
- Release workflow: npm, GitHub release, MCP Registry and website rebuild by @stan-rym in #36
- Rename internal names to adwarp, keep every old name working by @stan-rym in #37
- Rename the skills to adwarp-*, keep the old names as links by @stan-rym in #38
New Contributors
Full Changelog: https://github.com/adwarp-dev/adwarp/commits/v0.2.0