meta-ads-mcp 0.3.2__tar.gz → 0.3.3__tar.gz

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.
Files changed (41) hide show
  1. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/PKG-INFO +27 -20
  2. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/README.md +26 -19
  3. meta_ads_mcp-0.3.3/brands/injurypayouts.com/120221013820800183_76c8b7fd0c627bce0d6ad833682f45e5.jpg +0 -0
  4. meta_ads_mcp-0.3.3/brands/injurypayouts.com/120221013841190183_cc1ff1ad28a037f397fd0e1636e8239a.jpg +0 -0
  5. meta_ads_mcp-0.3.3/brands/injurypayouts.com/120221013863110183_76f042047ce288bfbf9e103ffa10c50f.jpg +0 -0
  6. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/meta_ads_mcp/__init__.py +1 -1
  7. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/meta_ads_mcp/core/__init__.py +2 -0
  8. meta_ads_mcp-0.3.3/meta_ads_mcp/core/ads.py +819 -0
  9. meta_ads_mcp-0.3.3/meta_ads_mcp/core/ads_library.py +69 -0
  10. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/meta_ads_mcp/core/campaigns.py +5 -2
  11. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/pyproject.toml +1 -1
  12. meta_ads_mcp-0.3.2/meta_ads_mcp/core/ads.py +0 -357
  13. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/.gitignore +0 -0
  14. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/Dockerfile +0 -0
  15. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/LICENSE +0 -0
  16. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/META_API_NOTES.md +0 -0
  17. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/debug_meta_api_tool.py +0 -0
  18. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/debug_token_flow.py +0 -0
  19. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/future_improvements.md +0 -0
  20. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/images/meta-ads-example.png +0 -0
  21. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/meta-ads-mcp +0 -0
  22. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/meta_ads_auth.sh +0 -0
  23. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/meta_ads_mcp/__main__.py +0 -0
  24. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/meta_ads_mcp/api.py +0 -0
  25. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/meta_ads_mcp/core/accounts.py +0 -0
  26. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/meta_ads_mcp/core/adsets.py +0 -0
  27. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/meta_ads_mcp/core/api.py +0 -0
  28. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/meta_ads_mcp/core/auth.py +0 -0
  29. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/meta_ads_mcp/core/authentication.py +0 -0
  30. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/meta_ads_mcp/core/callback_server.py +0 -0
  31. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/meta_ads_mcp/core/insights.py +0 -0
  32. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/meta_ads_mcp/core/pipeboard_auth.py +0 -0
  33. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/meta_ads_mcp/core/resources.py +0 -0
  34. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/meta_ads_mcp/core/server.py +0 -0
  35. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/meta_ads_mcp/core/utils.py +0 -0
  36. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/meta_auth_test.sh +0 -0
  37. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/requirements.txt +0 -0
  38. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/setup.py +0 -0
  39. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/smithery.yaml +0 -0
  40. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/test_meta_ads_auth.py +0 -0
  41. {meta_ads_mcp-0.3.2 → meta_ads_mcp-0.3.3}/test_pipeboard_auth.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: meta-ads-mcp
3
- Version: 0.3.2
3
+ Version: 0.3.3
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
@@ -129,7 +129,14 @@ Add this to your `claude_desktop_config.json` to integrate with Claude or `~/.cu
129
129
  - `account_id`: Meta Ads account ID (format: act_XXXXXXXXX)
130
130
  - Returns: Detailed information about the specified account
131
131
 
132
- 3. `mcp_meta_ads_get_campaigns`
132
+ 3. `mcp_meta_ads_get_account_pages`
133
+ - Get pages associated with a Meta Ads account
134
+ - Inputs:
135
+ - `access_token` (optional): Meta API access token (will use cached token if not provided)
136
+ - `account_id`: Meta Ads account ID (format: act_XXXXXXXXX) or "me" for the current user's pages
137
+ - Returns: List of pages associated with the account, useful for ad creation and management
138
+
139
+ 4. `mcp_meta_ads_get_campaigns`
133
140
  - Get campaigns for a Meta Ads account with optional filtering
134
141
  - Inputs:
135
142
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
@@ -138,14 +145,14 @@ Add this to your `claude_desktop_config.json` to integrate with Claude or `~/.cu
138
145
  - `status_filter`: Filter by status (empty for all, or 'ACTIVE', 'PAUSED', etc.)
139
146
  - Returns: List of campaigns matching the criteria
140
147
 
141
- 4. `mcp_meta_ads_get_campaign_details`
148
+ 5. `mcp_meta_ads_get_campaign_details`
142
149
  - Get detailed information about a specific campaign
