meta-ads-mcp 0.2.9__py3-none-any.whl → 0.3.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- meta_ads_mcp/__init__.py +1 -1
- meta_ads_mcp/api.py +2 -2
- meta_ads_mcp/core/api.py +1 -1
- meta_ads_mcp/core/auth.py +3 -11
- meta_ads_mcp/core/pipeboard_auth.py +1 -1
- {meta_ads_mcp-0.2.9.dist-info → meta_ads_mcp-0.3.1.dist-info}/METADATA +2 -2
- {meta_ads_mcp-0.2.9.dist-info → meta_ads_mcp-0.3.1.dist-info}/RECORD +10 -10
- {meta_ads_mcp-0.2.9.dist-info → meta_ads_mcp-0.3.1.dist-info}/WHEEL +0 -0
- {meta_ads_mcp-0.2.9.dist-info → meta_ads_mcp-0.3.1.dist-info}/entry_points.txt +0 -0
- {meta_ads_mcp-0.2.9.dist-info → meta_ads_mcp-0.3.1.dist-info}/licenses/LICENSE +0 -0
meta_ads_mcp/__init__.py
CHANGED
meta_ads_mcp/api.py
CHANGED
|
@@ -22,7 +22,7 @@ from http.server import HTTPServer, BaseHTTPRequestHandler
|
|
|
22
22
|
mcp_server = FastMCP("meta-ads-generated", use_consistent_tool_format=True)
|
|
23
23
|
|
|
24
24
|
# Constants
|
|
25
|
-
META_GRAPH_API_VERSION = "
|
|
25
|
+
META_GRAPH_API_VERSION = "v22.0"
|
|
26
26
|
META_GRAPH_API_BASE = f"https://graph.facebook.com/{META_GRAPH_API_VERSION}"
|
|
27
27
|
USER_AGENT = "meta-ads-mcp/1.0"
|
|
28
28
|
|
|
@@ -253,7 +253,7 @@ class AuthManager:
|
|
|
253
253
|
def get_auth_url(self) -> str:
|
|
254
254
|
"""Generate the Facebook OAuth URL for desktop app flow"""
|
|
255
255
|
return (
|
|
256
|
-
f"https://www.facebook.com/
|
|
256
|
+
f"https://www.facebook.com/v22.0/dialog/oauth?"
|
|
257
257
|
f"client_id={self.app_id}&"
|
|
258
258
|
f"redirect_uri={self.redirect_uri}&"
|
|
259
259
|
f"scope={AUTH_SCOPE}&"
|
meta_ads_mcp/core/api.py
CHANGED
|
@@ -10,7 +10,7 @@ from .auth import needs_authentication, get_current_access_token, auth_manager,
|
|
|
10
10
|
from .utils import logger
|
|
11
11
|
|
|
12
12
|
# Constants
|
|
13
|
-
META_GRAPH_API_VERSION = "
|
|
13
|
+
META_GRAPH_API_VERSION = "v22.0"
|
|
14
14
|
META_GRAPH_API_BASE = f"https://graph.facebook.com/{META_GRAPH_API_VERSION}"
|
|
15
15
|
USER_AGENT = "meta-ads-mcp/1.0"
|
|
16
16
|
|
meta_ads_mcp/core/auth.py
CHANGED
|
@@ -187,7 +187,7 @@ class AuthManager:
|
|
|
187
187
|
def get_auth_url(self) -> str:
|
|
188
188
|
"""Generate the Facebook OAuth URL for desktop app flow"""
|
|
189
189
|
return (
|
|
190
|
-
f"https://www.facebook.com/
|
|
190
|
+
f"https://www.facebook.com/v22.0/dialog/oauth?"
|
|
191
191
|
f"client_id={self.app_id}&"
|
|
192
192
|
f"redirect_uri={self.redirect_uri}&"
|
|
193
193
|
f"scope={AUTH_SCOPE}&"
|
|
@@ -359,7 +359,7 @@ def exchange_token_for_long_lived(short_lived_token):
|
|
|
359
359
|
return None
|
|
360
360
|
|
|
361
361
|
# Make the API request to exchange the token
|
|
362
|
-
url = "https://graph.facebook.com/
|
|
362
|
+
url = "https://graph.facebook.com/v22.0/oauth/access_token"
|
|
363
363
|
params = {
|
|
364
364
|
"grant_type": "fb_exchange_token",
|
|
365
365
|
"client_id": app_id,
|
|
@@ -502,13 +502,5 @@ def login():
|
|
|
502
502
|
# Initialize auth manager with a placeholder - will be updated at runtime
|
|
503
503
|
META_APP_ID = os.environ.get("META_APP_ID", "YOUR_META_APP_ID")
|
|
504
504
|
|
|
505
|
-
#
|
|
506
|
-
if not os.environ.get("PIPEBOARD_API_TOKEN"):
|
|
507
|
-
# Log warnings about missing environment variables
|
|
508
|
-
if META_APP_ID == "YOUR_META_APP_ID":
|
|
509
|
-
logger.warning("META_APP_ID environment variable is not set. Authentication will not work properly.")
|
|
510
|
-
|
|
511
|
-
if not os.environ.get("META_APP_SECRET"):
|
|
512
|
-
logger.warning("META_APP_SECRET environment variable is not set. Long-lived token exchange will not work.")
|
|
513
|
-
|
|
505
|
+
# Create the auth manager
|
|
514
506
|
auth_manager = AuthManager(META_APP_ID)
|
|
@@ -418,7 +418,7 @@ class PipeboardAuthManager:
|
|
|
418
418
|
|
|
419
419
|
try:
|
|
420
420
|
# Make a simple request to the /me endpoint to test the token
|
|
421
|
-
META_GRAPH_API_VERSION = "
|
|
421
|
+
META_GRAPH_API_VERSION = "v22.0"
|
|
422
422
|
url = f"https://graph.facebook.com/{META_GRAPH_API_VERSION}/me"
|
|
423
423
|
headers = {"Authorization": f"Bearer {self.token_info.access_token}"}
|
|
424
424
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: meta-ads-mcp
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary: Model Calling Protocol (MCP) plugin for interacting with Meta Ads API
|
|
5
5
|
Project-URL: Homepage, https://github.com/nictuku/meta-ads-mcp
|
|
6
6
|
Project-URL: Bug Tracker, https://github.com/nictuku/meta-ads-mcp/issues
|
|
7
|
-
Author-email:
|
|
7
|
+
Author-email: Yves Junqueira <yves.junqueira@gmail.com>
|
|
8
8
|
License: MIT
|
|
9
9
|
License-File: LICENSE
|
|
10
10
|
Keywords: ads,api,claude,facebook,mcp,meta
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
meta_ads_mcp/__init__.py,sha256=
|
|
1
|
+
meta_ads_mcp/__init__.py,sha256=cV-XErlZOBmJRfXvhCP-MGcbTQ8DUmpjEzInKrDrxp4,1236
|
|
2
2
|
meta_ads_mcp/__main__.py,sha256=XaQt3iXftG_7f0Zu7Wop9SeFgrD2WBn0EQOaPMc27d8,207
|
|
3
|
-
meta_ads_mcp/api.py,sha256=
|
|
3
|
+
meta_ads_mcp/api.py,sha256=Lz9n2OTANu-BjNklUqfB2hC_oY1LMoSwzO-iVNHsV58,81984
|
|
4
4
|
meta_ads_mcp/core/__init__.py,sha256=6T8iqrQrw9VHhKtncLqYWyDk8jeSBPs79hs1CSu-fLU,952
|
|
5
5
|
meta_ads_mcp/core/accounts.py,sha256=Nmp7lPxO9wmq25jWV7_H0LIqnEbBhpCVBlLGW2HUaq0,2277
|
|
6
6
|
meta_ads_mcp/core/ads.py,sha256=LMZOo6agi6tQl4JJPmrDUn-91n7DzfxG2TChmwcrWOY,12544
|
|
7
7
|
meta_ads_mcp/core/adsets.py,sha256=os8MdPdHO6mGIRQdTlx7PxvcLRq8B9BhybQIHLD37Qg,12382
|
|
8
|
-
meta_ads_mcp/core/api.py,sha256=
|
|
9
|
-
meta_ads_mcp/core/auth.py,sha256=
|
|
8
|
+
meta_ads_mcp/core/api.py,sha256=M_tM5qdCGso5lKeVJ0g3ss_C5WzUs95oESpdE7-PoZc,14182
|
|
9
|
+
meta_ads_mcp/core/auth.py,sha256=3pqoTuPtpvmv7j3qaD_bdcYrAzOJheKJNDru0tduz14,20184
|
|
10
10
|
meta_ads_mcp/core/authentication.py,sha256=3AHSXslZdxyg0_s2253aQhpOeguMSu2cSYq4H_auywY,6485
|
|
11
11
|
meta_ads_mcp/core/callback_server.py,sha256=b5TzUz9nEk0i5MWujlls5gAsHru__UjTPJQan1xQ_10,40947
|
|
12
12
|
meta_ads_mcp/core/campaigns.py,sha256=20DHMwHppZuoZBg0owkf1BfmPBhWzkQcFgh5rQa-pAU,10480
|
|
13
13
|
meta_ads_mcp/core/insights.py,sha256=XAm4uu83gWp84PEGqAJ3GFIqlvg7prh6MdD71JfvBCo,18072
|
|
14
|
-
meta_ads_mcp/core/pipeboard_auth.py,sha256=
|
|
14
|
+
meta_ads_mcp/core/pipeboard_auth.py,sha256=VvbxEB8ZOhnMccLU7HI1HgaPWHCl5NGrzZCm-zzHze4,22798
|
|
15
15
|
meta_ads_mcp/core/resources.py,sha256=-zIIfZulpo76vcKv6jhAlQq91cR2SZ3cjYZt3ek3x0w,1236
|
|
16
16
|
meta_ads_mcp/core/server.py,sha256=5WofyJZGzeDhbGzLXPhQjT0XnZwo0syeK8TM_XnJo4Q,5507
|
|
17
17
|
meta_ads_mcp/core/utils.py,sha256=EPmpBX3OZaTWRS_YuEk_PLLyLXj7DeR6Ks8WoaZ5JGQ,6366
|
|
18
|
-
meta_ads_mcp-0.
|
|
19
|
-
meta_ads_mcp-0.
|
|
20
|
-
meta_ads_mcp-0.
|
|
21
|
-
meta_ads_mcp-0.
|
|
22
|
-
meta_ads_mcp-0.
|
|
18
|
+
meta_ads_mcp-0.3.1.dist-info/METADATA,sha256=OAB-X-RsvdW9cqrxaZb57_JEAglrMKM56ByPsOw-sUk,19594
|
|
19
|
+
meta_ads_mcp-0.3.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
20
|
+
meta_ads_mcp-0.3.1.dist-info/entry_points.txt,sha256=Dv2RkoBjRJBqj6CyhwqGIiwPCD-SCL1-7B9-zmVRuv0,57
|
|
21
|
+
meta_ads_mcp-0.3.1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
22
|
+
meta_ads_mcp-0.3.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|