OSMOS Marketing API MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_endpointsA | List all available API endpoints in the OSMOS Marketing API registry with their methods and paths. |
| get_service_detailsA | Get the OSMOS Marketing API service definition including base URL, authentication requirements, and campaign hierarchy. |
| get_endpoint_definitionA | Get the full OpenAPI-derived definition for a specific endpoint by id (request/response schemas, params, examples). |
| create_spa_campaignB | Create a new Sponsored Products Advertising (SPA) campaign. Creates a new SPA campaign with specified budget settings, bidding strategy, and campaign type. Supports AVERAGE_DAILY_BUDGET (default) and LIFETIME_BUDGET types. |
| list_spa_campaignsA | List all SPA campaigns for an advertiser with pagination and optional status filter. Returns a paginated list of campaigns. Supports filtering by status (ACTIVE, PAUSED). Offset and limit are required for pagination. |
| get_spa_campaign_by_idA | Retrieve a specific SPA campaign by its ID. Returns the campaign details including budget settings, bidding strategy, dates, and status. |
| update_spa_campaignA | Update an existing SPA campaign. All fields are optional — send only the fields you want to change. To change the campaign's bidding strategy, send bidding_strategy.type. Switches are only allowed within the same bid-mode family — CPC family: MANUAL_CPC, MAX_PERFORMANCE_CPC, ROAS; CPM family: MANUAL |
| create_update_product_set_for_campaignC | Create or update the product set for a campaign. Creates or updates the product set for a campaign. When products are selected within product sets, each product will function as an individual product ad. Supports AUTO mode (backend auto-selects products) and MANUAL mode (explicit product list). |
| get_product_set_for_campaignA | Retrieve the product set for a campaign. Returns the product set configured for a campaign. Response is either a MANUAL product set (with explicit product list) or an AUTO product set. |
| create_update_positive_keyword_settings_for_campaignB | Create or update positive keyword settings for a campaign. Creates or updates positive keyword settings for a campaign. Each keyword entry is either a create (no id) or an update (id required; keyword and match_type forbidden). To update a keyword, first fetch keywords via GET to obtain the keyword |
| get_positive_keyword_settings_for_campaignA | Retrieve the positive keyword settings for a campaign. Returns the list of positive keywords for a campaign. Use this endpoint to fetch keyword ids before updating keyword bids or status. |
| create_update_negative_keyword_settings_for_campaignA | Create or update negative keyword settings for a campaign. Creates or updates negative keyword settings for a campaign. Each keyword entry is either a create (no id) or an update (id and status required; keyword, match_type, and bid_value forbidden). BROAD match type is not allowed for negative keyw |
| get_negative_keyword_settings_for_campaignA | Retrieve the negative keyword settings for a campaign. Returns the list of negative keywords for a campaign. Use this endpoint to fetch negative keyword ids before updating their status. |
| create_update_category_bids_for_campaignB | Create or update category bids for a campaign. Creates or updates the category bid settings for a campaign. When mode=MANUAL, the category_bids array is required. When mode=AUTO, the category_bids array is forbidden. |
| get_category_bids_for_campaignA | Retrieve the category bids for a campaign. Returns the list of category bids for a campaign, including spend, revenue, ROI, current bid value, and allowed/recommended bid ranges. |
| save_campaign_network_settingsA | Save the networks a Sponsored Products campaign targets. Saves the networks a Sponsored Products campaign targets. Each call replaces the previously saved set; include every network the campaign should target. A campaign_id that does not exist for the advertiser returns 404 with code RESOURCE_NOT_FO |
| get_campaign_network_settingsB | Get the networks a Sponsored Products campaign targets. Returns the networks a Sponsored Products campaign targets. A network is a retailer serving surface, such as a country-specific site or a storefront of the same retailer. A campaign with no saved network settings returns an empty networks array |
| get_campaign_forecastA | Get forecast for a campaign. Returns the forecast for a campaign based on its current or overridden budget. Forecasting is not supported for LIFETIME_BUDGET campaigns. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| campaign-hierarchy |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| service-definition | |
| endpoints-index |
TDQS
Scored across 18 tools
Each tool targets a distinct resource and action, from API introspection to campaign and sub-resource management. Even the create_update tools are clearly separated by resource type (product set, keywords, category bids).
Most tools follow a consistent verb_noun pattern (create_, list_, get_, update_), but 'save_campaign_network_settings' breaks the pattern by using 'save' instead of 'create_update'. The combined 'create_update' verbs are somewhat unusual but applied consistently.
At 18 tools, the server is within the 16-25 range that feels heavy per calibration. Each tool covers a specific endpoint, but the count is on the higher end for an MCP server.
The tool set covers the campaign lifecycle and all major sub-entities (product sets, keywords, bids, networks, forecast) well. However, there is no delete_campaign tool, which is a notable gap for a CRUD-like surface.