143
150
  - Inputs:
144
151
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
145
152
  - `campaign_id`: Meta Ads campaign ID
146
153
  - Returns: Detailed information about the specified campaign
147
154
 
148
- 5. `mcp_meta_ads_create_campaign`
155
+ 6. `mcp_meta_ads_create_campaign`
149
156
  - Create a new campaign in a Meta Ads account
150
157
  - Inputs:
151
158
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
@@ -158,7 +165,7 @@ Add this to your `claude_desktop_config.json` to integrate with Claude or `~/.cu
158
165
  - `lifetime_budget`: Lifetime budget in account currency (in cents)
159
166
  - Returns: Confirmation with new campaign details
160
167
 
161
- 6. `mcp_meta_ads_get_adsets`
168
+ 7. `mcp_meta_ads_get_adsets`
162
169
  - Get ad sets for a Meta Ads account with optional filtering by campaign
163
170
  - Inputs:
164
171
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
@@ -167,14 +174,14 @@ Add this to your `claude_desktop_config.json` to integrate with Claude or `~/.cu
167
174
  - `campaign_id`: Optional campaign ID to filter by
168
175
  - Returns: List of ad sets matching the criteria
169
176
 
170
- 7. `mcp_meta_ads_get_adset_details`
177
+ 8. `mcp_meta_ads_get_adset_details`
171
178
  - Get detailed information about a specific ad set
172
179
  - Inputs:
173
180
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
174
181
  - `adset_id`: Meta Ads ad set ID
175
182
  - Returns: Detailed information about the specified ad set
176
183
 
177
- 8. `mcp_meta_ads_get_ads`
184
+ 9. `mcp_meta_ads_get_ads`
178
185
  - Get ads for a Meta Ads account with optional filtering
179
186
  - Inputs:
180
187
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
@@ -184,28 +191,28 @@ Add this to your `claude_desktop_config.json` to integrate with Claude or `~/.cu
184
191
  - `adset_id`: Optional ad set ID to filter by
185
192
  - Returns: List of ads matching the criteria
186
193
 
187
- 9. `mcp_meta_ads_get_ad_details`
188
- - Get detailed information about a specific ad
189
- - Inputs:
190
- - `access_token` (optional): Meta API access token (will use cached token if not provided)
191
- - `ad_id`: Meta Ads ad ID
192
- - Returns: Detailed information about the specified ad
194
+ 10. `mcp_meta_ads_get_ad_details`
195
+ - Get detailed information about a specific ad
196
+ - Inputs:
197
+ - `access_token` (optional): Meta API access token (will use cached token if not provided)
198
+ - `ad_id`: Meta Ads ad ID
199
+ - Returns: Detailed information about the specified ad
193
200
 
194
- 10. `mcp_meta_ads_get_ad_creatives`
201
+ 11. `mcp_meta_ads_get_ad_creatives`
195
202
  - Get creative details for a specific ad
196
203
  - Inputs:
197
204
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
198
205
  - `ad_id`: Meta Ads ad ID
199
206
  - Returns: Creative details including text, images, and URLs
200
207
 
201
- 11. `mcp_meta_ads_get_ad_image`
208
+ 12. `mcp_meta_ads_get_ad_image`
202
209
  - Get, download, and visualize a Meta ad image in one step
203
210
  - Inputs:
204
211
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
205
212
  - `ad_id`: Meta Ads ad ID
206
213
  - Returns: The ad image ready for direct visual analysis
207
214
 
208
- 12. `mcp_meta_ads_update_ad`
215
+ 13. `mcp_meta_ads_update_ad`
209
216
  - Update an ad with new settings
210
217
  - Inputs:
211
218
  - `ad_id`: Meta Ads ad ID
@@ -214,7 +221,7 @@ Add this to your `claude_desktop_config.json` to integrate with Claude or `~/.cu
214
221
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
215
222
  - Returns: Confirmation with updated ad details and a confirmation link
216
223
 
217
- 13. `mcp_meta_ads_update_adset`
224
+ 14. `mcp_meta_ads_update_adset`
218
225
  - Update an ad set with new settings including frequency caps
219
226
  - Inputs:
220
227
  - `adset_id`: Meta Ads ad set ID
