Open-source plugins · Apache-2.0

Build a plugin. Run it for every Adspirer user.

Adspirer plugins are open-source MCP tools written in Python. They read a user's ad data — read-only, through a brokered, scope-checked client — and do useful compute: clustering, scoring, anomaly detection, recommendations, reporting. Ship one tool, and it becomes available to Adspirer users right inside Claude and ChatGPT.

A plugin is a Python function

You never write auth code, never see an OAuth token, and never touch a database. You getctx.brokerfor read-only account data and the user'sargs.

from adspirer_plugin_sdk import tool, Context

@tool(
    name="cluster_keywords",
    description="Group a campaign's search terms into themed clusters",
    scopes=["read:campaign_performance", "compute"],
    input_schema={...},
)
async def cluster_keywords(args: dict, ctx: Context):
    # read-only account data via the broker — no auth code, no tokens
    terms = await ctx.broker.get_search_terms(campaign_id=args["campaign_id"])
    return cluster(terms)

163

Read-only tools

to build on

5+

Ad platforms

Google, Meta, TikTok, LinkedIn, Amazon

Apache-2.0

Open source

free to build on

Free

For users

no extra cost

From idea to live tool

Step 1

Get your API key

Sign up, connect any one ad platform with real data (you don't need Google Ads), and create an sk_live key. List the full catalog of read-only tools you can build on.

Step 2

Write a plugin

Add a @tool function with the Python SDK. Reach any read-only Adspirer tool by name via ctx.broker — clustering, scoring, anomaly detection, reporting.

Step 3

Test on your own data

Run dev_server.py to drive your plugin as a local MCP server against your real account — exactly what a user sees in production — before opening a PR.

Step 4

Open a PR

Sign off your commit, open a pull request. The full gate runs and an Adspirer maintainer reviews. Once merged and promoted, it's live for users in Claude and ChatGPT.

Safe by design

Plugin code is treated as untrusted, and the architecture reflects that. Here's what keeps the ecosystem — and every user's account — safe.

Credential-free sandbox

Plugins run in a network-isolated process with no credentials. They can only reach account data through the broker — never directly.

Read-only to ad accounts (v1)

Plugins analyze and recommend; they don't modify campaigns. Write operations aren't exposed to plugin code.

A blocking security gate

Every pull request passes static analysis, secret/dependency/malware scans, schema-quality checks, and tests — plus human maintainer review — before it can merge.

Scope-checked, own-data only

Each tool declares the read scopes it needs, and the broker enforces server-side that a plugin only ever reads the invoking user's own data.

This is an early, read-only first version, and it will grow. See the repository's SECURITY.md and CONTRIBUTING.md for the full details.

Ship your first plugin

Write a read-only ad-analysis tool, test it on your own data, and open a PR — it runs for every Adspirer user in Claude and ChatGPT.