meta-ads-mcp 1.0.1__tar.gz → 1.0.2__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.

Files changed (81) hide show
  1. meta_ads_mcp-1.0.2/.github/workflows/publish-mcp.yml +68 -0
  2. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/PKG-INFO +3 -1
  3. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/README.md +2 -0
  4. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/meta_ads_mcp/__init__.py +1 -1
  5. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/pyproject.toml +1 -1
  6. meta_ads_mcp-1.0.2/server.json +23 -0
  7. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/.github/workflows/publish.yml +0 -0
  8. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/.github/workflows/test.yml +0 -0
  9. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/.gitignore +0 -0
  10. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/CUSTOM_META_APP.md +0 -0
  11. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/Dockerfile +0 -0
  12. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/LICENSE +0 -0
  13. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/LOCAL_INSTALLATION.md +0 -0
  14. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/META_API_NOTES.md +0 -0
  15. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/RELEASE.md +0 -0
  16. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/STREAMABLE_HTTP_SETUP.md +0 -0
  17. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/examples/README.md +0 -0
  18. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/examples/example_http_client.py +0 -0
  19. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/future_improvements.md +0 -0
  20. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/images/meta-ads-example.png +0 -0
  21. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/meta_ads_auth.sh +0 -0
  22. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/meta_ads_mcp/__main__.py +0 -0
  23. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/meta_ads_mcp/core/__init__.py +0 -0
  24. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/meta_ads_mcp/core/accounts.py +0 -0
  25. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/meta_ads_mcp/core/ads.py +0 -0
  26. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/meta_ads_mcp/core/ads_library.py +0 -0
  27. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/meta_ads_mcp/core/adsets.py +0 -0
  28. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/meta_ads_mcp/core/api.py +0 -0
  29. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/meta_ads_mcp/core/auth.py +0 -0
  30. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/meta_ads_mcp/core/authentication.py +0 -0
  31. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/meta_ads_mcp/core/budget_schedules.py +0 -0
  32. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/meta_ads_mcp/core/callback_server.py +0 -0
  33. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/meta_ads_mcp/core/campaigns.py +0 -0
  34. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/meta_ads_mcp/core/duplication.py +0 -0
  35. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/meta_ads_mcp/core/http_auth_integration.py +0 -0
  36. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/meta_ads_mcp/core/insights.py +0 -0
  37. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/meta_ads_mcp/core/openai_deep_research.py +0 -0
  38. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/meta_ads_mcp/core/pipeboard_auth.py +0 -0
  39. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/meta_ads_mcp/core/reports.py +0 -0
  40. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/meta_ads_mcp/core/resources.py +0 -0
  41. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/meta_ads_mcp/core/server.py +0 -0
  42. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/meta_ads_mcp/core/targeting.py +0 -0
  43. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/meta_ads_mcp/core/utils.py +0 -0
  44. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/requirements.txt +0 -0
  45. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/setup.py +0 -0
  46. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/smithery.yaml +0 -0
  47. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/README.md +0 -0
  48. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/README_REGRESSION_TESTS.md +0 -0
  49. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/__init__.py +0 -0
  50. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/conftest.py +0 -0
  51. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/e2e_account_info_search_issue.py +0 -0
  52. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_account_info_access_fix.py +0 -0
  53. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_account_search.py +0 -0
  54. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_budget_update.py +0 -0
  55. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_budget_update_e2e.py +0 -0
  56. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_dsa_beneficiary.py +0 -0
  57. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_dsa_integration.py +0 -0
  58. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_duplication.py +0 -0
  59. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_duplication_regression.py +0 -0
  60. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_dynamic_creatives.py +0 -0
  61. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_estimate_audience_size.py +0 -0
  62. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_estimate_audience_size_e2e.py +0 -0
  63. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_get_account_pages.py +0 -0
  64. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_get_ad_creatives_fix.py +0 -0
  65. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_get_ad_image_quality_improvements.py +0 -0
  66. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_get_ad_image_regression.py +0 -0
  67. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_http_transport.py +0 -0
  68. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_insights_actions_and_values_e2e.py +0 -0
  69. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_insights_pagination.py +0 -0
  70. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_integration_openai_mcp.py +0 -0
  71. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_is_dynamic_creative_adset.py +0 -0
  72. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_mobile_app_adset_creation.py +0 -0
  73. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_mobile_app_adset_issue.py +0 -0
  74. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_openai.py +0 -0
  75. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_openai_mcp_deep_research.py +0 -0
  76. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_page_discovery.py +0 -0
  77. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_page_discovery_integration.py +0 -0
  78. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_targeting.py +0 -0
  79. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_targeting_search_e2e.py +0 -0
  80. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_update_ad_creative_id.py +0 -0
  81. {meta_ads_mcp-1.0.1 → meta_ads_mcp-1.0.2}/tests/test_upload_ad_image.py +0 -0
