meta-ads-mcp 0.7.9__tar.gz → 0.8.0__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 (68) hide show
  1. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/PKG-INFO +40 -12
  2. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/README.md +39 -11
  3. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/meta_ads_mcp/__init__.py +1 -1
  4. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/meta_ads_mcp/core/ads.py +440 -32
  5. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/meta_ads_mcp/core/openai_deep_research.py +57 -1
  6. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/pyproject.toml +1 -1
  7. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/tests/test_duplication_regression.py +22 -34
  8. meta_ads_mcp-0.8.0/tests/test_dynamic_creatives.py +860 -0
  9. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/tests/test_openai_mcp_deep_research.py +52 -1
  10. meta_ads_mcp-0.8.0/tests/test_page_discovery.py +377 -0
  11. meta_ads_mcp-0.8.0/tests/test_page_discovery_integration.py +283 -0
  12. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/.github/workflows/publish.yml +0 -0
  13. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/.github/workflows/test.yml +0 -0
  14. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/.gitignore +0 -0
  15. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/CUSTOM_META_APP.md +0 -0
  16. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/Dockerfile +0 -0
  17. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/LICENSE +0 -0
  18. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/LOCAL_INSTALLATION.md +0 -0
  19. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/META_API_NOTES.md +0 -0
  20. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/RELEASE.md +0 -0
  21. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/STREAMABLE_HTTP_SETUP.md +0 -0
  22. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/examples/README.md +0 -0
  23. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/examples/example_http_client.py +0 -0
  24. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/future_improvements.md +0 -0
  25. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/images/meta-ads-example.png +0 -0
  26. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/meta_ads_auth.sh +0 -0
  27. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/meta_ads_mcp/__main__.py +0 -0
  28. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/meta_ads_mcp/core/__init__.py +0 -0
  29. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/meta_ads_mcp/core/accounts.py +0 -0
  30. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/meta_ads_mcp/core/ads_library.py +0 -0
  31. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/meta_ads_mcp/core/adsets.py +0 -0
  32. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/meta_ads_mcp/core/api.py +0 -0
  33. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/meta_ads_mcp/core/auth.py +0 -0
  34. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/meta_ads_mcp/core/authentication.py +0 -0
  35. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/meta_ads_mcp/core/budget_schedules.py +0 -0
  36. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/meta_ads_mcp/core/callback_server.py +0 -0
  37. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/meta_ads_mcp/core/campaigns.py +0 -0
  38. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/meta_ads_mcp/core/duplication.py +0 -0
  39. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/meta_ads_mcp/core/http_auth_integration.py +0 -0
  40. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/meta_ads_mcp/core/insights.py +0 -0
  41. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/meta_ads_mcp/core/pipeboard_auth.py +0 -0
  42. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/meta_ads_mcp/core/reports.py +0 -0
  43. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/meta_ads_mcp/core/resources.py +0 -0
  44. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/meta_ads_mcp/core/server.py +0 -0
  45. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/meta_ads_mcp/core/targeting.py +0 -0
  46. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/meta_ads_mcp/core/utils.py +0 -0
  47. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/requirements.txt +0 -0
  48. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/setup.py +0 -0
  49. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/smithery.yaml +0 -0
  50. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/tests/README.md +0 -0
  51. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/tests/README_REGRESSION_TESTS.md +0 -0
  52. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/tests/__init__.py +0 -0
  53. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/tests/conftest.py +0 -0
  54. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/tests/test_account_search.py +0 -0
  55. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/tests/test_budget_update.py +0 -0
  56. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/tests/test_budget_update_e2e.py +0 -0
  57. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/tests/test_dsa_beneficiary.py +0 -0
  58. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/tests/test_dsa_integration.py +0 -0
  59. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/tests/test_duplication.py +0 -0
  60. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/tests/test_get_ad_creatives_fix.py +0 -0
  61. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/tests/test_get_ad_image_quality_improvements.py +0 -0
  62. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/tests/test_get_ad_image_regression.py +0 -0
  63. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/tests/test_http_transport.py +0 -0
  64. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/tests/test_insights_actions_and_values.py +0 -0
  65. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/tests/test_integration_openai_mcp.py +0 -0
  66. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/tests/test_openai.py +0 -0
  67. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/tests/test_targeting.py +0 -0
  68. {meta_ads_mcp-0.7.9 → meta_ads_mcp-0.8.0}/tests/test_targeting_search_e2e.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: meta-ads-mcp
3
- Version: 0.7.9
3
+ Version: 0.8.0
4
4
  Summary: Model Context Protocol (MCP) plugin for interacting with Meta Ads API
5
5
  Project-URL: Homepage, https://github.com/pipeboard-co/meta-ads-mcp
6
6
  Project-URL: Bug Tracker, https://github.com/pipeboard-co/meta-ads-mcp/issues
@@ -111,9 +111,11 @@ For detailed step-by-step instructions, authentication setup, debugging, and tro
111
111
  - **Automated Monitoring**: Ask any MCP-compatible LLM to track performance metrics and alert you about significant changes
112
112
  - **Budget Optimization**: Get recommendations for reallocating budget to better-performing ad sets
113
113
  - **Creative Improvement**: Receive feedback on ad copy, imagery, and calls-to-action
114
+ - **Dynamic Creative Testing**: Easy API for both simple ads (single headline/description) and advanced A/B testing (multiple headlines/descriptions)
114
115
  - **Campaign Management**: Request changes to campaigns, ad sets, and ads (all changes require explicit confirmation)
115
116
  - **Cross-Platform Integration**: Works with Facebook, Instagram, and all Meta ad platforms
116
117
  - **Universal LLM Support**: Compatible with any MCP client including Claude Desktop, Cursor, Cherry Studio, and more
118
+ - **Enhanced Search**: Generic search function includes page searching when queries mention "page" or "pages"
117
119
  - **Simple Authentication**: Easy setup with secure OAuth authentication
118
120
  - **Cross-Platform Support**: Works on Windows, macOS, and Linux
119
121
 
@@ -260,14 +262,32 @@ For local installation configuration, authentication options, and advanced techn
260
262
  - `page_id`: Facebook Page ID for the ad
261
263
  - `link_url`: Destination URL
262
264
  - `message`: Ad copy/text
263
- - `headline`: Ad headline
264
- - `description`: Ad description
265
+ - `headline`: Single headline for simple ads (cannot be used with headlines)
266
+ - `headlines`: List of headlines for dynamic creative testing (cannot be used with headline)
267
+ - `description`: Single description for simple ads (cannot be used with descriptions)
268
+ - `descriptions`: List of descriptions for dynamic creative testing (cannot be used with description)
269
+ - `dynamic_creative_spec`: Dynamic creative optimization settings
265
270
  - `call_to_action_type`: CTA button type (e.g., 'LEARN_MORE')
266
271
  - `instagram_actor_id`: Optional Instagram account ID
267
272
  - `access_token` (optional): Meta API access token
268
273
  - Returns: Confirmation with new creative details
269
274
 
270
- 15. `mcp_meta_ads_upload_ad_image`
275
+ 15. `mcp_meta_ads_update_ad_creative`
276
+ - Update an existing ad creative with new content or settings
277
+ - Inputs:
278
+ - `creative_id`: Meta Ads creative ID to update
279
+ - `name`: New creative name
280
+ - `message`: New ad copy/text
281
+ - `headline`: Single headline for simple ads (cannot be used with headlines)
282
+ - `headlines`: New list of headlines for dynamic creative testing (cannot be used with headline)
283
+ - `description`: Single description for simple ads (cannot be used with descriptions)
284
+ - `descriptions`: New list of descriptions for dynamic creative testing (cannot be used with description)
285
+ - `dynamic_creative_spec`: New dynamic creative optimization settings
286
+ - `call_to_action_type`: New call to action button type
287
+ - `access_token` (optional): Meta API access token (will use cached token if not provided)
288
+ - Returns: Confirmation with updated creative details
289
+
290
+ 16. `mcp_meta_ads_upload_ad_image`
271
291
  - Upload an image to use in Meta Ads creatives
272
292
  - Inputs:
273
293
  - `account_id`: Meta Ads account ID (format: act_XXXXXXXXX)
@@ -276,14 +296,14 @@ For local installation configuration, authentication options, and advanced techn
276
296
  - `access_token` (optional): Meta API access token
277
297
  - Returns: JSON response with image details including hash
278
298
 
279
- 16. `mcp_meta_ads_get_ad_image`
299
+ 17. `mcp_meta_ads_get_ad_image`
280
300
  - Get, download, and visualize a Meta ad image in one step
281
301
  - Inputs:
282
302
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
283
303
  - `ad_id`: Meta Ads ad ID
284
304
  - Returns: The ad image ready for direct visual analysis
285
305
 
286
- 17. `mcp_meta_ads_update_ad`
306
+ 18. `mcp_meta_ads_update_ad`
287
307
  - Update an ad with new settings
288
308
  - Inputs:
289
309
  - `ad_id`: Meta Ads ad ID
@@ -292,7 +312,7 @@ For local installation configuration, authentication options, and advanced techn
292
312
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
293
313
  - Returns: Confirmation with updated ad details and a confirmation link
294
314
 
295
- 18. `mcp_meta_ads_update_adset`
315
+ 19. `mcp_meta_ads_update_adset`
296
316
  - Update an ad set with new settings including frequency caps
297
317
  - Inputs:
298
318
  - `adset_id`: Meta Ads ad set ID
@@ -304,7 +324,7 @@ For local installation configuration, authentication options, and advanced techn
304
324
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
305
325
  - Returns: Confirmation with updated ad set details and a confirmation link
306
326
 
307
- 19. `mcp_meta_ads_get_insights`
327
+ 20. `mcp_meta_ads_get_insights`
308
328
  - Get performance insights for a campaign, ad set, ad or account
309
329
  - Inputs:
310
330
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
@@ -314,13 +334,13 @@ For local installation configuration, authentication options, and advanced techn
314
334
  - `level`: Level of aggregation (ad, adset, campaign, account)
315
335
  - Returns: Performance metrics for the specified object
316
336
 
317
- 20. `mcp_meta_ads_get_login_link`
337
+ 21. `mcp_meta_ads_get_login_link`
318
338
  - Get a clickable login link for Meta Ads authentication
319
339
  - Inputs:
320
340
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
321
341
  - Returns: A clickable resource link for Meta authentication
322
342
 
323
- 21. `mcp_meta-ads_create_budget_schedule`
343
+ 22. `mcp_meta-ads_create_budget_schedule`
324
344
  - Create a budget schedule for a Meta Ads campaign.
325
345
  - Inputs:
326
346
  - `campaign_id`: Meta Ads campaign ID.
@@ -331,7 +351,7 @@ For local installation configuration, authentication options, and advanced techn
331
351
  - `access_token` (optional): Meta API access token.
332
352
  - Returns: JSON string with the ID of the created budget schedule or an error message.
333
353
 
334
- 22. `mcp_meta_ads_search_interests`
354
+ 23. `mcp_meta_ads_search_interests`
335
355
  - Search for interest targeting options by keyword
336
356
  - Inputs:
337
357
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
@@ -339,7 +359,7 @@ For local installation configuration, authentication options, and advanced techn
339
359
  - `limit`: Maximum number of results to return (default: 25)
340
360
  - Returns: Interest data with id, name, audience_size, and path fields
341
361
 
342
- 23. `mcp_meta_ads_get_interest_suggestions`
362
+ 24. `mcp_meta_ads_get_interest_suggestions`
343
363
  - Get interest suggestions based on existing interests
344
364
  - Inputs:
345
365
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
@@ -379,6 +399,14 @@ For local installation configuration, authentication options, and advanced techn
379
399
  - `limit`: Maximum number of results to return (default: 25)
380
400
  - Returns: Location data with key, name, type, and geographic hierarchy information
381
401
 
402
+ 28. `mcp_meta_ads_search` (Enhanced)
403
+ - Generic search across accounts, campaigns, ads, and pages
404
+ - Automatically includes page searching when query mentions "page" or "pages"
405
+ - Inputs:
406
+ - `access_token` (optional): Meta API access token (will use cached token if not provided)
407
+ - `query`: Search query string (e.g., "Injury Payouts pages", "active campaigns")
408
+ - Returns: List of matching record IDs in ChatGPT-compatible format
409
+
382
410
  ## Privacy and Security
383
411
 
384
412
  Meta Ads MCP follows security best practices with secure token management and automatic authentication handling.
@@ -86,9 +86,11 @@ For detailed step-by-step instructions, authentication setup, debugging, and tro
86
86
  - **Automated Monitoring**: Ask any MCP-compatible LLM to track performance metrics and alert you about significant changes
87
87
  - **Budget Optimization**: Get recommendations for reallocating budget to better-performing ad sets
88
88
  - **Creative Improvement**: Receive feedback on ad copy, imagery, and calls-to-action
89
+ - **Dynamic Creative Testing**: Easy API for both simple ads (single headline/description) and advanced A/B testing (multiple headlines/descriptions)
89
90
  - **Campaign Management**: Request changes to campaigns, ad sets, and ads (all changes require explicit confirmation)
90
91
  - **Cross-Platform Integration**: Works with Facebook, Instagram, and all Meta ad platforms
91
92
  - **Universal LLM Support**: Compatible with any MCP client including Claude Desktop, Cursor, Cherry Studio, and more
93
+ - **Enhanced Search**: Generic search function includes page searching when queries mention "page" or "pages"
92
94
  - **Simple Authentication**: Easy setup with secure OAuth authentication
93
95
  - **Cross-Platform Support**: Works on Windows, macOS, and Linux
94
96
 
@@ -235,14 +237,32 @@ For local installation configuration, authentication options, and advanced techn
235
237
  - `page_id`: Facebook Page ID for the ad
236
238
  - `link_url`: Destination URL
237
239
  - `message`: Ad copy/text
238
- - `headline`: Ad headline
239
- - `description`: Ad description
240
+ - `headline`: Single headline for simple ads (cannot be used with headlines)
241
+ - `headlines`: List of headlines for dynamic creative testing (cannot be used with headline)
242
+ - `description`: Single description for simple ads (cannot be used with descriptions)
243
+ - `descriptions`: List of descriptions for dynamic creative testing (cannot be used with description)
244
+ - `dynamic_creative_spec`: Dynamic creative optimization settings
240
245
  - `call_to_action_type`: CTA button type (e.g., 'LEARN_MORE')
241
246
  - `instagram_actor_id`: Optional Instagram account ID
242
247
  - `access_token` (optional): Meta API access token
243
248
  - Returns: Confirmation with new creative details
244
249
 
245
- 15. `mcp_meta_ads_upload_ad_image`
250
+ 15. `mcp_meta_ads_update_ad_creative`
251
+ - Update an existing ad creative with new content or settings
252
+ - Inputs:
253
+ - `creative_id`: Meta Ads creative ID to update
254
+ - `name`: New creative name
255
+ - `message`: New ad copy/text
256
+ - `headline`: Single headline for simple ads (cannot be used with headlines)
257
+ - `headlines`: New list of headlines for dynamic creative testing (cannot be used with headline)
258
+ - `description`: Single description for simple ads (cannot be used with descriptions)
259
+ - `descriptions`: New list of descriptions for dynamic creative testing (cannot be used with description)
260
+ - `dynamic_creative_spec`: New dynamic creative optimization settings
261
+ - `call_to_action_type`: New call to action button type
262
+ - `access_token` (optional): Meta API access token (will use cached token if not provided)
263
+ - Returns: Confirmation with updated creative details
264
+
265
+ 16. `mcp_meta_ads_upload_ad_image`
246
266
  - Upload an image to use in Meta Ads creatives
247
267
  - Inputs:
248
268
  - `account_id`: Meta Ads account ID (format: act_XXXXXXXXX)
@@ -251,14 +271,14 @@ For local installation configuration, authentication options, and advanced techn
251
271
  - `access_token` (optional): Meta API access token
252
272
  - Returns: JSON response with image details including hash
253
273
 
254
- 16. `mcp_meta_ads_get_ad_image`
274
+ 17. `mcp_meta_ads_get_ad_image`
255
275
  - Get, download, and visualize a Meta ad image in one step
256
276
  - Inputs:
257
277
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
258
278
  - `ad_id`: Meta Ads ad ID
259
279
  - Returns: The ad image ready for direct visual analysis
260
280
 
261
- 17. `mcp_meta_ads_update_ad`
281
+ 18. `mcp_meta_ads_update_ad`
262
282
  - Update an ad with new settings
263
283
  - Inputs:
264
284
  - `ad_id`: Meta Ads ad ID
@@ -267,7 +287,7 @@ For local installation configuration, authentication options, and advanced techn
267
287
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
268
288
  - Returns: Confirmation with updated ad details and a confirmation link
269
289
 
270
- 18. `mcp_meta_ads_update_adset`
290
+ 19. `mcp_meta_ads_update_adset`
271
291
  - Update an ad set with new settings including frequency caps
272
292
  - Inputs:
273
293
  - `adset_id`: Meta Ads ad set ID
@@ -279,7 +299,7 @@ For local installation configuration, authentication options, and advanced techn
279
299
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
280
300
  - Returns: Confirmation with updated ad set details and a confirmation link
281
301
 
282
- 19. `mcp_meta_ads_get_insights`
302
+ 20. `mcp_meta_ads_get_insights`
283
303
  - Get performance insights for a campaign, ad set, ad or account
284
304
  - Inputs:
285
305
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
@@ -289,13 +309,13 @@ For local installation configuration, authentication options, and advanced techn
289
309
  - `level`: Level of aggregation (ad, adset, campaign, account)
290
310
  - Returns: Performance metrics for the specified object
291
311
 
292
- 20. `mcp_meta_ads_get_login_link`
312
+ 21. `mcp_meta_ads_get_login_link`
293
313
  - Get a clickable login link for Meta Ads authentication
294
314
  - Inputs:
295
315
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
296
316
  - Returns: A clickable resource link for Meta authentication
297
317
 
298
- 21. `mcp_meta-ads_create_budget_schedule`
318
+ 22. `mcp_meta-ads_create_budget_schedule`
299
319
  - Create a budget schedule for a Meta Ads campaign.
300
320
  - Inputs:
301
321
  - `campaign_id`: Meta Ads campaign ID.
@@ -306,7 +326,7 @@ For local installation configuration, authentication options, and advanced techn
306
326
  - `access_token` (optional): Meta API access token.
307
327
  - Returns: JSON string with the ID of the created budget schedule or an error message.
308
328
 
309
- 22. `mcp_meta_ads_search_interests`
329
+ 23. `mcp_meta_ads_search_interests`
310
330
  - Search for interest targeting options by keyword
311
331
  - Inputs:
312
332
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
@@ -314,7 +334,7 @@ For local installation configuration, authentication options, and advanced techn
314
334
  - `limit`: Maximum number of results to return (default: 25)
315
335
  - Returns: Interest data with id, name, audience_size, and path fields
316
336
 
317
- 23. `mcp_meta_ads_get_interest_suggestions`
337
+ 24. `mcp_meta_ads_get_interest_suggestions`
318
338
  - Get interest suggestions based on existing interests
319
339
  - Inputs:
320
340
  - `access_token` (optional): Meta API access token (will use cached token if not provided)
@@ -354,6 +374,14 @@ For local installation configuration, authentication options, and advanced techn
354
374
  - `limit`: Maximum number of results to return (default: 25)
355
375
  - Returns: Location data with key, name, type, and geographic hierarchy information
356
376
 
377
+ 28. `mcp_meta_ads_search` (Enhanced)
378
+ - Generic search across accounts, campaigns, ads, and pages
379
+ - Automatically includes page searching when query mentions "page" or "pages"
380
+ - Inputs:
381
+ - `access_token` (optional): Meta API access token (will use cached token if not provided)
382
+ - `query`: Search query string (e.g., "Injury Payouts pages", "active campaigns")
383
+ - Returns: List of matching record IDs in ChatGPT-compatible format
384
+
357
385
  ## Privacy and Security
358
386
 
359
387
  Meta Ads MCP follows security best practices with secure token management and automatic authentication handling.
@@ -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.7.9"
10
+ __version__ = "0.8.0"
11
11
 
12
12
  __all__ = [
13
13
  'get_ad_accounts',