You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit cbe4c63
Browse filesBrowse the repository at this point in the historyBrowse files
feat(auth)!: drop PIPEBOARD_API_TOKEN auth from the self-hosted package (#157)
* feat(auth)!: drop PIPEBOARD_API_TOKEN auth from the self-hosted package
The PIPEBOARD_API_TOKEN path exchanged a Pipeboard API token for the
underlying Meta access token, which defeated the account/permission
scoping on that API token; the endpoint behind it has been removed.
Self-hosted users now authenticate with META_ACCESS_TOKEN from their own
Meta app, or with the local OAuth flow via META_APP_ID. Anyone who wants
to keep using a Pipeboard API token should use the hosted MCP at
https://meta-ads.mcp.pipeboard.co/, where Pipeboard resolves the Meta
credential server-side and enforces scoping.
Deletes pipeboard_auth.py and meta_ads_auth.sh, and startup now warns on
stderr (not stdout, which is the JSON-RPC channel on stdio) when
PIPEBOARD_API_TOKEN is still set. Docs, smithery.yaml, and tests updated.
* chore(release): bump to 1.0.120
Set your Pipeboard token as an environment variable. This is optional for HTTP transport if you provide the token in the header, but it can be useful for command-line use.
21
+
When you run this server yourself, the credential is a **Meta access token** from
22
+
your own Meta app — create one at
23
+
[developers.facebook.com](https://developers.facebook.com/apps/). A Pipeboard API
24
+
token will not work here: the server passes whatever you give it straight to the
25
+
Meta Graph API.
22
26
23
27
```bash
24
-
exportPIPEBOARD_API_TOKEN=your_pipeboard_token
28
+
exportMETA_ACCESS_TOKEN=your_meta_access_token
25
29
```
26
30
31
+
Setting this is optional for the HTTP transport if you pass the token per request
32
+
in a header (see [Security Model](#security-model-read-before-exposing-the-port)),
33
+
but it is convenient for command-line use.
34
+
35
+
> Want to authenticate with a Pipeboard API token instead, and never handle a Meta
36
+
> token? Use the hosted MCP at `https://meta-ads.mcp.pipeboard.co/` rather than
37
+
> running this server. (`PIPEBOARD_API_TOKEN` is no longer supported by this
38
+
> package — see [Migration](#migration-from-stdio).)
39
+
27
40
### 3. Make HTTP Requests
28
41
29
42
The server accepts JSON-RPC 2.0 requests at the `/mcp` endpoint. Use the `Authorization` header to provide your token.
@@ -32,7 +45,7 @@ The server accepts JSON-RPC 2.0 requests at the `/mcp` endpoint. Use the `Author
When using the hosted Remote MCP at `https://mcp.pipeboard.co/meta-ads-mcp`, you can alternatively authenticate by including the token as a URL parameter:
2.**Add HTTP transport** for web applications and custom integrations by running a separate server instance with the `--transport streamable-http` flag.
412
437
3.**Use the same authentication method**:
413
-
- For stdio, the `PIPEBOARD_API_TOKEN` environment variable is used.
438
+
- For stdio, the `META_ACCESS_TOKEN` environment variable is used.
414
439
- For HTTP, pass the token in the `Authorization: Bearer <token>` header.
415
440
441
+
> **Removed:**`PIPEBOARD_API_TOKEN` used to exchange a Pipeboard API token for the
442
+
> underlying Meta access token. That exchange has been removed, because the Meta
443
+
> token it returned ignored the scoping on the API token that requested it. Either
444
+
> set `META_ACCESS_TOKEN` from your own Meta app, or use the hosted MCP at
445
+
> `https://meta-ads.mcp.pipeboard.co/`.
446
+
416
447
Both transports access the same Meta Ads functionality and use the same underlying authentication system.
0 commit comments