Beaconed MCP Server
OfficialThis MCP server lets you manage Beaconed products, AI optimizations, scores, settings, and webhooks via natural language tools.
Products: list, get details, create, update, sync from Shopify, queue optimization, recalculate scores.
Optimizations: list/get AI-generated content suggestions, approve, reject, apply, or revert changes (some destructive).
Scores: view readiness scores across products and per-product score history.
Settings: retrieve account optimization settings (brand voice, keywords, auto-push).
Webhooks: list/get/create/update/delete/test webhook subscriptions and see available event types.
Bulk operations: queue optimization for multiple products at once.
Filters and pagination: most read tools support filtering by status, grade, score, field, date, etc.
Rate limits: many mutation tools are rate-limited to 10 requests/min.
Allows triggering Shopify syncs for products and managing product data and AI optimizations through the Beaconed API.
@beaconed/mcp
MCP server exposing the Beaconed v1 API to Claude Desktop, Cursor, and any MCP-compatible client. Ask Claude to list your products, queue optimizations, approve AI-generated copy, and manage webhooks — all via natural language.
Requires Node.js 22 or later.
Install
npm install -g @beaconed/mcpRelated MCP server: Bloghunch MCP Server
Setup
Add to your Claude Desktop claude_desktop_config.json:
{
"mcpServers": {
"beaconed": {
"command": "beaconed-mcp",
"env": {
"BEACONED_API_KEY": "your-api-key"
}
}
}
}Get your API key at beaconed.ai under Settings > API Keys.
Set BEACONED_BASE_URL to override the default https://beaconed.ai (useful for local dev or staging).
Tools
Read tools
beaconed_products_list— list products with filters for status, score, grade, and title searchbeaconed_products_get— full product detail including images, score history, and latest optimizationbeaconed_products_scores— score history for a specific productbeaconed_products_optimizations— list optimizations scoped to a productbeaconed_optimizations_list— list all AI-generated optimizations across all productsbeaconed_optimizations_get— full optimization detail (original vs. suggested content)beaconed_scores_list— readiness scores across all productsbeaconed_scores_latest— latest score per productbeaconed_settings_get— account optimization settings (brand voice, keywords, auto-push config)beaconed_webhooks_list— list webhook subscriptionsbeaconed_webhooks_get— webhook detail including last error infobeaconed_webhooks_events— global catalog of all available webhook event types
Mutation tools
beaconed_products_create— create a product from external (non-Shopify) databeaconed_products_update— update product fields (partial update)beaconed_products_sync— refresh all products in the selected product’s shop from Shopify (rate limit: 10 requests/min)beaconed_products_optimize— queue AI optimization for one or more product fields (rate limit: 10 requests/min)beaconed_products_calculate_score— recalculate readiness score for a product (rate limit: 10 requests/min)beaconed_optimizations_approve— approve a pending optimization; can publish live content when auto-push is enabled (rate limit: 10 requests/min)beaconed_optimizations_reject— reject a pending optimization with an optional reasonbeaconed_optimizations_apply— request application of an approved optimization to the live product (DESTRUCTIVE, rate limit: 10 requests/min)beaconed_optimizations_revert— request reversion of an applied optimization to original content (DESTRUCTIVE, rate limit: 10 requests/min)beaconed_webhooks_create— create a webhook subscription (signing secret returned once only)beaconed_webhooks_update— update a webhook URL, events, or statusbeaconed_webhooks_delete— permanently remove a webhook subscription (DESTRUCTIVE)beaconed_webhooks_test— send a test event to verify deliverybeaconed_bulk_optimize— queue AI optimization for multiple products in one request (rate limit: 10 requests/min)
This package uses stdio and requires Node.js 20+. Tools operate on the account associated with BEACONED_API_KEY.
Optimization uses account credits; the request limit above is a rate limit, not a price. Queue acceptance does not confirm completion. Read product or optimization details to check the result. Approval can publish immediately or queue a Shopify write when auto_push_on_approve is enabled; inspect account settings and the proposed content before approving. Applying or reverting can replace live content.
Tool annotations describe read-only, replacement, repeat-call, and external-system effects. Clients may use these hints when asking for confirmation; the annotations do not enforce confirmation.
Hosted deployments must rate-limit POST /register at a trusted edge using the verified client address. The Node service deliberately ignores forwarded client-address headers because accepting them without an authenticated proxy boundary would let callers spoof the rate-limit identity.
The production container and required settings are documented in docs/deployment.md.
License
MIT — see LICENSE.
Registry publishing
server.json describes the stdio npm package. Its name matches mcpName in package.json; both versions must match the release being submitted. Publish and verify that exact npm version before running mcp-publisher publish. Registry acceptance and directory approval are separate from an npm release.
Available Tools
26 toolsbeaconed_bulk_optimizeA
POST /api/v1/bulk_optimizations — queue AI optimization for multiple products in one request (queued, 202). EXPENSIVE: 10 req/min limit.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Fields to optimize. Omit to optimize all default fields. | |
| product_ids | Yes | Array of product UUIDs to optimize. Must be non-empty. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the sparse annotations, the description discloses that the request is queued, returns HTTP 202, and is subject to a 10 req/min limit. These are meaningful behavioral details that help the agent understand the async and rate-limited nature of the operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences convey the endpoint, purpose, async behavior, response status, and rate limit with no filler. Every part of the description contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two well-documented parameters and no output schema, the description is largely complete: it states the HTTP method, queued semantics, expected response, and rate limit. It could add how to monitor the submitted optimizations afterward, but that gap is minor given the sibling tools available.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents product_ids and fields thoroughly. The description adds no parameter-level detail beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific action ('queue AI optimization'), the target resource ('multiple products'), and the batching mechanism ('in one request'). This clearly distinguishes it from the single-product optimization sibling and other product tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the intended use case explicit: optimizing multiple products in a single queued request. The rate-limit warning also signals that this is a constrained operation, but it does not explicitly name the single-product alternative or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beaconed_optimizations_applyADestructive
POST /api/v1/optimizations/{id}/application — applies an approved optimization to the live product. DESTRUCTIVE: changes the product's public-facing copy. EXPENSIVE: 10 req/min limit.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Optimization UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the destructiveHint annotation, the description explicitly states that the tool changes 'the product's public-facing copy' and adds a rate limit of '10 req/min'. This gives the agent concrete behavioral expectations that are not present in the annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences front-load the endpoint and core action, then add the two critical operational constraints: destructive impact and rate limit. Every sentence earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, with one required parameter and no output schema. The description clearly explains what happens, what changes, and the rate limit, while annotations cover idempotency and destructiveness. Nothing material is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single id parameter, documented as 'Optimization UUID'. The description adds only the implicit context that the id must refer to an approved optimization, but it does not add meaningful parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('applies'), a specific resource ('approved optimization'), and a clear target context ('live product'). This is distinct from sibling tools like approve, reject, or revert, so an agent can tell what this tool does immediately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'approved optimization' establishes the required precondition, and 'live product' signals that this is a production-impacting action. It does not explicitly name alternatives or exclusions, but the usage context is clear enough to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beaconed_optimizations_approveAIdempotent
POST /api/v1/optimizations/{id}/approval — approve a pending optimization, marking it ready to apply. EXPENSIVE: 10 req/min limit.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Optimization UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotent and non-destructive, so the bar is lower. The description adds the rate limit (10 req/min) and the state change ('marking it ready to apply'), which is useful context beyond the annotations. No contradiction is present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with zero waste. The core action and effect are front-loaded, and the rate limit is appended as a critical constraint. No redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter approval action with safe annotation hints, the description covers the essential: the operation, the required state ('pending'), and a rate limit. It doesn't specify response format, but given the lack of an output schema and the simplicity of the action, this is not a significant omission. Overall, it is sufficiently complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single 'id' parameter, which has its own description ('Optimization UUID'). The tool description adds no additional meaning about the parameter, so the baseline of 3 is appropriate since the schema fully documents it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('approve'), a resource ('a pending optimization'), and the outcome ('marking it ready to apply'). It clearly distinguishes from siblings like 'reject' and 'apply' by focusing on the approval action and its transition to 'ready to apply' state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for approving pending optimizations and notes a rate limit ('EXPENSIVE: 10 req/min limit'), but it does not explicitly mention when not to use it or point to alternative tools like 'reject' or 'apply'. The context of 'pending' is clear, but guidance on selection is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beaconed_optimizations_getA
GET /api/v1/optimizations/{id} — fetch full optimization detail including original and optimized content
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Optimization UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. 'GET' and 'fetch' imply a read-only operation with no side effects, but the description does not explicitly confirm non-mutation or mention authorization, errors, or response shape beyond returning detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single well-structured sentence front-loads the endpoint and immediately states the value returned. Every word is useful, and the description avoids redundancy with the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter GET operation with no output schema, the description provides the essential information: which resource to fetch and what the response will include. It does not mention pagination, authentication, or error cases, but those are less critical for a single-resource read.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully documents the single parameter `id` as an 'Optimization UUID', and schema coverage is 100%. The description reinforces the endpoint placeholder `{id}` but adds no meaning beyond what the schema provides, so the baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific HTTP GET operation on a single optimization resource and explicitly says it returns full detail including original and optimized content. This clearly distinguishes it from list-oriented siblings like beaconed_optimizations_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'full optimization detail' implies this is the tool to use when complete content is needed rather than a summary, but it does not explicitly name alternatives or state when not to use it. The context is discernible but not made explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beaconed_optimizations_listB
GET /api/v1/optimizations — list AI-generated optimizations with optional filters for status, field, product, and date
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-based) | |
| field | No | Filter by the product field being optimized | |
| since | No | ISO 8601 date — only optimizations created on or after this date | |
| status | No | Filter by optimization status | |
| per_page | No | Items per page (max 100) | |
| product_id | No | Filter to a specific product UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The HTTP verb 'GET' and the word 'list' make the read-only nature clear, which partially compensates for the lack of annotations. However, it does not disclose pagination defaults, ordering, authentication needs, or response behavior, so transparency is only partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence states the endpoint, action, resource, and filter categories with no filler. It is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description plus a fully described schema is enough to construct a basic request. It is incomplete, though, for choosing between this and sibling listing tools, and it leaves pagination behavior and response details unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all six parameters. The description's mention of filters for status, field, product, and date paraphrases the schema without adding new meaning, which matches the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('list') and resource ('AI-generated optimizations') and names the filter dimensions. It is clear on its own, though it does not explicitly differentiate itself from the similarly scoped sibling beaconed_products_optimizations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to choose this tool over the overlapping sibling beaconed_products_optimizations or the more specific beaconed_optimizations_get. The description implies a general listing use case but does not state exclusions, prerequisites, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beaconed_optimizations_rejectAIdempotent
POST /api/v1/optimizations/{id}/rejection — reject a pending optimization with an optional reason.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Optimization UUID | |
| reason | No | Optional reason for rejection |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds the pending-state restriction and optional reason, but it does not disclose further behavioral details such as response effects or consequences beyond the annotation baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence that leads with the endpoint and immediately states the operation. There is no filler or redundant explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a low-complexity tool with two fully documented parameters and annotations covering idempotency and destructiveness. The description is sufficient for an agent to select and invoke it correctly, and the absence of an output schema does not create a meaningful gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with both id and reason already described. The description only restates that the reason is optional, adding no meaningful semantic information beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'reject a pending optimization.' It also includes the exact endpoint. The verb 'reject' clearly distinguishes this tool from siblings like approve, apply, and revert.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context by specifying the action applies to a 'pending optimization' and that a reason is optional. It does not explicitly name alternatives or when-not-to-use conditions, so it falls short of a 5, but the context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beaconed_optimizations_revertADestructive
POST /api/v1/optimizations/{id}/reversion — reverts an applied optimization back to the original content. DESTRUCTIVE: overwrites the product's current copy. EXPENSIVE: 10 req/min limit.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Optimization UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond the destructiveHint annotation by specifying the exact effect ('overwrites the product's current copy') and the rate limit (10 req/min). These are useful operational details not present in the annotations, and they are consistent with them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded: it states the endpoint and action first, then the warnings. It has no fluff, but could be slightly more structured (e.g., separating the action from warnings with a clear section), so a 4 is warranted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 1-parameter operation with annotations covering destructive behavior, the description is sufficiently complete. It covers what the tool does, its side effects, and its rate limit. No output schema means no return-value explanation is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'id' is fully documented in the schema (100% coverage), and the description adds no extra meaning about it. Baseline 3 is appropriate since the schema already explains the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('reverts an applied optimization back to the original content') with a clear verb, resource (optimization), and outcome. It also distinguishes itself from sibling tools like apply, approve, and reject by explicitly focusing on reversion, so an agent can easily differentiate it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context for when to use (to undo an applied optimization) and includes important warnings (DESTRUCTIVE and EXPENSIVE with rate limit). However, it does not explicitly name alternative tools or give 'when-not-to-use' guidance, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beaconed_products_calculate_scoreAIdempotent
POST /api/v1/products/{id}/scores/calculation — recalculate the readiness score for a product. EXPENSIVE: 10 req/min limit.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Product UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish idempotentHint=true and destructiveHint=false, covering the safety profile. The description adds a valuable behavioral constraint: 'EXPENSIVE: 10 req/min limit,' exactly the kind of rate-limit context that helps an agent avoid throttling. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the endpoint and action front-loaded and the cost warning as one clause. Every word earns its place; there is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, non-destructive, idempotent action, the description covers the operation, the endpoint, and the rate limit. It does not describe the return payload, but there is no output schema and the action is clear enough for correct invocation. A bit more detail on the response shape would be nice, but it is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, id, is fully documented in the schema as 'Product UUID' (100% coverage). The description adds no extra parameter detail, but none is needed at this coverage level, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description leads with the full HTTP method and path, then states the specific action: 'recalculate the readiness score for a product.' This clearly differentiates it from read-only score-listing siblings like beaconed_products_scores or beaconed_scores_list, since 'recalculate' signals a state-changing operation. The verb and resource are both specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied by the name and the verb 'recalculate', but there is no explicit guidance about when to choose this tool over the several score-related siblings. The only usage hint is the rate-limit warning, which cautions about cost but does not help with tool selection. No alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beaconed_products_createA
POST /api/v1/products — create a product from external (non-Shopify) data. Use external_id for idempotency.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Comma-separated product tags | |
| title | No | Product title | |
| handle | No | URL-friendly product handle | |
| images | No | Product images | |
| status | No | Product status | |
| vendor | No | Vendor / brand name | |
| og_title | No | Open Graph title for social media | |
| meta_title | No | SEO meta title | |
| description | No | Product description (HTML) | |
| external_id | No | Your system product ID — used for idempotency on create | |
| product_type | No | Product type / category | |
| og_description | No | Open Graph description for social media | |
| meta_description | No | SEO meta description |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Given the annotations only mark idempotentHint=false and destructiveHint=false, the description adds meaningful behavioral context by directing callers to use external_id for idempotency. This clarifies a critical duplicate-prevention behavior without directly contradicting the idempotentHint annotation, since the idempotency is conditional on providing external_id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler: it states the endpoint, the purpose, and the most important invocation tip. The key idempotency guidance is front-loaded and immediately actionable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool with 13 optional parameters and no output schema, the description covers the essential selection and invocation context: what is created, from what source, and how to avoid duplicates. It does not describe the return value or behavior on duplicate external_id, but the parameter schema handles most remaining detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all 13 parameters are already documented with descriptions. The only description-level parameter guidance, 'Use external_id for idempotency,' largely repeats what the schema's external_id description already states, so it adds little semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific verb (create), resource (product), and scope (external, non-Shopify data), which clearly separates it from sibling tools like beaconed_products_update and beaconed_products_sync. It also includes the exact endpoint, leaving no ambiguity about what operation is performed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'from external (non-Shopify) data' gives clear context for when this tool is appropriate, distinguishing it from Shopify-related flows. It does not explicitly list exclusions or name alternatives, so it stops just short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beaconed_products_getB
GET /api/v1/products/{id} — fetch full product detail including images, score history, and latest optimization
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Product UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description carries the full behavioral burden because no annotations are provided. It communicates read-only behavior through 'GET' and 'fetch', which is transparent for a retrieval endpoint, but it does not disclose potential response size, auth requirements, or whether the score history is paginated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the endpoint method and path, then summarizes the response contents. No filler or redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter GET tool with no output schema, the description adequately conveys the resource and expected payload categories. It does not specify the exact response shape or edge cases, but the call itself is fully specified by the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents the only parameter ('id' as Product UUID) with 100% coverage. The description adds the path template '/products/{id}', confirming it is a path parameter, but offers no additional semantic guidance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with the HTTP verb and resource path, then states the specific action 'fetch full product detail' and enumerates the included content. This clearly identifies the tool as a single-product detail retrieval, distinct in kind from list products. However, it does not explicitly contrast with sibling endpoints like beaconed_products_scores or beaconed_products_optimizations, so it relies on the 'full detail' qualifier for differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance about when to call this tool versus the many siblings, such as beaconed_products_scores or beaconed_products_optimizations. The phrase 'full product detail' implies a one-stop retrieval, but no exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beaconed_products_listA
GET /api/v1/products — list products with optional filters for status, score, grade, and search query
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Search by product title | |
| page | No | Page number (1-based) | |
| grade | No | Filter by readiness grade | |
| status | No | Filter by Shopify product status | |
| per_page | No | Items per page (max 100) | |
| max_score | No | Maximum readiness score (0-100) | |
| min_score | No | Minimum readiness score (0-100) | |
| needs_optimization | No | Only return products with pending optimizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It only restates the HTTP method and the listing action, without explicitly stating that the operation is read-only/non-destructive, whether any authorization is needed, or what response behavior (e.g., pagination defaults) looks like. It adds no behavioral depth beyond the schema's parameter list.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence that front-loads the endpoint and the core action, then lists the filter categories. Every word earns its place; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list endpoint with eight optional parameters fully documented in the schema, the description gives enough orientation for an agent to choose the tool and call it. It does not, however, describe the response format (there is no output schema) or explicitly note read-only behavior, pagination behavior, or the fact that all parameters are optional, which leaves a few gaps for a fully self-sufficient definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description only needs to add brief meaning. It summarizes the filter dimensions (status, score, grade, search query) which maps to parameters like status, min_score/max_score, grade, and q, but it omits page, per_page, and needs_optimization. This adds a minor overview but doesn't go beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a GET request to /api/v1/products and the action 'list products' with optional filters. It distinguishes the tool from siblings like beaconed_products_get (singular fetch) and beaconed_products_create/update, so an agent can tell which tool fits a listing task.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear context for listing products, but it does not explicitly mention when not to use it or point to alternative tools such as beaconed_products_get for a single product or beaconed_scores_list for score-specific views. Usage is implied by the name and verb rather than stated with exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beaconed_products_optimizationsB
GET /api/v1/optimizations?product_id={id} — list optimizations for a specific product
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Product UUID | |
| page | No | Page number (1-based) | |
| field | No | Filter by the product field being optimized | |
| status | No | Filter by optimization status | |
| per_page | No | Items per page (max 100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the HTTP method and endpoint pattern, but doesn't mention pagination behavior, response shape, or any side effects. For a read operation, the lack of return-format or pagination details is a gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the endpoint and scope. It is efficient and easy to parse, though it could add a brief note about filters without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 5 parameters, no output schema, and no annotations. The description only covers the primary filter (product_id) and omits the optional filters (field, status, page, per_page) and pagination behavior. An agent would need to open the schema to understand the full capability, and would still lack response-shape information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds the product_id context but no additional meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('list'), resource ('optimizations'), and a clear scope ('for a specific product'). It distinguishes itself from the sibling beaconed_optimizations_list by the product_id filter, though it doesn't explicitly name the sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: call this when you need optimizations for a specific product. It doesn't explicitly state when to use beaconed_optimizations_list instead, but the product_id requirement in the description and schema makes the context reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beaconed_products_optimizeA
POST /api/v1/products/{id}/optimization — queue AI optimization for one or more product fields (queued, 202). EXPENSIVE: 10 req/min limit.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Product UUID | |
| fields | No | Fields to optimize. Omit to optimize all default fields. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate non-idempotent and non-destructive. The description adds 'queued, 202' (asynchronous) and the 10 req/min limit, which are behavioral details beyond annotations. It does not contradict annotations. No further behavioral caveats are needed beyond these.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that packs endpoint, action, async behavior, and rate limit. It is front-loaded and every element earns its place. No redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two simple parameters and no output schema, the description covers the essential aspects: what it does, the asynchronous nature, and the rate limit. It could mention how to track the queued job (e.g., via beaconed_optimizations_list), but the sibling tools are not referenced. Still, the description is adequate for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description adds meaning to the 'fields' parameter by explaining 'Omit to optimize all default fields.' It also ties the 'id' to a product. This adds value beyond the bare schema, which already describes the fields enum.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action ('queue AI optimization'), the resource ('products/{id}/optimization'), and scope ('one or more product fields'). It implicitly differentiates from bulk optimization (sibling beaconed_bulk_optimize) by focusing on a single product ID, and from score-related tools by specifying an optimization action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives context (queued, 202, rate limit) but does not explicitly state when to use this versus alternatives. It does not mention 'use beaconed_bulk_optimize for multiple products' or exclude other cases. The rate limit warning implies careful use, but no explicit when-to-use or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beaconed_products_scoresC
GET /api/v1/products/{id}/scores — fetch score history for a specific product
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Product UUID | |
| page | No | Page number (1-based) | |
| grade | No | Filter by grade (excellent, good, fair, poor, critical) | |
| since | No | ISO 8601 date — only scores on or after this date | |
| until | No | ISO 8601 date — only scores on or before this date | |
| per_page | No | Items per page (max 100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral disclosure. 'GET' and 'fetch' imply a read-only operation, which is useful, but the description does not mention pagination behavior, default result ordering, filtering semantics, authorization needs, or response shape. This leaves significant behavioral ambiguity for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise, front-loaded sentence with no wasted words. It is not verbose, though it misses the opportunity to add brief usage guidance that could have been included without bloating the description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has six parameters, no output schema, no annotations, and several closely related sibling tools. A one-line description is insufficient. Missing context includes the shape of the response, pagination defaults, filtering relationships between parameters, and how this differs from beaconed_scores_latest or beaconed_scores_list.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no parameter meaning beyond the schema, but the schema already documents all six parameters clearly. The 'id' parameter is the only one mentioned in the description, matching the required parameter, so no compensation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'fetch' and the resource 'score history for a specific product', distinguishing it from product-level operations. It does not explicitly name sibling alternatives, but 'history for a specific product' vs 'scores_list' and 'scores_latest' implies a distinct purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus siblings like beaconed_scores_latest, beaconed_scores_list, or beaconed_products_get. The context of fetching score history is implied by the name and description, but there are no explicit when/when-not criteria or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beaconed_products_syncAIdempotent
POST /api/v1/products/{id}/sync — trigger a Shopify sync for the product (queued, 202). EXPENSIVE: 10 req/min limit.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Product UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (idempotentHint=true, destructiveHint=false), the description adds meaningful behavioral context: the operation is queued and returns 202 (asynchronous), and it is flagged as 'EXPENSIVE' with a 10 req/min rate limit. This is valuable operational guidance an agent would not otherwise have.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact line that front-loads the most critical information: HTTP method, path, action, response status, and cost/rate limit. Every clause earns its place with no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one well-documented parameter, no output schema, and no nested objects, the description covers everything needed to invoke it correctly: the exact endpoint, the expected async 202 response, and the rate limit. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — the schema already documents 'id' as a Product UUID. The description adds no additional parameter meaning beyond referencing the path placeholder {id}, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('trigger a Shopify sync'), the resource ('the product'), and the HTTP method and endpoint ('POST /api/v1/products/{id}/sync'). It also notes the immediate outcome ('queued, 202'), which clearly distinguishes it from sibling tools like list, get, create, or update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by the action itself — if you want to trigger a sync for a product, this is the tool. However, the description does not explicitly state when to use it versus alternatives, nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beaconed_products_updateAIdempotent
PATCH /api/v1/products/{id} — update a product's fields. Only include fields you want to change.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Product UUID | |
| tags | No | Comma-separated product tags | |
| title | No | Product title | |
| handle | No | URL-friendly product handle | |
| images | No | Product images | |
| status | No | Product status | |
| vendor | No | Vendor / brand name | |
| og_title | No | Open Graph title for social media | |
| meta_title | No | SEO meta title | |
| description | No | Product description (HTML) | |
| external_id | No | Your system product ID — used for idempotency on create | |
| product_type | No | Product type / category | |
| og_description | No | Open Graph description for social media | |
| meta_description | No | SEO meta description |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds the partial-update behavior ('Only include fields you want to change'), which is valuable beyond annotations but not extensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste; the core purpose and usage guidance are front-loaded. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complete for a simple update tool: schema covers all parameters, annotations cover idempotence and non-destructiveness, and the description clarifies partial-update semantics. No output schema is needed since return value is not specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all 14 fields, so the schema does the heavy lifting. The description adds a general partial-update principle but no specific parameter details beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a clear action (update), the resource (product fields), and the PATCH method, distinguishing it from create/list/sync siblings. The partial-update instruction further clarifies scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context that this tool updates an existing product's fields and explicitly instructs to include only changed fields. It does not explicitly name alternatives or when not to use, but the partial-update guidance strongly implies usage intent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beaconed_scores_latestC
GET /api/v1/scores/latest — fetch the latest score for each product (SPEC-ABSENT endpoint; verify availability with API team)
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-based) | |
| grade | No | Filter by grade (excellent, good, fair, poor, critical) | |
| since | No | ISO 8601 date — only scores on or after this date | |
| until | No | ISO 8601 date — only scores on or before this date | |
| per_page | No | Items per page (max 100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior, but it only mentions the endpoint is 'SPEC-ABSENT' and advises verification. It does not describe pagination behavior, auth requirements, or any side effects, which is a significant gap for a data-fetching tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loads the HTTP method and path, then adds the SPEC-ABSENT caveat. It wastes no words, though the caveat could be considered subjective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple filtered list endpoint with 100% schema coverage and no output schema, the description is mostly adequate. However, the SPEC-ABSENT uncertainty and lack of usage guidance make it incomplete for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 5 parameters with type and meaning. The description adds nothing beyond the schema, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the HTTP method, path, and the resource ('latest score for each product'), which gives a specific verb and resource. However, it does not differentiate it from the sibling 'beaconed_scores_list' or 'beaconed_products_scores', so it lacks sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'beaconed_scores_list' or 'beaconed_products_scores'. It mentions a SPEC-ABSENT endpoint with a verification note, but that is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beaconed_scores_listA
GET /api/v1/scores — list readiness scores across all products (SPEC-ABSENT endpoint; verify availability with API team)
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-based) | |
| grade | No | Filter by grade (excellent, good, fair, poor, critical) | |
| since | No | ISO 8601 date — only scores on or after this date | |
| until | No | ISO 8601 date — only scores on or before this date | |
| per_page | No | Items per page (max 100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry behavioral context. It usefully discloses that the endpoint is 'SPEC-ABSENT' and advises verifying availability, which is valuable. The GET/list wording implies a read operation, but it does not address auth, rate limits, response shape, or pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the action and resource, includes the endpoint, and places the spec-absence caveat at the end. Every part earns its place with no unnecessary wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema fully documents all parameters, and the spec-absence warning is a useful caveat. However, the description does not guide selection among sibling tools or describe return format, and with no output schema or annotations, an agent has limited context beyond the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all five parameters, so the schema fully documents parameter meaning. The description adds no additional parameter-level context, leaving the baseline score of 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'list' and the resource 'readiness scores across all products,' making the core action unambiguous. It also signals scope by saying 'across all products,' which distinguishes it from product-specific sibling tools, though it does not explicitly name any alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'across all products' implies this is for listing scores at an aggregate level, but there is no explicit guidance on when to choose this tool over siblings like beaconed_scores_latest or beaconed_products_scores. No exclusions or alternative routing are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beaconed_settings_getA
GET /api/v1/settings — fetch the account optimization settings including brand voice, required/excluded keywords, and auto-push configuration
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It implies a read-only operation via 'GET' but does not disclose authentication needs, rate limits, or response format beyond a vague list. Minimal disclosure of behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that states the endpoint and then lists the returned content. It is concise with no redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (no params, no output schema), and the description gives a high-level list of returned settings, which is useful. However, it uses 'including' implying non-exhaustive content and does not describe response structure or potential errors, leaving minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is 100%. The description adds no parameter meaning because none exist. Per the baseline for 0 parameters, a 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches account optimization settings and enumerates specific components (brand voice, keywords, auto-push configuration). This distinguishes it from sibling tools that handle products, optimizations, webhooks, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. There is no mention of exclusions, prerequisites, or comparisons to similar tools like beaconed_optimizations_get, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beaconed_webhooks_createA
POST /api/v1/webhooks — create a new webhook subscription. The signing secret is returned only once — store it securely.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | HTTPS URL to receive webhook deliveries | |
| events | Yes | Events to subscribe to |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds a key behavioral trait beyond the annotations: the signing secret is returned only once and must be stored securely. This is valuable because it warns the agent that the secret cannot be retrieved later. However, it does not mention other behavioral aspects like side effects or response contents, though the annotations already indicate it is not idempotent and not destructive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the HTTP method and resource. Every word earns its place: it states the action, the endpoint, and the critical one-time secret warning with no unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple create tool with two well-documented parameters, the description covers the most important gotcha (secret appears once). However, since there is no output schema, the agent might need to know the response shape (e.g., webhook ID, status). The description still leaves that implicit, so it is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents the 'url' and 'events' parameters. The description adds no parameter-specific meaning beyond restating 'create'. Baseline 3 is appropriate because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'create a new webhook subscription' uses a specific verb and resource, clearly distinguishing this from sibling tools like webhooks_list, webhooks_get, webhooks_update, and webhooks_delete. The HTTP method and endpoint are also stated, leaving no ambiguity about the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for creating a new subscription, but it does not explicitly state when to use it versus alternatives, nor does it mention exclusions like 'do not use if you already have a webhook' or point to webhooks_list for existing subscriptions. The context is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beaconed_webhooks_deleteADestructiveIdempotent
DELETE /api/v1/webhooks/{id} — permanently remove a webhook subscription. DESTRUCTIVE: webhook deliveries stop immediately.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Webhook UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already include destructiveHint: true and idempotentHint: true, but the description adds crucial behavioral detail: 'permanently remove' and 'deliveries stop immediately.' This goes beyond the annotation by specifying permanence and immediate effect, which is valuable for an agent deciding whether to invoke it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that leads with the HTTP method and endpoint, then states the action and consequence. No wasted words, perfectly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema and annotations already covering safety, the description is complete. It tells the agent exactly what the tool does, the destructive effect, and the immediate consequence. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the single parameter (id as Webhook UUID) with 100% coverage. The description adds no extra parameter semantics, but the schema is sufficient, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the HTTP method (DELETE), the resource (webhooks/{id}), and the action (permanently remove a webhook subscription). It distinguishes itself from sibling webhook tools (list, get, create, update, test) by the explicit removal semantics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage context is clear from the description: use this when you need to permanently remove a webhook. It does not explicitly contrast with alternatives (e.g., using update to disable), but the destructive nature and immediate effect make the use case self-evident. A small gap is not explicitly saying 'use update if you only need to pause deliveries'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beaconed_webhooks_eventsA
GET /api/v1/webhooks/events — fetch the global catalog of all available webhook event types
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-based) | |
| per_page | No | Items per page (max 100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly indicates a read-only GET operation ('fetch'), which sufficiently signals no destructive side effects. However, it does not mention authentication needs, rate limits, or any behavior around pagination or empty results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that combines the HTTP method, endpoint path, and resource scope without any filler. Every element contributes directly to understanding the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a simple read-only catalog endpoint with two well-documented optional pagination parameters. However, with no output schema and no annotations, it does not describe the response shape or clarify how this tool relates to webhook management siblings, leaving minor but real gaps in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters are fully documented in the schema with descriptions for 'page' and 'per_page', so schema coverage is 100%. The description adds no additional parameter-specific meaning, but the baseline of 3 applies because the schema already handles parameter semantics adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('fetch'), a specific resource ('the global catalog of all available webhook event types'), and clearly distinguishes this from sibling tools like webhooks_list or webhooks_get, which likely manage webhook subscriptions rather than event type catalogs. The scope is explicit and instantly understandable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance about when to choose this tool over alternatives such as beaconed_webhooks_list or beaconed_webhooks_get. It does not mention use cases, prerequisites, or exclusions, so the agent must infer situational fit from the name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beaconed_webhooks_getA
GET /api/v1/webhooks/{id} — fetch details about a specific webhook subscription including last error info
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Webhook UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. It does so by explicitly stating 'GET' and 'fetch,' which imply a read-only, non-mutating operation, and it adds useful detail about the return content ('including last error info'). It does not discuss error cases or auth requirements, but for a simple GET-by-id tool this is largely adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the HTTP method and endpoint, states the core purpose, and adds the key differentiator about last error info. There is no filler, redundancy, or unnecessary elaboration, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a very simple tool with one required parameter, no output schema, and no annotations. The description supplies the endpoint, the intent, and a hint of return contents, which is sufficient for an agent to invoke it correctly. It could be slightly richer by describing the full response shape, but the absence of an output schema does not make this description inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents the only parameter, id, as a 'Webhook UUID,' and schema description coverage is 100%. The description adds the context that this id selects a specific webhook subscription, but it does not meaningfully expand on the schema's own parameter documentation. A baseline score of 3 is appropriate since the schema carries the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with the explicit HTTP verb and resource path, then states the action: 'fetch details about a specific webhook subscription.' It also adds a meaningful differentiator by noting 'including last error info,' which distinguishes this from the sibling beaconed_webhooks_list tool. An agent can immediately understand what this tool does and how it differs from related webhook tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly signals this is the tool for retrieving a single webhook subscription by ID, especially through the word 'specific' and the {id} path parameter. It does not explicitly name the sibling list tool as the alternative for fetching all webhooks, but the context is clear enough that an agent can infer when this tool applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beaconed_webhooks_listB
GET /api/v1/webhooks — list webhook subscriptions registered for the current API key
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-based) | |
| per_page | No | Items per page (max 100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description carries the responsibility for behavioral disclosure. It does communicate GET semantics and API-key scoping, which is useful, but it does not mention pagination defaults, ordering, or whether the list includes only active webhook subscriptions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the HTTP method, endpoint, resource, and scope. Every word earns its place with no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter list endpoint with fully documented parametersage, this description is mostly complete. The only notable gap is the lack of detail about the response shape or default pagination behavior, but this is a low-complexity tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters are fully described in the input schema, so schema coverage is 100%. The description adds no extra parameter-level meaning, making the baseline score of 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action and resource: 'list webhook subscriptions' for the current API key. It is distinct enough from siblings like webhooks_create or webhooks_events, though it does not explicitly contrast with beaconed_webhooks_get.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives such as beaconed_webhooks_get or beaconed_webhooks_events. The context is implied by the word 'list,' but there is no explicit routing or exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beaconed_webhooks_testA
POST /api/v1/webhooks/{id}/test — send a test event to a webhook to verify delivery is working.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Webhook UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate non-idempotent and non-destructive behavior. The description adds that the tool triggers a test event, which is a meaningful behavioral side effect. However, it does not clarify whether the event is sent to the live endpoint, whether it creates historical records, or what the response indicates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence conveys the HTTP method, endpoint, action, and purpose without redundancy. Every element earns its place and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter action tool with full schema coverage and annotations, the description provides enough context to invoke it correctly. It could mention expected response or side-effect details, but the tool's simplicity makes those gaps non-critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the only parameter, id, is already described as 'Webhook UUID'. The description restates id as a path variable but adds no new semantic detail beyond the schema, so the baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('send a test event'), the resource ('a webhook'), and the goal ('verify delivery is working'). It clearly distinguishes this from siblings like webhooks_get, webhooks_events, and webhooks_delete by naming the test operation explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'to verify delivery is working' gives clear contextual guidance on when to use this tool. It does not explicitly name alternatives or exclusion conditions, but the use case is unambiguous enough for an agent to select it appropriately among the webhook-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beaconed_webhooks_updateAIdempotent
PATCH /api/v1/webhooks/{id} — update a webhook subscription's URL, events, or status.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Webhook UUID | |
| url | No | New HTTPS delivery URL | |
| events | No | New list of subscribed events | |
| status | No | Set to paused to temporarily disable deliveries |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already supply idempotentHint=true and destructiveHint=false, so the description only needs to add behavior beyond that. It adds that this is a PATCH-style modification with the mutable fields, but does not detail side effects, replacement semantics, or delivery impact. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with the HTTP method and resource, followed by a compact list of updated fields. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity update operation with a required id and three optional fields, the description plus schema and annotations cover the essentials. No output schema exists, but the absence of a return-value note is not a significant obstacle to invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents id, url, events, and status. The description briefly names three of the mutable parameters but adds no format or enum nuance beyond the schema; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('update') and resource ('webhook subscription') and enumerates the mutable aspects (URL, events, status). This clearly separates it from sibling tools like webhooks_create, webhooks_delete, and webhooks_test without needing to open schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The endpoint is framed as an update operation on an existing webhook, which is a clear use context and is distinct from create/delete/test siblings. It does not explicitly name alternatives or state conditions for choosing it over them, but the context is sufficient for a simple update tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
26 tool updates
v0.0.3- First observed
beaconed_bulk_optimize - First observed
beaconed_optimizations_apply - First observed
beaconed_optimizations_approve - First observed
beaconed_optimizations_get - First observed
beaconed_optimizations_list - First observed
beaconed_optimizations_reject - First observed
beaconed_optimizations_revert - First observed
beaconed_products_calculate_score - First observed
beaconed_products_create - First observed
beaconed_products_get - First observed
beaconed_products_list - First observed
beaconed_products_optimizations - First observed
beaconed_products_optimize - First observed
beaconed_products_scores - First observed
beaconed_products_sync - First observed
beaconed_products_update - First observed
beaconed_scores_latest - First observed
beaconed_scores_list - First observed
beaconed_settings_get - First observed
beaconed_webhooks_create - First observed
beaconed_webhooks_delete - First observed
beaconed_webhooks_events - First observed
beaconed_webhooks_get - First observed
beaconed_webhooks_list - First observed
beaconed_webhooks_test - First observed
beaconed_webhooks_update
TDQS
Scored across 26 tools
Most tools map cleanly to a resource and action, but a few boundaries are blurry: beaconed_products_optimizations and beaconed_optimizations_list both return optimizations (one filtered by product), and beaconed_products_get includes score history alongside beaconed_products_scores. These are workable but could cause occasional misselection.
All names share the beaconed_ prefix and use snake_case, which helps, but the action pattern is inconsistent: most list operations use '_list' except beaconed_products_optimizations and beaconed_scores_latest, and noun/subresource ordering varies (products_scores vs scores_list). The naming is readable but not uniform.
At 26 tools, the server is above the 25+ threshold and feels heavy for a single product-optimization domain. The webhook sub-surface alone accounts for 7 tools, and several product/optimization/score listing endpoints could be consolidated.
The optimization lifecycle (list/get/approve/reject/apply/revert) and webhook lifecycle (CRUD/test/events) are well covered, and score history plus latest scores are available. Obvious gaps are a settings update endpoint (only settings_get exists) and product deletion, but agents can still complete core workflows.
Maintenance
Related MCP Connectors
- PressoOAuthnow.presso
Connect e-commerce and marketing data to AI assistants via MCP.
Run storefronts, listings, orders, content, fulfillment, and analytics through AI.
Real SEO data for AI assistants: page audits, Keyword Planner volumes, Search Console history.
Connect AI agents to ProductNow's context engine to search, create, review, and act.
Related MCP Servers
- AlicenseBqualityCmaintenanceEnables AI assistants to manage Adobe Commerce and Magento 2 instances through business-level tools for catalog, promotions, CMS, and SEO. It features secure OAuth 1.0 authentication, safety guardrails for bulk operations, and built-in diagnostic reports for store health.3819 npm1MIT

Bloghunch MCP Serverofficial
AlicenseAqualityDmaintenanceConnects AI assistants to Bloghunch publications for automating content creation, analytics, and distribution.8MIT- AlicenseAqualityBmaintenanceEnables AI assistants to connect to eonik and access brand assets, competitor research, and ad performance facts, while drafting creative briefs and scene breakdowns without spending or making changes.43251 npm1MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI assistants to work with HubSpot content and optionally CRM over MCP, covering pages, blog posts, forms, marketing emails, and campaigns with configurable publishing and confirmation safeguards.MIT