@@ -226,7 +233,7 @@ Add this to your `claude_desktop_config.json` to integrate with Claude or `~/.cu
226
233
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
227
234
  - Returns: Confirmation with updated ad set details and a confirmation link
228
235
 
229
- 14. `mcp_meta_ads_get_insights`
236
+ 15. `mcp_meta_ads_get_insights`
230
237
  - Get performance insights for a campaign, ad set, ad or account
231
238
  - Inputs:
232
239
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
@@ -236,7 +243,7 @@ Add this to your `claude_desktop_config.json` to integrate with Claude or `~/.cu
236
243
  - `level`: Level of aggregation (ad, adset, campaign, account)
237
244
  - Returns: Performance metrics for the specified object
238
245
 
239
- 15. `mcp_meta_ads_debug_image_download`
246
+ 16. `mcp_meta_ads_debug_image_download`
240
247
  - Debug image download issues and report detailed diagnostics
241
248
  - Inputs:
242
249
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
@@ -244,7 +251,7 @@ Add this to your `claude_desktop_config.json` to integrate with Claude or `~/.cu
244
251
  - `ad_id`: Meta Ads ad ID (optional, used if url is not provided)
245
252
  - Returns: Diagnostic information about image download attempts
246
253
 
247
- 16. `mcp_meta_ads_get_login_link`
254
+ 17. `mcp_meta_ads_get_login_link`
248
255
  - Get a clickable login link for Meta Ads authentication
249
256
  - Inputs:
250
257
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
@@ -106,7 +106,14 @@ Add this to your `claude_desktop_config.json` to integrate with Claude or `~/.cu
106
106
  - `account_id`: Meta Ads account ID (format: act_XXXXXXXXX)
107
107
  - Returns: Detailed information about the specified account
108
108
 
109
- 3. `mcp_meta_ads_get_campaigns`
109
+ 3. `mcp_meta_ads_get_account_pages`
110
+ - Get pages associated with a Meta Ads account
111
+ - Inputs:
112
+ - `access_token` (optional): Meta API access token (will use cached token if not provided)
113
+ - `account_id`: Meta Ads account ID (format: act_XXXXXXXXX) or "me" for the current user's pages
114
+ - Returns: List of pages associated with the account, useful for ad creation and management
115
+
116
+ 4. `mcp_meta_ads_get_campaigns`
110
117
  - Get campaigns for a Meta Ads account with optional filtering
111
118
  - Inputs:
112
119
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
@@ -115,14 +122,14 @@ Add this to your `claude_desktop_config.json` to integrate with Claude or `~/.cu
115
122
  - `status_filter`: Filter by status (empty for all, or 'ACTIVE', 'PAUSED', etc.)
116
123
  - Returns: List of campaigns matching the criteria
117
124
 
118
- 4. `mcp_meta_ads_get_campaign_details`
125
+ 5. `mcp_meta_ads_get_campaign_details`
119
126
  - Get detailed information about a specific campaign
120
127
  - Inputs:
121
128
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
122
129
  - `campaign_id`: Meta Ads campaign ID
123
130
  - Returns: Detailed information about the specified campaign
124
131
 
125
- 5. `mcp_meta_ads_create_campaign`
132
+ 6. `mcp_meta_ads_create_campaign`
126
133
  - Create a new campaign in a Meta Ads account
127
134
  - Inputs:
128
135
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
@@ -135,7 +142,7 @@ Add this to your `claude_desktop_config.json` to integrate with Claude or `~/.cu
135
142
  - `lifetime_budget`: Lifetime budget in account currency (in cents)
136
143
  - Returns: Confirmation with new campaign details
137
144
 
138
- 6. `mcp_meta_ads_get_adsets`
145
+ 7. `mcp_meta_ads_get_adsets`
139
146
  - Get ad sets for a Meta Ads account with optional filtering by campaign
140
147
  - Inputs:
141
148
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
@@ -144,14 +151,14 @@ Add this to your `claude_desktop_config.json` to integrate with Claude or `~/.cu
144
151
  - `campaign_id`: Optional campaign ID to filter by
145
152
  - Returns: List of ad sets matching the criteria
146
153
 
147
- 7. `mcp_meta_ads_get_adset_details`
154
+ 8. `mcp_meta_ads_get_adset_details`
148
155
  - Get detailed information about a specific ad set
149
156
  - Inputs:
150
157
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
151
158
  - `adset_id`: Meta Ads ad set ID
152
159
  - Returns: Detailed information about the specified ad set
153
160
 
154
- 8. `mcp_meta_ads_get_ads`
161
+ 9. `mcp_meta_ads_get_ads`
155
162
  - Get ads for a Meta Ads account with optional filtering
156
163
  - Inputs:
157
164
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
@@ -161,28 +168,28 @@ Add this to your `claude_desktop_config.json` to integrate with Claude or `~/.cu
161
168
  - `adset_id`: Optional ad set ID to filter by
