meta-ads-mcp 1.0.3__tar.gz → 1.0.4__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.
Potentially problematic release.
This version of meta-ads-mcp might be problematic. Click here for more details.
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/PKG-INFO +1 -1
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/meta_ads_mcp/__init__.py +1 -1
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/pyproject.toml +1 -1
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/server.json +2 -2
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_openai.py +4 -2
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/.github/workflows/publish-mcp.yml +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/.github/workflows/publish.yml +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/.github/workflows/test.yml +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/.gitignore +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/CUSTOM_META_APP.md +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/Dockerfile +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/LICENSE +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/LOCAL_INSTALLATION.md +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/META_API_NOTES.md +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/README.md +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/RELEASE.md +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/STREAMABLE_HTTP_SETUP.md +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/examples/README.md +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/examples/example_http_client.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/future_improvements.md +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/images/meta-ads-example.png +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/meta_ads_auth.sh +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/meta_ads_mcp/__main__.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/meta_ads_mcp/core/__init__.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/meta_ads_mcp/core/accounts.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/meta_ads_mcp/core/ads.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/meta_ads_mcp/core/ads_library.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/meta_ads_mcp/core/adsets.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/meta_ads_mcp/core/api.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/meta_ads_mcp/core/auth.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/meta_ads_mcp/core/authentication.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/meta_ads_mcp/core/budget_schedules.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/meta_ads_mcp/core/callback_server.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/meta_ads_mcp/core/campaigns.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/meta_ads_mcp/core/duplication.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/meta_ads_mcp/core/http_auth_integration.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/meta_ads_mcp/core/insights.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/meta_ads_mcp/core/openai_deep_research.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/meta_ads_mcp/core/pipeboard_auth.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/meta_ads_mcp/core/reports.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/meta_ads_mcp/core/resources.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/meta_ads_mcp/core/server.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/meta_ads_mcp/core/targeting.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/meta_ads_mcp/core/utils.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/requirements.txt +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/setup.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/smithery.yaml +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/README.md +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/README_REGRESSION_TESTS.md +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/__init__.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/conftest.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/e2e_account_info_search_issue.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_account_info_access_fix.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_account_search.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_budget_update.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_budget_update_e2e.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_dsa_beneficiary.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_dsa_integration.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_duplication.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_duplication_regression.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_dynamic_creatives.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_estimate_audience_size.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_estimate_audience_size_e2e.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_get_account_pages.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_get_ad_creatives_fix.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_get_ad_image_quality_improvements.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_get_ad_image_regression.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_http_transport.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_insights_actions_and_values_e2e.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_insights_pagination.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_integration_openai_mcp.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_is_dynamic_creative_adset.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_mobile_app_adset_creation.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_mobile_app_adset_issue.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_openai_mcp_deep_research.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_page_discovery.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_page_discovery_integration.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_targeting.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_targeting_search_e2e.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_update_ad_creative_id.py +0 -0
- {meta_ads_mcp-1.0.3 → meta_ads_mcp-1.0.4}/tests/test_upload_ad_image.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: meta-ads-mcp
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.4
|
|
4
4
|
Summary: Model Context Protocol (MCP) server 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
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-09-16/server.schema.json",
|
|
3
3
|
"name": "co.pipeboard/meta-ads-mcp",
|
|
4
4
|
"description": "Facebook / Meta Ads automation with AI: analyze performance, test creatives, optimize spend.",
|
|
5
|
-
"version": "1.0.
|
|
5
|
+
"version": "1.0.4",
|
|
6
6
|
"packages": [
|
|
7
7
|
{
|
|
8
8
|
"registryType": "pypi",
|
|
9
9
|
"identifier": "meta-ads-mcp",
|
|
10
|
-
"version": "1.0.
|
|
10
|
+
"version": "1.0.4",
|
|
11
11
|
"transport": {
|
|
12
12
|
"type": "stdio"
|
|
13
13
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
from openai import OpenAI
|
|
2
1
|
import os
|
|
3
2
|
import pytest
|
|
4
3
|
|
|
4
|
+
# Skip this test entirely if the optional 'openai' dependency is not installed
|
|
5
|
+
openai = pytest.importorskip("openai", reason="openai package not installed")
|
|
6
|
+
|
|
5
7
|
|
|
6
8
|
@pytest.mark.skipif(
|
|
7
9
|
not os.getenv("PIPEBOARD_API_TOKEN"),
|
|
@@ -9,7 +11,7 @@ import pytest
|
|
|
9
11
|
)
|
|
10
12
|
def test_openai_mcp_integration():
|
|
11
13
|
"""Test OpenAI integration with Meta Ads MCP via Pipeboard."""
|
|
12
|
-
client = OpenAI()
|
|
14
|
+
client = openai.OpenAI()
|
|
13
15
|
|
|
14
16
|
resp = client.responses.create(
|
|
15
17
|
model="gpt-4.1",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|