@@ -0,0 +1,68 @@
1
+ name: Publish to MCP Registry
2
+
3
+ on:
4
+ push:
5
+ tags: ["v*"]
6
+
7
+ jobs:
8
+ publish:
9
+ runs-on: ubuntu-latest
10
+ permissions:
11
+ id-token: write
12
+ contents: read
13
+
14
+ steps:
15
+ - name: Checkout code
16
+ uses: actions/checkout@v5
17
+
18
+ - name: Set up Python
19
+ uses: actions/setup-python@v5
20
+ with:
21
+ python-version: "3.12"
22
+
23
+ - name: Install uv
24
+ uses: astral-sh/setup-uv@v5
25
+
26
+ - name: Install dependencies
27
+ run: |
28
+ uv sync --all-extras --dev
29
+
30
+ - name: Run tests
31
+ run: |
32
+ uv run pytest -q
33
+
34
+ - name: Build wheel
35
+ run: |
36
+ uv build
37
+
38
+ - name: Validate server.json against schema
39
+ run: |
40
+ uv run python - <<'PY'
41
+ import json, sys, urllib.request
42
+ from jsonschema import validate
43
+ from jsonschema.exceptions import ValidationError
44
+ server = json.load(open('server.json'))
45
+ schema_url = server.get('$schema')
46
+ with urllib.request.urlopen(schema_url) as r:
47
+ schema = json.load(r)
48
+ try:
49
+ validate(instance=server, schema=schema)
50
+ except ValidationError as e:
51
+ print('Schema validation failed:', e, file=sys.stderr)
52
+ sys.exit(1)
53
+ print('server.json is valid')
54
+ PY
55
+
56
+ - name: Install MCP Publisher
57
+ run: |
58
+ curl -L "https://github.com/modelcontextprotocol/registry/releases/download/v1.0.0/mcp-publisher_1.0.0_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" | tar xz mcp-publisher
59
+
60
+ - name: Login to MCP Registry (DNS auth)
61
+ run: |
62
+ echo "${{ secrets.MCP_PRIVATE_KEY }}" > key.pem
63
+ ./mcp-publisher login dns --domain pipeboard.co --private-key-file key.pem
64
+ shred -u key.pem || rm -f key.pem
65
+
66
+ - name: Publish to MCP Registry
67
+ run: ./mcp-publisher publish
68
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: meta-ads-mcp
3
- Version: 1.0.1
3
+ Version: 1.0.2
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
@@ -31,6 +31,8 @@ A [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server for in
31
31
 
32
32
  [![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)
33
33
 
34
+ <!-- mcp-name: co.pipeboard/meta-ads-mcp -->
35
+
34
36
  ## Community & Support
35
37
 
36
38
  - [Discord](https://discord.gg/YzMwQ8zrjr). Join the community.
@@ -6,6 +6,8 @@ A [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server for in
6
6
 
7
7
  [![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)
8
8
 
9
+ <!-- mcp-name: co.pipeboard/meta-ads-mcp -->
10
+
9
11
  ## Community & Support
10
12
 
11
13
  - [Discord](https://discord.gg/YzMwQ8zrjr). Join the community.
@@ -6,7 +6,7 @@ This package provides a Meta Ads MCP integration
6
6
 
7
7
  from meta_ads_mcp.core.server import main
8
8
 
9
- __version__ = "1.0.1"
9
+ __version__ = "1.0.2"
10
10
 
11
11
  __all__ = [
12
12
  'get_ad_accounts',
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "meta-ads-mcp"
7
- version = "1.0.1"
7
+ version = "1.0.2"
8
8
  description = "Model Context Protocol (MCP) server for interacting with Meta Ads API"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "https://static.modelcontextprotocol.io/schemas/2025-09-16/server.schema.json",
3
+ "name": "co.pipeboard/meta-ads-mcp",
4
+ "description": "Facebook / Meta Ads automation with AI: analyze performance, test creatives, optimize spend.",
5
+ "version": "1.0.1",
6
+ "packages": [
7
+ {
8
+ "registryType": "pypi",
9
+ "identifier": "meta-ads-mcp",
10
+ "version": "1.0.1",
11
+ "transport": {
12
+ "type": "stdio"
13
+ }
14
+ }
15
+ ],
16
+ "remotes": [
17
+ {
18
+ "type": "streamable-http",
19
+ "url": "https://mcp.pipeboard.co/meta-ads-mcp"
20
+ }
21
+ ]
22
+ }
23
+
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes