{"title":"Supermetrics MCP Changelog","format":"markdown","content":"# Changelog\n\nAll notable changes to the Supermetrics MCP server will be documented in this file.\n\n<!-- next-release -->\n\n## [1.4.5] - 2026-05-27\n\n### Removed\n\n- **Logout action** — removed the `logout` action from the `manage_user_and_team` tool.\n\n## [1.4.4] - 2026-05-27\n\n### Added\n\n- **AI image generation in asset picker** — the AI Generate tab is now available for all clients, including Claude.\n\n## [1.4.3] - 2026-05-24\n\n### Added\n\n- **Structured output for all tools**\n\n## [1.4.2] - 2026-05-24\n\n### Added\n\n- **Structured output for query tools** — `data_query` and `get_async_query_results` now declare their response shape via MCP `outputSchema`, so clients know the expected fields (schedule_id, status, data rows, error) at discovery time. Responses include typed `structuredContent` alongside the text content for backwards compatibility.\n\n## [1.4.0] - 2026-05-22\n\n### Added\n\n- **Team management tool** — new `manage_user_and_team` tool replaces `user_info` with expanded capabilities. Use `action` parameter to:\n  - `get_info` — get your profile, license, team members, pending invitations, and other teams you belong to\n  - `invite_member` — invite someone to your team by email and role\n  - `login_data_source` — get a login link for a data source\n- The previous `user_info` tool continues to work for existing sessions.\n\n## [1.3.4] - 2026-05-20\n\n### Changed\n\n- **Data source configuration** — large option lists for countries, timezones, currencies, and languages are now replaced with concise descriptions of accepted values, significantly reducing response size. When the same option list appears across multiple report types, it is included once and referenced by pointer.\n\n## [1.2.21] - 2026-05-19\n\n### Added\n\n- **Campaign forecast tool** — estimate ad performance at different spend levels before creating a campaign. Supports Google Ads (keyword forecasts) and Facebook Ads (audience reach estimates).\n\n## [1.2.20] - 2026-05-18\n\n### Added\n\n- ChatGPT Ads integration: you can now create and update ChatGPT Ads campaigns, and fetch data about them.\n\n## [1.2.18] - 2026-05-18\n\n### Added\n\n- Data source discovery now supports a `filter` parameter for narrowing results. If exactly one data source matches, its full configuration is returned automatically.\n\n## [1.2.11] - 2026-05-09\n\n### Added\n\n- Support for Meta's Advantage+ Audience with expand_audience parameter.\n\n## [1.2.10] - 2026-05-08\n\n### Added\n\n- Query results now include a note when dimensions were requested after metrics, since the API always returns dimensions first regardless of request order.\n\n## [1.2.1] - 2026-05-07\n\n### Added\n\n- Asset picker UI for creating ad creatives.\n\n## [1.1.23] - 2026-05-05\n\n### Changed\n- Account discovery no longer returns ds_user or ds_user_display_name.\n\n## [1.1.21] - 2026-05-05\n\n### Added\n- Account discovery now returns `tags` when present, and the `filter` parameter matches against tag values.\n\n### Changed\n- Account discovery only returns group name and currency if they are not empty.\n\n## [1.1.11] - 2026-04-28\n\n### Added\n- **Posts resource type** — list Facebook Page posts that can be promoted as ads via `resource_type='posts'`. Optionally pass `page_id` to pick a specific page, or let it auto-select the first available one.\n\n## [1.1.8] - 2026-04-26\n\n### Added\n\n- New \"Create Campaign\" prompt to guide you through setting up an ad campaign step by step. Optionally specify the ad platform upfront, or let it ask you.\n\n### Fixed\n\n- Pre-defined starter prompts were returning garbled JSON instead of plain text due to a serialization bug. They now work as intended.\n\n## [1.0.6] - 2026-04-17\n\n### Added\n\n- Targeting search now supports LinkedIn Ads — search for interests, industries, job titles, employers, schools, fields of study, skills, degrees, seniorities, and job functions. Six targeting types (interest, industry, school, field_of_study, employer, job_title) now work across both Meta Ads and LinkedIn Ads.\n\n## [1.0.1] - 2026-04-16\n\n### Fixed\n\n- Health check for Facebook Ads was returning ad set IDs instead of campaign IDs due to a legacy field naming mismatch (`campaign_id` = ad set in FA). This caused subsequent campaign detail requests to fail with \"nonexisting field (objective)\".\n- Campaign tools now show a login link when a data source account is not connected, instead of returning a raw \"NO_TOKEN_FOR_ACCOUNT\" error. This matches the behavior already present in data query and account discovery tools.\n\n## [1.0.0] - 2026-04-15\n\n### Changed\n\n- Supermetrics MCP server is out of beta. Starting from this release, the project follows semantic versioning: major versions for breaking changes, minor versions for new features, and patch versions for bug fixes.\n\n## [0.18.5] - 2026-04-14\n\n### Added\n\n- Campaign management now supports LinkedIn Ads (LIA) — create, update, and manage LinkedIn campaigns alongside Google Ads, Meta Ads, Microsoft Ads, and TikTok Ads.\n\n## [0.18.3] - 2026-04-14\n\n### Changed\n\n- Bearer tokens must now use a recognised prefix (`api_` or `otok_`). Tokens with other formats are rejected with 401 instead of being passed to the downstream API.\n\n## [0.18.2] - 2026-04-14\n\n### Fixed\n\n- In some cases, we were caching data query errors, which caused them to be returned repeatedly, even if the underlying issue was fixed. We no longer cache errors.\n\n## [0.18.1] - 2026-04-14\n\n### Added\n\n- `campaign_create` and `campaign_update` tools now accept an optional `url_tags` parameter for campaign-level URL tracking parameters.\n\n### Changed\n\n- Campaign management tools beta is now opened to everyone: `campaign_create`, `campaign_update`, and `campaign_and_resource_get`.\n- Queries without date parameters no longer default to `last_30_days`; the API handles defaults server-side\n\n### Fixed\n\n- Date range types not in the hardcoded whitelist (e.g. `last_31_days`) are now passed through to the API correctly instead of being silently replaced with `last_30_days`\n\n## [0.17.5] - 2026-04-13\n\n### Fixed\n\n- Field discovery filter now matches against report type names (e.g., filtering by 'Posts' returns fields belonging to that report type)\n\n### Fixed\n\n- `get_async_query_results` now correctly signals expired OAuth tokens so clients can refresh automatically, instead of returning a generic error.\n\n## [0.17.4] - 2026-04-11\n\n### Added\n\n- Amazon Ads data source\n\n## [0.15.13] - 2026-04-02\n\n### Added\n\n- New campaign management tools in beta: `campaign_create`, `campaign_update`, and `campaign_and_resource_get`. Create, update, and manage advertising campaigns on Google Ads, Meta Ads, Microsoft Ads, and TikTok Ads directly from conversations. Includes ad group/ad set and ad creation, targeting, extensions, image and video creatives (including AI-generated images), and a full change history with undo support. This functionality will be available for everyone soon; to get access to the beta, please contact Supermetrics support or your customer success contact.\n\n## [0.15.8] - 2026-03-31\n\n### Added\n\n- Data Blending and Semrush Analytics are now available as data sources.\n\n### Changed\n\n- The list of available data sources now reflects your team's actual access, including invite-only and early access sources you've been granted. The list also includes any private connectors your team owns, distinguished by the `is_private` property. Previously, some sources your team had access to may not have appeared.\n- Data source list responses are now leaner: the `status` field is only included for non-released sources (e.g. \"Early access\", \"Invite only\"). The values are now in proper case instead of all caps. The same for categories: `Paid media` instead of `PAID_MEDIA`.\n\n## [0.15.7] - 2026-03-31\n\n### Added\n\n- New `sales` contact type in `contact_supermetrics` tool for submitting sales enquiries and demo requests via HubSpot.\n\n## [0.15.6] - 2026-03-30\n\n### Changed\n\n- The `filter` parameter in `field_discovery` and `accounts_discovery` now supports multiple comma-separated values (e.g. `\"click,impression\"`), returning items matching any of them.\n\n## [0.15.1] - 2026-03-23\n\n### Added\n\n- New `contact_supermetrics` tool: send product feedback or create support tickets directly from conversations.\n\n## [0.14.6] - 2026-03-18\n\n### Added\n\n- New optional `max_rows` parameter for data queries. Defaults to 1000 if not specified. Increase to retrieve larger datasets (up to 10,000 recommended).\n\n## [0.14.5] - 2026-03-18\n\n### Added\n\n- New `filter` parameter for field discovery: case-insensitive text search across field ID, name, description, group, and type. Replaces the `field_type` parameter, which still works for backward compatibility.\n\n### Changed\n\n- Field discovery now returns report types as compact integer indices with a `report_type_legend` array, reducing response size for data sources with many report types.\n\n## [0.14.3] - 2026-03-16\n\n### Added\n\n- Public `/datasources` endpoint listing available connectors.\n\n## [0.14.2] - 2026-03-16\n\n### Changed\n\n- All responses now include `trace_id` in metadata for easier request correlation in support scenarios.\n\n### Fixed\n\n- Tool responses now include the correct server version in metadata.\n- Supermetrics OAuth errors are now always raised as 401 to ensure MCP clients trigger token refresh.\n\n## [0.13.8] - 2026-03-11\n\n### Fixed\n\n- Data queries no longer fail when `report_type` is included for data sources that don't support report type selection.\n- Error messages for unknown fields, incompatible field combinations, and invalid report types now include actionable guidance (e.g. \"call field_discovery\") instead of returning raw API errors.\n\n## [0.13.3] - 2026-03-06\n\n### Added\n\n- Data queries now return a login link when authentication is missing, so users can connect directly from the error message.\n\n### Changed\n\n- Auto-connection creation for no-auth data sources is now dynamic — any connector with `authentication_status: NOT_REQUIRED` is supported, not just a hardcoded list.\n\n## [0.13.1] - 2026-03-06\n\n### Added\n\n- Support for 118 new data sources.\n\n\n## [0.13.0] - 2026-03-05\n\n### Changed\n\n- Tool response notes are now returned as a `notes` array instead of a single `note` string.\n\n## [0.12.9] - 2026-03-05\n\n### Fixed\n\n- Direct tool endpoint (`POST /mcp/{tool_name}`) now correctly handles the settings parameter.\n- Data queries now rescue misplaced settings (e.g. `country`, `list_type`) from root-level parameters into the `settings` object automatically.\n\n## [0.12.4] - 2026-03-04\n\n### Added\n\n- Trace ID in error responses — when a tool call fails, the response now includes a trace ID that users can provide to Supermetrics support for faster troubleshooting.\n\n## [0.12.0] - 2026-03-03\n\n### Added\n\n- Config mode for data source discovery — passing a `ds_id` now returns full data source configuration (capabilities, report types, settings).\n- Authentication status checks with login link generation for unconnected data sources.\n- 10 new data sources: Facebook Pages, Apple Search Ads, Adobe Analytics, Callrail, Google Trends, Instagram Public Data, Snapchat, Taboola, YouTube.\n- Report types included in field discovery output for multi-report-type data sources.\n- Contextual account hints in data query error responses.\n- For some data sources, report type property to field discovery to indicate which fields are compatible.\n\n### Changed\n\n- `ds_accounts` and `fields` are now optional in data queries, supporting data sources that don't require them.\n- Updated tool descriptions to guide agents through a config-driven workflow.\n\n## [0.11.3] - 2026-03-02\n\n### Added\n\n- Filter parameter for account discovery to narrow results by keyword.\n\n## [0.11.2] - 2026-03-02\n\n### Changed\n\n- Improved subtitle for data query tool responses.\n\n## [0.11.1] - 2026-02-26\n\n### Added\n\n- Purchase note on license error responses to guide users toward resolving access issues.\n\n### Changed\n\n- Improved tool titles across all tools for clearer agent integration.\n\n## [0.11.0] - 2026-02-25\n\n### Added\n\n- authentication_status property to data source discovery, with values AUTHENTICATED, NOT_AUTHENTICATED and NOT_REQUIRED.\n\n## [0.10.0] - 2026-02-18\n\n### Added\n\n- Prompts.\n- Title, subtitle and source_url properties to all tool responses.\n"}