meta-ads-mcp 0.3.8__py3-none-any.whl → 0.3.10__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 CHANGED
@@ -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.8"
10
+ __version__ = "0.3.10"
11
11
 
12
12
  __all__ = [
13
13
  'get_ad_accounts',
@@ -11,6 +11,7 @@ from .server import login_cli, main
11
11
  from .auth import login
12
12
  from .ads_library import search_ads_archive
13
13
  from .budget_schedules import create_budget_schedule
14
+ from . import reports # Import module to register conditional tools
14
15
 
15
16
  __all__ = [
16
17
  'mcp_server',
@@ -0,0 +1,133 @@
1
+ """Report generation functionality for Meta Ads API."""
2
+
3
+ import json
4
+ import os
5
+ from typing import Optional, Dict, Any, List, Union
6
+ from .api import meta_api_tool
7
+ from .server import mcp_server
8
+
9
+
10
+ # Only register the generate_report function if the environment variable is set
11
+ ENABLE_REPORT_GENERATION = bool(os.environ.get("META_ADS_ENABLE_REPORTS", ""))
12
+
13
+ if ENABLE_REPORT_GENERATION:
14
+ @mcp_server.tool()
15
+ async def generate_report(
16
+ access_token: str = None,
17
+ account_id: str = None,
18
+ report_type: str = "account",
19
+ time_range: str = "last_30d",
20
+ campaign_ids: Optional[List[str]] = None,
21
+ export_format: str = "pdf",
22
+ report_name: Optional[str] = None,
23
+ include_sections: Optional[List[str]] = None,
24
+ breakdowns: Optional[List[str]] = None,
25
+ comparison_period: Optional[str] = None
26
+ ) -> str:
27
+ """
28
+ Generate comprehensive Meta Ads performance reports.
29
+
30
+ **This is a premium feature available with Pipeboard Pro.**
31
+
32
+ Args:
33
+ access_token: Meta API access token (optional - will use cached token if not provided)
34
+ account_id: Meta Ads account ID (format: act_XXXXXXXXX)
35
+ report_type: Type of report to generate (account, campaign, comparison)
36
+ time_range: Time period for the report (e.g., 'last_30d', 'last_7d', 'this_month')
37
+ campaign_ids: Specific campaign IDs (required for campaign/comparison reports)
38
+ export_format: Output format for the report (pdf, json, html)
39
+ report_name: Custom name for the report (auto-generated if not provided)
40
+ include_sections: Specific sections to include in the report
41
+ breakdowns: Audience breakdown dimensions (age, gender, country, etc.)
42
+ comparison_period: Time period for comparison analysis
43
+ """
44
+
45
+ # Validate required parameters
46
+ if not account_id:
47
+ return json.dumps({
48
+ "error": "invalid_parameters",
49
+ "message": "Account ID is required",
50
+ "details": {
51
+ "required_parameter": "account_id",
52
+ "format": "act_XXXXXXXXX"
53
+ }
54
+ }, indent=2)
55
+
56
+ # For campaign and comparison reports, campaign_ids are required
57
+ if report_type in ["campaign", "comparison"] and not campaign_ids:
58
+ return json.dumps({
59
+ "error": "invalid_parameters",
60
+ "message": f"Campaign IDs are required for {report_type} reports",
61
+ "details": {
62
+ "required_parameter": "campaign_ids",
63
+ "format": "Array of campaign ID strings"
64
+ }
65
+ }, indent=2)
66
+
67
+ # Return premium feature upgrade message
68
+ return json.dumps({
69
+ "error": "premium_feature_required",
70
+ "message": "Professional report generation is a premium feature",
71
+ "details": {
72
+ "feature": "Automated PDF Report Generation",
73
+ "description": "Create professional client-ready reports with performance insights, recommendations, and white-label branding",
74
+ "benefits": [
75
+ "Executive summary with key metrics",
76
+ "Performance breakdowns and trends",
77
+ "Audience insights and recommendations",
78
+ "Professional PDF formatting",
79
+ "White-label branding options",
80
+ "Campaign comparison analysis",
81
+ "Creative performance insights",
82
+ "Automated scheduling options"
83
+ ],
84
+ "upgrade_url": "https://pipeboard.co/upgrade",
85
+ "contact_email": "info@pipeboard.co",
86
+ "early_access": "Contact us for early access and special pricing"
87
+ },
88
+ "request_parameters": {
89
+ "account_id": account_id,
90
+ "report_type": report_type,
91
+ "time_range": time_range,
92
+ "export_format": export_format,
93
+ "campaign_ids": campaign_ids or [],
94
+ "include_sections": include_sections or [],
95
+ "breakdowns": breakdowns or []
96
+ },
97
+ "preview": {
98
+ "available_data": {
99
+ "account_name": f"Account {account_id}",
100
+ "campaigns_count": len(campaign_ids) if campaign_ids else "All campaigns",
101
+ "time_range": time_range,
102
+ "estimated_report_pages": 8 if report_type == "account" else 6,
103
+ "report_format": export_format.upper()
104
+ },
105
+ "sample_metrics": {
106
+ "total_spend": "$12,450",
107
+ "total_impressions": "2.3M",
108
+ "total_clicks": "45.2K",
109
+ "average_cpc": "$0.85",
110
+ "average_cpm": "$15.20",
111
+ "click_through_rate": "1.96%",
112
+ "roas": "4.2x"
113
+ },
114
+ "available_sections": [
115
+ "executive_summary",
116
+ "performance_overview",
117
+ "campaign_breakdown",
118
+ "audience_insights",
119
+ "creative_performance",
120
+ "recommendations",
121
+ "appendix"
122
+ ],
123
+ "supported_breakdowns": [
124
+ "age",
125
+ "gender",
126
+ "country",
127
+ "region",
128
+ "placement",
129
+ "device_platform",
130
+ "publisher_platform"
131
+ ]
132
+ }
133
+ }, indent=2)
@@ -336,7 +336,7 @@ def main():
336
336
  # Import all tool modules to ensure they are registered
337
337
  logger.info("Ensuring all tools are registered for HTTP transport")
338
338
  from . import accounts, campaigns, adsets, ads, insights, authentication
339
- from . import ads_library, budget_schedules
339
+ from . import ads_library, budget_schedules, reports
340
340
 
341
341
  # ✅ NEW: Setup HTTP authentication middleware
342
342
  logger.info("Setting up HTTP authentication middleware")
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: meta-ads-mcp
3
- Version: 0.3.8
3
+ Version: 0.3.10
4
4
  Summary: Model Calling Protocol (MCP) plugin for interacting with Meta Ads API
5
- Project-URL: Homepage, https://github.com/nictuku/meta-ads-mcp
6
- Project-URL: Bug Tracker, https://github.com/nictuku/meta-ads-mcp/issues
5
+ Project-URL: Homepage, https://github.com/pipeboard-co/meta-ads-mcp
6
+ Project-URL: Bug Tracker, https://github.com/pipeboard-co/meta-ads-mcp/issues
7
7
  Author-email: Yves Junqueira <yves.junqueira@gmail.com>
8
8
  License: MIT
9
9
  License-File: LICENSE
@@ -13,7 +13,7 @@ Classifier: Operating System :: OS Independent
13
13
  Classifier: Programming Language :: Python :: 3
14
14
  Requires-Python: >=3.10
15
15
  Requires-Dist: httpx>=0.26.0
16
- Requires-Dist: mcp[cli]>=1.9.0
16
+ Requires-Dist: mcp[cli]>=1.10.1
17
17
  Requires-Dist: pathlib>=1.0.1
18
18
  Requires-Dist: pillow>=10.0.0
19
19
  Requires-Dist: python-dateutil>=2.8.2
@@ -29,141 +29,102 @@ A [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server for in
29
29
 
30
30
  [![Meta Ads MCP Server Demo](https://github.com/user-attachments/assets/3e605cee-d289-414b-814c-6299e7f3383e)](https://github.com/user-attachments/assets/3e605cee-d289-414b-814c-6299e7f3383e)
31
31
 
32
-
33
32
  ## Community & Support
34
33
 
35
34
  - [Discord](https://discord.gg/hNxpJcqM52). Join the community.
36
35
  - [Email Support](info@pipeboard.co). Email us for support.
37
-
38
- ## Quick Start
39
36
 
40
- 1. Sign-up to [Pipeboard](https://pipeboard.co) to authenticate with Meta (alternatively, you can setup your own [custom meta app](CUSTOM_META_APP.md))
41
- 2. Get your Pipeboard token at [pipeboard.co/api-tokens](https://pipeboard.co/api-tokens)
42
- 3. Add this configuration to your MCP client:
37
+ ## Table of Contents
43
38
 
44
- ```json
45
- "mcpServers": {
46
- "meta-ads": {
47
- "command": "uvx",
48
- "args": ["meta-ads-mcp"],
49
- "env": {
50
- "PIPEBOARD_API_TOKEN": "your_pipeboard_token" // Get your token at https://pipeboard.co/api-tokens
51
- }
52
- }
53
- }
54
- ```
39
+ - [🚀 Getting started with Remote MCP (Recommended for Marketers)](#getting-started-with-remote-mcp-recommended)
40
+ - [Local Installation (Technical Users Only)](#local-installation-technical-users-only)
41
+ - [Features](#features)
42
+ - [Configuration](#configuration)
43
+ - [Available MCP Tools](#available-mcp-tools)
44
+ - [Privacy and Security](#privacy-and-security)
45
+ - [Testing](#testing)
46
+ - [Troubleshooting](#troubleshooting)
55
47
 
56
- That's it! You can now use Meta Ads MCP in your favorite MCP client.
48
+ ## Getting started with Remote MCP (Recommended)
57
49
 
58
- > **Note**: If you prefer to use your own Meta Developer App instead of Pipeboard authentication, see [CUSTOM_META_APP.md](CUSTOM_META_APP.md) for instructions.
50
+ The fastest and most reliable way to get started is to **[🚀 Get started with our Meta Ads Remote MCP](https://pipeboard.co)**. No technical setup required - just connect and start analyzing your ad campaigns with AI!
59
51
 
60
- ## Features
52
+ ### For Claude Pro/Max Users
61
53
 
62
- - **AI-Powered Campaign Analysis**: Let your favorite LLM analyze your campaigns and provide actionable insights on performance
63
- - **Strategic Recommendations**: Receive data-backed suggestions for optimizing ad spend, targeting, and creative content
64
- - **Automated Monitoring**: Ask any MCP-compatible LLM to track performance metrics and alert you about significant changes
65
- - **Budget Optimization**: Get recommendations for reallocating budget to better-performing ad sets
66
- - **Creative Improvement**: Receive feedback on ad copy, imagery, and calls-to-action
67
- - **Campaign Management**: Request changes to campaigns, ad sets, and ads (all changes require explicit confirmation)
68
- - **Cross-Platform Integration**: Works with Facebook, Instagram, and all Meta ad platforms
69
- - **Universal LLM Support**: Compatible with any MCP client including Claude Desktop, Cursor, Cherry Studio, and more
70
- - **Simple Authentication**: Easy setup with secure OAuth authentication
71
- - **Cross-Platform Support**: Works on Windows, macOS, and Linux
54
+ 1. Go to [claude.ai/settings/integrations](https://claude.ai/settings/integrations) (requires Claude Pro or Max)
55
+ 2. Click "Add Integration" and enter:
56
+ - **Name**: "Pipeboard Meta Ads" (or any name you prefer)
57
+ - **Integration URL**: `https://mcp.pipeboard.co/meta-ads-mcp`
58
+ 3. Click "Connect" next to the integration and follow the prompts to:
59
+ - Login to Pipeboard
60
+ - Connect your Facebook Ads account
72
61
 
73
- ## Advanced Setup
62
+ That's it! You can now ask Claude to analyze your Meta ad campaigns, get performance insights, and manage your advertising.
74
63
 
75
- ### Development Installation
64
+ ### For Cursor Users
76
65
 
77
- If you're contributing to the project or need to run it directly:
66
+ Add this to your `~/.cursor/mcp.json`:
78
67
 
79
- ```bash
80
- # From the repository root
81
- uv pip install -e .
68
+ ```json
69
+ {
70
+ "mcpServers": {
71
+ "meta-ads-remote": {
72
+ "command": "npx",
73
+ "args": [
74
+ "mcp-remote",
75
+ "https://mcp.pipeboard.co/meta-ads-mcp"
76
+ ]
77
+ }
78
+ }
79
+ }
82
80
  ```
83
81
 
84
- ## Privacy and Security
82
+ ### For Other MCP Clients
85
83
 
86
- The Meta Ads MCP follows security best practices:
84
+ Use the Remote MCP URL: `https://mcp.pipeboard.co/meta-ads-mcp`
87
85
 
88
- 1. Tokens are cached in a platform-specific secure location:
89
- - Windows: `%APPDATA%\meta-ads-mcp\token_cache.json`
90
- - macOS: `~/Library/Application Support/meta-ads-mcp/token_cache.json`
91
- - Linux: `~/.config/meta-ads-mcp/token_cache.json`
86
+ **[📖 Get detailed setup instructions for your AI client here](https://pipeboard.co)**
92
87
 
93
- 2. You do not need to provide your access token for each command; it will be automatically retrieved from the cache.
88
+ ## Local Installation (Technical Users Only)
94
89
 
95
- ## Testing
96
-
97
- ### LLM Interface Testing
90
+ If you're a developer or need to customize the installation, you can run Meta Ads MCP locally. **Most marketers should use the Remote MCP above instead!** For complete technical setup instructions, see our **[Local Installation Guide](LOCAL_INSTALLATION.md)**.
98
91
 
99
- When using the Meta Ads MCP with an LLM interface (like Claude):
92
+ ### Quick Local Setup
100
93
 
101
- 1. Ensure the PIPEBOARD_API_TOKEN environment variable is set
102
- 2. Verify account access by calling `mcp_meta_ads_get_ad_accounts`
103
- 3. Check specific account details with `mcp_meta_ads_get_account_info`
104
-
105
- ## Troubleshooting
106
-
107
- ### Authentication Issues
108
-
109
- If you encounter authentication issues:
110
-
111
- 1. Verify your Pipeboard setup:
112
- - Check that `PIPEBOARD_API_TOKEN` is set correctly
113
- - Verify your token in the Pipeboard dashboard
114
- - Try forcing a new login: `python test_pipeboard_auth.py --force-login`
115
-
116
- 2. When using the LLM interface:
117
- - Ensure the PIPEBOARD_API_TOKEN environment variable is set
118
- - Check that the callback server is running properly
94
+ ```bash
95
+ # Install via uvx (recommended)
96
+ uvx meta-ads-mcp
119
97
 
120
- ### API Errors
98
+ # Set your Pipeboard token
99
+ export PIPEBOARD_API_TOKEN=your_pipeboard_token
121
100
 
122
- If you receive errors from the Meta API:
123
- 1. Ensure the user has appropriate permissions on the ad accounts
124
- 2. Check if there are rate limits or other restrictions
125
- 3. Verify your Pipeboard token hasn't expired
101
+ # Add to your MCP client configuration
102
+ ```
126
103
 
127
- ## Log Location
104
+ For detailed step-by-step instructions, authentication setup, debugging, and troubleshooting, visit **[LOCAL_INSTALLATION.md](LOCAL_INSTALLATION.md)**.
128
105
 
129
- Log files are stored in a platform-specific location:
106
+ ## Features
130
107
 
131
- - **macOS**: `~/Library/Application Support/meta-ads-mcp/meta_ads_debug.log`
132
- - **Windows**: `%APPDATA%\meta-ads-mcp\meta_ads_debug.log`
133
- - **Linux**: `~/.config/meta-ads-mcp/meta_ads_debug.log`
108
+ - **AI-Powered Campaign Analysis**: Let your favorite LLM analyze your campaigns and provide actionable insights on performance
109
+ - **Strategic Recommendations**: Receive data-backed suggestions for optimizing ad spend, targeting, and creative content
110
+ - **Automated Monitoring**: Ask any MCP-compatible LLM to track performance metrics and alert you about significant changes
111
+ - **Budget Optimization**: Get recommendations for reallocating budget to better-performing ad sets
112
+ - **Creative Improvement**: Receive feedback on ad copy, imagery, and calls-to-action
113
+ - **Campaign Management**: Request changes to campaigns, ad sets, and ads (all changes require explicit confirmation)
114
+ - **Cross-Platform Integration**: Works with Facebook, Instagram, and all Meta ad platforms
115
+ - **Universal LLM Support**: Compatible with any MCP client including Claude Desktop, Cursor, Cherry Studio, and more
116
+ - **Simple Authentication**: Easy setup with secure OAuth authentication
117
+ - **Cross-Platform Support**: Works on Windows, macOS, and Linux
134
118
 
135
119
  ## Configuration
136
120
 
137
- ### Pipeboard Authentication
121
+ ### Remote MCP (Recommended)
138
122
 
139
- The easiest way to use Meta Ads MCP is with Pipeboard authentication:
140
-
141
- 1. Sign up at [Pipeboard.co](https://pipeboard.co) and generate an API token
142
- 2. Set the environment variable:
143
- ```bash
144
- export PIPEBOARD_API_TOKEN=your_pipeboard_token
145
- ```
146
- 3. Run meta-ads-mcp - it will handle authentication automatically
147
-
148
- ### Usage with Cursor or Claude Desktop
149
-
150
- Add this to your `claude_desktop_config.json` to integrate with Claude or `~/.cursor/mcp.json` to integrate with Cursor:
151
-
152
- ```json
153
- "mcpServers": {
154
- "meta-ads": {
155
- "command": "uvx",
156
- "args": ["meta-ads-mcp"],
157
- "env": {
158
- "PIPEBOARD_API_TOKEN": "your_pipeboard_token" // Get your token at https://pipeboard.co
159
- }
160
- }
161
- }
162
- ```
123
+ **[✨ Get started with Remote MCP here](https://pipeboard.co)** - no technical setup required! Just connect your Facebook Ads account and start asking AI to analyze your campaigns.
163
124
 
164
- ## Transports
125
+ ### Local Installation (Technical Users)
165
126
 
166
- Meta Ads MCP uses **stdio transport** by default, which works with MCP clients like Claude Desktop and Cursor. For web applications and direct HTTP API access, see [STREAMABLE_HTTP_SETUP.md](STREAMABLE_HTTP_SETUP.md) for streamable HTTP transport configuration.
127
+ For local installation configuration, authentication options, and advanced technical setup, see our **[Local Installation Guide](LOCAL_INSTALLATION.md)**.
167
128
 
168
129
  ### Available MCP Tools
169
130
 
@@ -376,3 +337,38 @@ Meta Ads MCP uses **stdio transport** by default, which works with MCP clients l
376
337
  - `time_end`: Unix timestamp for when the high demand period should end.
377
338
  - `access_token` (optional): Meta API access token.
378
339
  - Returns: JSON string with the ID of the created budget schedule or an error message.
340
+
341
+ ## Privacy and Security
342
+
343
+ Meta Ads MCP follows security best practices with secure token management and automatic authentication handling.
344
+
345
+ - **Remote MCP**: All authentication is handled securely in the cloud - no local token storage required
346
+ - **Local Installation**: Tokens are cached securely on your local machine - see [Local Installation Guide](LOCAL_INSTALLATION.md) for details
347
+
348
+ ## Testing
349
+
350
+ ### Basic Testing
351
+
352
+ Test your Meta Ads MCP connection with any MCP client:
353
+
354
+ 1. **Verify Account Access**: Ask your LLM to use `mcp_meta_ads_get_ad_accounts`
355
+ 2. **Check Account Details**: Use `mcp_meta_ads_get_account_info` with your account ID
356
+ 3. **List Campaigns**: Try `mcp_meta_ads_get_campaigns` to see your ad campaigns
357
+
358
+ For detailed local installation testing, see [Local Installation Guide](LOCAL_INSTALLATION.md).
359
+
360
+ ## Troubleshooting
361
+
362
+ ### 💡 Quick Fix: Skip the Technical Setup!
363
+
364
+ The easiest way to avoid any setup issues is to **[🎯 use our Remote MCP instead](https://pipeboard.co)**. No downloads, no configuration - just connect your ads account and start getting AI insights on your campaigns immediately!
365
+
366
+ ### Local Installation Issues
367
+
368
+ For comprehensive troubleshooting, debugging, and local installation issues, see our **[Local Installation Guide](LOCAL_INSTALLATION.md)** which includes:
369
+
370
+ - Authentication troubleshooting
371
+ - Installation issues and solutions
372
+ - API error resolution
373
+ - Debug logs and diagnostic commands
374
+ - Performance optimization tips
@@ -1,6 +1,6 @@
1
- meta_ads_mcp/__init__.py,sha256=k6KFlGKu2RuY7N8tuThfUV551Qe0giWO1lQSNinT-V0,1236
1
+ meta_ads_mcp/__init__.py,sha256=eWjCQD9tlMl8HRDeUmrjlU0YxKfIjzyI00LB6SPO_VI,1237
2
2
  meta_ads_mcp/__main__.py,sha256=XaQt3iXftG_7f0Zu7Wop9SeFgrD2WBn0EQOaPMc27d8,207
3
- meta_ads_mcp/core/__init__.py,sha256=NvRA_socbKPEXFXIYdso5jBHb8cEEpF_2Mwhe3Obguw,1105
3
+ meta_ads_mcp/core/__init__.py,sha256=J9vO4rweKb9J-os2maiUy2R4gZGUH4bDSszLDqDCY6w,1174
4
4
  meta_ads_mcp/core/accounts.py,sha256=Nmp7lPxO9wmq25jWV7_H0LIqnEbBhpCVBlLGW2HUaq0,2277
5
5
  meta_ads_mcp/core/ads.py,sha256=b_81GlGHIM4jISvuDZmHNyc6uW7uD3ovX68ezBci9MM,29747
6
6
  meta_ads_mcp/core/ads_library.py,sha256=onStn9UkRqYDC60gOPS-iKDtP1plz6DygUb7hUZ0Jw8,2807
@@ -14,11 +14,12 @@ meta_ads_mcp/core/campaigns.py,sha256=Fd477GsD1Gx08Ve0uXUCvr4fC-xQCeVHPBwRVaeRQK
14
14
  meta_ads_mcp/core/http_auth_integration.py,sha256=ZJHuxK1Kwtr9gvwfC5HZOLH5MW-HnDDKqJc4xuG5yVE,10060
15
15
  meta_ads_mcp/core/insights.py,sha256=XAm4uu83gWp84PEGqAJ3GFIqlvg7prh6MdD71JfvBCo,18072
16
16
  meta_ads_mcp/core/pipeboard_auth.py,sha256=VvbxEB8ZOhnMccLU7HI1HgaPWHCl5NGrzZCm-zzHze4,22798
17
+ meta_ads_mcp/core/reports.py,sha256=Dv3hfsPOR7IZ9WrYrKd_6SNgZl-USIphg7knva3UYAw,5747
17
18
  meta_ads_mcp/core/resources.py,sha256=-zIIfZulpo76vcKv6jhAlQq91cR2SZ3cjYZt3ek3x0w,1236
18
- meta_ads_mcp/core/server.py,sha256=PmoJBuMi1PbUvF-IWxFb7uaO_yiEdMH4KcFnFiNhwk0,17574
19
+ meta_ads_mcp/core/server.py,sha256=mmhtcyB7h1aO6jK4njLztPdAebPDmc3mhA7DksR1nlY,17583
19
20
  meta_ads_mcp/core/utils.py,sha256=DsizDYuJnWUpkbShV1y5Qe8t47Qf59aPZ6O9v0hzdkY,6705
20
- meta_ads_mcp-0.3.8.dist-info/METADATA,sha256=dqvQ1zpwldGTqpkcCH9uicMOOkM9C2lziTdlNAnjW0g,16913
21
- meta_ads_mcp-0.3.8.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
22
- meta_ads_mcp-0.3.8.dist-info/entry_points.txt,sha256=Dv2RkoBjRJBqj6CyhwqGIiwPCD-SCL1-7B9-zmVRuv0,57
23
- meta_ads_mcp-0.3.8.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
24
- meta_ads_mcp-0.3.8.dist-info/RECORD,,
21
+ meta_ads_mcp-0.3.10.dist-info/METADATA,sha256=FVmGFp-HjIv-9Sev49l29O8Uk69aKVh20wCEAZ1uXlQ,17535
22
+ meta_ads_mcp-0.3.10.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
23
+ meta_ads_mcp-0.3.10.dist-info/entry_points.txt,sha256=Dv2RkoBjRJBqj6CyhwqGIiwPCD-SCL1-7B9-zmVRuv0,57
24
+ meta_ads_mcp-0.3.10.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
25
+ meta_ads_mcp-0.3.10.dist-info/RECORD,,