LoomaScale Ads
com.loomascalePublished by loomascale.comOfficial publisherv1.0.0Updated Oct 24, 2026
Run Google Ads and Meta Ads from ChatGPT or Claude: audit wasted spend, create and manage campaigns.
Overview
Remote MCP server that lets ChatGPT or Claude read, audit and manage Google Ads accounts, including campaign creation and budget changes.
- What you can do
- Review Google Ads performance and audit wasted spend
- Research keywords
- Create campaigns, including Performance Max
- Change budgets and bidding, checked against a spend cap
- Activate campaigns the server itself created
- When to use it
- Use it when you want an assistant to work on a live Google Ads account: finding wasted spend, building campaigns, or adjusting budgets and bids, with guardrails on spending. The hosted version is aimed at people who would rather not run a server or apply for a developer token.
- Requirements
- Remote endpoint reached over streamable HTTP with OAuth sign-in. A Google Ads account and a Google Ads developer token, which requires an application and can take days to approve. The README describes a self-hosted Docker deployment with an environment file and a local connections page; the hosted version removes the Docker, token and OAuth client steps.
Installation
In SourceWeft
- Open LoomaScale Ads in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/com.loomascale%2Fads/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"loomascale-ads": {
"type": "http",
"url": "https://api.loomascale.com/mcp"
}
}
}README
ads-mcp
Self-hostable MCP servers that let ChatGPT or Claude run real ad accounts — with spend guardrails they cannot talk their way past.
MIT licensed. Extracted from a production service that has run live campaigns from inside ChatGPT since 2026.
Servers
Meta Ads is next.
Run one
No JDK, no Maven, no source build:
Then open http://localhost:8080/connections and connect an ad account.
Set MCP_DEFAULT_MAX_DAILY_BUDGET_CENTS low before pointing this at a live account. It is
the last thing between a model and your card.
Full prerequisites — the Google Ads developer token in particular, which needs an application and takes days to approve — are in the server README.
What these will not do
Worth reading before running anything, because money is involved:
- Nothing goes live by itself. Campaign creation has no status field in its tool schema, so a model cannot create an enabled campaign. Activation is a separate tool.
- Only campaigns this server created can be activated through it. One made in the ad platform's own UI is refused, because its budget never passed the cap check.
- Every budget change is checked against a cap you set, in the account's own currency. The server refuses; it never silently clamps.
- Per-tool daily limits and a runaway-loop guard, so a stuck model cannot make hundreds of changes.
- Single-operator by default. One password, one account. Not a multi-user login.
Build it as a library
mcp-core is the reusable half: MCP's JSON-RPC transport, a tool
registry SPI, and a minimal OAuth 2.1 authorization server with dynamic client
registration, PKCE and refresh-token rotation. If you want ChatGPT or Claude to call your
tools over an authenticated endpoint, that is the part to depend on — it knows nothing
about advertising beyond a few shared abstractions the platform servers reuse.
Repository layout
One repository, one version. A change spanning the core and a platform is one commit and one build, which is why this is not three repositories:
google-ads/server resolves mcp-core at ${project.version} inside the reactor, so a
fresh clone builds with nothing published anywhere:
Security
Credentials are encrypted at rest with AES-256-GCM. Authorization codes and refresh tokens are stored hashed and are single-use; reusing a rotated refresh token revokes the whole family. Model-supplied image URLs pass an SSRF policy before anything is fetched. Tool arguments are never logged — only argument names.
Put TLS in front of any of this. Report vulnerabilities privately: see SECURITY.md.
Who builds this
These servers are extracted from LoomaScale, an AI operator for Google Ads: you talk to ChatGPT or Claude, and it reads your account, finds waste, and makes the changes. This repository is the engine that runs it — not a demo or a cut-down version. The tools here are the same ones that have created and managed live campaigns since 2026, guardrails included.
What stays in the product rather than here is the commercial half: accounts and billing,
usage metering, the multi-user dashboard, and the connect flows for people who do not want
to run a server. mcp-core exposes those as replaceable interfaces — QuotaPolicy,
ResourceOwnerAuthenticator, AdsConnectionStore — precisely so the open-source build has
working defaults and LoomaScale can substitute its own.
Would you rather not run a server?
ai.loomascale.com is the hosted version. Same tools, no Docker, no developer token application, no OAuth client to register. It starts with a free Google Ads waste audit — the assistant reads your account and reports what is being wasted, before you pay anything. Plans and limits are on the pricing page.
Self-hosting is a genuine alternative, not a teaser: everything needed to run these servers against your own accounts is in this repository under the MIT licence, with no feature held back and no phone-home.
Useful even if you self-host
The connection guides are written for the hosted product but the client-side steps are identical against your own server — the same consent screen, the same connector setup:
- Connect ChatGPT to Google Ads
- Connect Claude to Google Ads
- Running Google Ads from ChatGPT — walkthrough video
- What the assistant actually looks for
Other things extracted from the same codebase live at ai.loomascale.com/oss.
Contributing
See CONTRIBUTING.md — the secrets section first.
Built and used in production by LoomaScale. MIT licensed.
Source: README.md at commit b2bf27e
Tools
0Version history
1- v1.0.0LatestSep 16, 2026
Score
85% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts