Skip to main content
Glama
bunkerapps

Superprecio MCP Server

by bunkerapps

remove_price_alert

Delete a price alert to stop monitoring a product's price. This action permanently removes the alert from your tracking list.

Instructions

Delete a price alert.

Stop monitoring a product's price. This permanently removes the alert.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
alertIdYesID of the price alert to delete

Implementation Reference

  • The main handler function that executes the tool: deletes the price alert using the API client and returns a formatted text response indicating success or failure.
    export async function executeRemovePriceAlert(
      client: SuperPrecioApiClient,
      args: { alertId: number }
    ) {
      const response = await client.deletePriceAlert(args.alertId);
    
      if (!response.success) {
        return {
          content: [
            {
              type: 'text',
              text: `Failed to delete price alert: ${response.message || 'Unknown error'}`,
            },
          ],
          isError: true,
        };
      }
    
      return {
        content: [
          {
            type: 'text',
            text: `
    ✅ Price alert deleted successfully!
    
    Alert ID ${args.alertId} has been removed and you will no longer receive notifications for this product.
    
    You can:
    - View remaining alerts with get_my_alerts
    - Create a new alert with set_price_alert
    `,
          },
        ],
      };
    }
  • Tool metadata and input schema definition: requires a numeric alertId.
    export const removePriceAlertTool = {
      name: 'remove_price_alert',
      description: `Delete a price alert.
    
    Stop monitoring a product's price.
    This permanently removes the alert.`,
      inputSchema: {
        type: 'object',
        properties: {
          alertId: {
            type: 'number',
            description: 'ID of the price alert to delete',
          },
        },
        required: ['alertId'],
      },
    };
  • src/index.ts:89-116 (registration)
    Registers the tool by including removePriceAlertTool in the tools list returned for ListTools requests.
    server.setRequestHandler(ListToolsRequestSchema, async () => {
      return {
        tools: [
          // V1 Tools
          searchProductsTool,
          searchByCodeTool,
          comparePriceTool,
          getBestDealsTool,
          sendNotificationTool,
          subscribeDeviceTool,
    
          // V2 Tools - Shopping Lists
          createShoppingListTool,
          addItemsToListTool,
          getShoppingListsTool,
          optimizeShoppingListTool,
          removeShoppingListTool,
    
          // V2 Tools - Price Alerts
          setPriceAlertTool,
          getMyAlertsTool,
          removePriceAlertTool,
    
          // V2 Tools - Location
          findNearbySupermarketsTool,
        ],
      };
    });
  • src/index.ts:166-167 (registration)
    Registers the handler by dispatching tool calls with name 'remove_price_alert' to executeRemovePriceAlert in the CallTool request handler.
    case 'remove_price_alert':
      return await executeRemovePriceAlert(apiClient, args as any);
  • src/index.ts:46-46 (registration)
    Imports the tool definition and handler function.
    import { removePriceAlertTool, executeRemovePriceAlert } from './tools/removePriceAlert.js';
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that the action 'permanently removes the alert', indicating irreversibility, and clarifies it stops monitoring. However, it lacks details on permissions needed, error conditions, or confirmation behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short, front-loaded sentences with zero waste: the first states the action, the second explains the effect, and the third warns of permanence. Each sentence adds critical information efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and a simple single-parameter input, the description is mostly complete for a deletion tool. It covers purpose and behavioral impact but could improve by mentioning error cases or success indicators.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, so the schema already documents the 'alertId' parameter. The description does not add specific parameter details beyond implying the alert exists, but with 0 parameters needing extra explanation, it meets the baseline of 4 for adequate coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the verb 'Delete' and resource 'price alert' in the first sentence, then elaborates with 'Stop monitoring a product's price' to clarify the action. It clearly distinguishes from sibling tools like 'set_price_alert' (create) and 'get_my_alerts' (read).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you want to stop monitoring a product's price, but does not explicitly state when to use this vs. alternatives like 'get_my_alerts' for viewing alerts or 'set_price_alert' for creating them. No exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bunkerapps/superprecio_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server