162
169
  - Returns: List of ads matching the criteria
163
170
 
164
- 9. `mcp_meta_ads_get_ad_details`
165
- - Get detailed information about a specific ad
166
- - Inputs:
167
- - `access_token` (optional): Meta API access token (will use cached token if not provided)
168
- - `ad_id`: Meta Ads ad ID
169
- - Returns: Detailed information about the specified ad
171
+ 10. `mcp_meta_ads_get_ad_details`
172
+ - Get detailed information about a specific ad
173
+ - Inputs:
174
+ - `access_token` (optional): Meta API access token (will use cached token if not provided)
175
+ - `ad_id`: Meta Ads ad ID
176
+ - Returns: Detailed information about the specified ad
170
177
 
171
- 10. `mcp_meta_ads_get_ad_creatives`
178
+ 11. `mcp_meta_ads_get_ad_creatives`
172
179
  - Get creative details for a specific ad
173
180
  - Inputs:
174
181
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
175
182
  - `ad_id`: Meta Ads ad ID
176
183
  - Returns: Creative details including text, images, and URLs
177
184
 
178
- 11. `mcp_meta_ads_get_ad_image`
185
+ 12. `mcp_meta_ads_get_ad_image`
179
186
  - Get, download, and visualize a Meta ad image in one step
180
187
  - Inputs:
181
188
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
182
189
  - `ad_id`: Meta Ads ad ID
183
190
  - Returns: The ad image ready for direct visual analysis
184
191
 
185
- 12. `mcp_meta_ads_update_ad`
192
+ 13. `mcp_meta_ads_update_ad`
186
193
  - Update an ad with new settings
187
194
  - Inputs:
188
195
  - `ad_id`: Meta Ads ad ID
@@ -191,7 +198,7 @@ Add this to your `claude_desktop_config.json` to integrate with Claude or `~/.cu
191
198
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
192
199
  - Returns: Confirmation with updated ad details and a confirmation link
193
200
 
194
- 13. `mcp_meta_ads_update_adset`
201
+ 14. `mcp_meta_ads_update_adset`
195
202
  - Update an ad set with new settings including frequency caps
196
203
  - Inputs:
197
204
  - `adset_id`: Meta Ads ad set ID
@@ -203,7 +210,7 @@ Add this to your `claude_desktop_config.json` to integrate with Claude or `~/.cu
203
210
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
204
211
  - Returns: Confirmation with updated ad set details and a confirmation link
205
212
 
206
- 14. `mcp_meta_ads_get_insights`
213
+ 15. `mcp_meta_ads_get_insights`
207
214
  - Get performance insights for a campaign, ad set, ad or account
208
215
  - Inputs:
209
216
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
@@ -213,7 +220,7 @@ Add this to your `claude_desktop_config.json` to integrate with Claude or `~/.cu
213
220
  - `level`: Level of aggregation (ad, adset, campaign, account)
214
221
  - Returns: Performance metrics for the specified object
215
222
 
216
- 15. `mcp_meta_ads_debug_image_download`
223
+ 16. `mcp_meta_ads_debug_image_download`
217
224
  - Debug image download issues and report detailed diagnostics
218
225
  - Inputs:
219
226
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
@@ -221,7 +228,7 @@ Add this to your `claude_desktop_config.json` to integrate with Claude or `~/.cu
221
228
  - `ad_id`: Meta Ads ad ID (optional, used if url is not provided)
222
229
  - Returns: Diagnostic information about image download attempts
223
230
 
224
- 16. `mcp_meta_ads_get_login_link`
231
+ 17. `mcp_meta_ads_get_login_link`
225
232
  - Get a clickable login link for Meta Ads authentication
226
233
  - Inputs:
227
234
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
@@ -7,7 +7,7 @@ with the Claude LLM.
7
7
 
8
8
  from meta_ads_mcp.core.server import main
9
9
 
10
- __version__ = "0.3.2"
10
+ __version__ = "0.3.3"
11
11
 
12
12
  __all__ = [
13
13
  'get_ad_accounts',
@@ -9,6 +9,7 @@ from .insights import get_insights, debug_image_download
9
9
  from .authentication import get_login_link
10
10
  from .server import login_cli, main
11
11
  from .auth import login
12
+ from .ads_library import search_ads_archive
12
13
 
13
14
  __all__ = [
14
15
  'mcp_server',
@@ -31,4 +32,5 @@ __all__ = [
31
32
  'login_cli',
32
33
  'login',
33
34
  'main',
35
+ 'search_ads_archive',
34
36
  ]