@yoryoboy/bi-mcp 1.15.0 → 1.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/index.js +12 -1
- package/dist/index.js.map +2 -2
- package/dist/mcp-use.json +2 -2
- package/dist/src/services/mercadolibre/mercadolibre-billing.js +99 -1
- package/dist/src/services/mercadolibre/mercadolibre-billing.js.map +2 -2
- package/dist/src/tools/mercadolibre/get-billing-provisions-summary.js +391 -0
- package/dist/src/tools/mercadolibre/get-billing-provisions-summary.js.map +7 -0
- package/dist/src/tools/mercadolibre/index.js +1 -0
- package/dist/src/tools/mercadolibre/index.js.map +2 -2
- package/dist/tests/meli/mercadolibre-billing-provisions.test.js +940 -0
- package/dist/tests/meli/mercadolibre-billing-provisions.test.js.map +7 -0
- package/dist/vitest.config.js +3 -1
- package/dist/vitest.config.js.map +2 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -264,7 +264,9 @@ import {
|
|
|
264
264
|
meliUpdateItemPicturesHandler,
|
|
265
265
|
meliUpdateItemPicturesSchema,
|
|
266
266
|
meliValidateConnectionHandler,
|
|
267
|
-
meliValidateConnectionSchema
|
|
267
|
+
meliValidateConnectionSchema,
|
|
268
|
+
meliGetBillingProvisionsSummaryHandler,
|
|
269
|
+
meliGetBillingProvisionsSummarySchema
|
|
268
270
|
} from "./src/tools/index.js";
|
|
269
271
|
const server = new MCPServer({
|
|
270
272
|
name: "bi-mcp",
|
|
@@ -1862,6 +1864,15 @@ server.tool(
|
|
|
1862
1864
|
},
|
|
1863
1865
|
meliAnswerQuestionHandler
|
|
1864
1866
|
);
|
|
1867
|
+
server.tool(
|
|
1868
|
+
{
|
|
1869
|
+
name: "meli_get_billing_provisions_summary",
|
|
1870
|
+
description: "Get MercadoLibre billing provisions summary for a period, supporting ml, mp, flex, full, and all scopes. Returns compact details (positional schema + rows), currency totals, diagnostics of observed types, and coverage metadata.",
|
|
1871
|
+
schema: meliGetBillingProvisionsSummarySchema,
|
|
1872
|
+
annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true }
|
|
1873
|
+
},
|
|
1874
|
+
meliGetBillingProvisionsSummaryHandler
|
|
1875
|
+
);
|
|
1865
1876
|
server.prompt(
|
|
1866
1877
|
{
|
|
1867
1878
|
name: "vtex-reporte-ventas",
|
package/dist/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../index.ts"],
|
|
4
|
-
"sourcesContent": ["import { createRequire } from \"node:module\";\nimport { pathToFileURL } from \"node:url\";\nimport { MCPServer } from \"mcp-use/server\";\n\nimport {\n reporteVentasPromptHandler,\n reporteVentasPromptSchema,\n} from \"./src/prompts/reporte-ventas.js\";\nimport { getBenchmarksHandler, getBenchmarksSchema } from \"./src/config/benchmarks.js\";\nimport {\n checkDatabaseConnectionHandler,\n checkDatabaseConnectionSchema,\n listProfilesHandler,\n listProfilesSchema,\n googleAdsAccountRisksHandler,\n googleAdsAccountRisksSchema,\n googleAdsAccountOverviewHandler,\n googleAdsAccountOverviewSchema,\n googleAdsBreakEvenAnalysisHandler,\n googleAdsBreakEvenAnalysisSchema,\n googleAdsCampaignPerformanceHandler,\n googleAdsCampaignPerformanceSchema,\n googleAdsChannelMixHandler,\n googleAdsChannelMixSchema,\n googleAdsCompareAccountsHandler,\n googleAdsCompareAccountsSchema,\n googleAdsCustomerClientsHandler,\n googleAdsCustomerClientsSchema,\n googleAdsCustomerInfoHandler,\n googleAdsCustomerInfoSchema,\n googleAdsSearchTermsSummaryHandler,\n googleAdsSearchTermsSummarySchema,\n googleAdsScalingHealthHandler,\n googleAdsScalingHealthSchema,\n googleAdsTimeSeriesHandler,\n googleAdsTimeSeriesSchema,\n listAccessibleSitesHandler,\n listAccessibleSitesSchema,\n attributionGapsHandler,\n attributionGapsSchema,\n activateSkuHandler,\n activateSkuSchema,\n addOrderTrackingHandler,\n addOrderTrackingSchema,\n associateSpecificationHandler,\n associateSpecificationSchema,\n attachCatalogImageHandler,\n attachCatalogImageSchema,\n addSkuEanHandler,\n addSkuEanSchema,\n cancelOrderHandler,\n commercialConditionsHandler,\n commercialConditionsSchema,\n getSkuImagesHandler,\n getSkuImagesSchema,\n paymentRulesHandler,\n paymentRulesSchema,\n replaceSkuEansHandler,\n replaceSkuEansSchema,\n updateCatalogImageHandler,\n updateCatalogImageSchema,\n updateProductBrandHandler,\n updateProductBrandSchema,\n cancelOrderSchema,\n channelMixHandler,\n channelMixSchema,\n computedPriceHandler,\n computedPriceSchema,\n createBrandHandler,\n createBrandSchema,\n createCategoryHandler,\n createCategorySchema,\n deleteAllProductSpecificationsHandler,\n deleteAllProductSpecificationsSchema,\n deleteAllSkuSpecificationsHandler,\n deleteAllSkuSpecificationsSchema,\n deleteBrandHandler,\n deleteBrandSchema,\n deleteCatalogImageHandler,\n deleteCatalogImageSchema,\n deleteProductSpecificationHandler,\n deleteProductSpecificationSchema,\n deleteSkuSpecificationHandler,\n deleteSkuSpecificationSchema,\n getBrandHandler,\n getBrandSchema,\n listSpecificationGroupsHandler,\n listSpecificationGroupsSchema,\n moveCategoryHandler,\n moveCategorySchema,\n createProductHandler,\n createProductSchema,\n createSkuHandler,\n createSkuSchema,\n createSpecificationHandler,\n createSpecificationSchema,\n createSpecificationValueHandler,\n createSpecificationValueSchema,\n getCategoryHandler,\n getCategorySchema,\n getCategoryTreeHandler,\n getCategoryTreeSchema,\n getProductHandler,\n getProductSchema,\n getProductSpecificationsHandler,\n getProductSpecificationsSchema,\n getSkuHandler,\n getSkuSchema,\n deactivateSkuHandler,\n deactivateSkuSchema,\n deleteFixedPriceHandler,\n deleteFixedPriceSchema,\n deleteSkuPriceHandler,\n deleteSkuPriceSchema,\n ecommerceTrackingHealthHandler,\n ecommerceTrackingHealthSchema,\n engagementOverviewHandler,\n engagementOverviewSchema,\n invoiceOrderHandler,\n invoiceOrderSchema,\n inventoryCheckHandler,\n inventoryCheckSchema,\n listAccessiblePropertiesHandler,\n listAccessiblePropertiesSchema,\n listBrandsHandler,\n listBrandsSchema,\n listCategoriesHandler,\n listCategoriesSchema,\n listProductsHandler,\n listProductsByCategoryHandler,\n listProductsByCategorySchema,\n listProductsSchema,\n listSkusByProductHandler,\n listSkusByProductSchema,\n metaAccountOverviewHandler,\n metaAccountOverviewSchema,\n metaAdAccountInfoHandler,\n metaAdAccountInfoSchema,\n metaAdsPerformanceHandler,\n metaAdsPerformanceSchema,\n metaCampaignPerformanceHandler,\n metaCampaignPerformanceSchema,\n metaListAccessibleAdAccountsHandler,\n metaListAccessibleAdAccountsSchema,\n metaListAccessibleBusinessesHandler,\n metaListAccessibleBusinessesSchema,\n metaPlacementMixHandler,\n metaPlacementMixSchema,\n metaTimeSeriesHandler,\n metaTimeSeriesSchema,\n searchConsoleCountryBreakdownHandler,\n searchConsoleCountryBreakdownSchema,\n searchConsoleDeviceBreakdownHandler,\n searchConsoleDeviceBreakdownSchema,\n searchConsoleHighImpressionLowClickQueriesHandler,\n searchConsoleHighImpressionLowClickQueriesSchema,\n searchConsoleLowCtrOpportunitiesHandler,\n searchConsoleLowCtrOpportunitiesSchema,\n searchConsolePagePerformanceHandler,\n searchConsolePagePerformanceSchema,\n searchConsoleProductDemandLowCaptureQueriesHandler,\n searchConsoleProductDemandLowCaptureQueriesSchema,\n searchConsoleQueryPageMatrixHandler,\n searchConsoleQueryPageMatrixSchema,\n searchConsoleQueryPerformanceHandler,\n searchConsoleQueryPerformanceSchema,\n searchConsoleQuickWinOpportunitiesHandler,\n searchConsoleQuickWinOpportunitiesSchema,\n searchConsoleRisingNonBrandQueriesHandler,\n searchConsoleRisingNonBrandQueriesSchema,\n searchConsoleSearchPerformanceHandler,\n searchConsoleSearchPerformanceSchema,\n searchConsoleSiteContextHandler,\n searchConsoleSiteContextSchema,\n searchConsoleVisibilityDeclinesHandler,\n searchConsoleVisibilityDeclinesSchema,\n orderDetailsHandler,\n orderDetailsSchema,\n ordersSummaryHandler,\n ordersSummarySchema,\n propertyInfoHandler,\n propertyInfoSchema,\n productOffersHandler,\n productOffersSchema,\n revenueByChannelHandler,\n revenueByChannelSchema,\n revenueOverviewHandler,\n revenueOverviewSchema,\n revenueTrendHandler,\n revenueTrendSchema,\n skuOffersHandler,\n skuOffersSchema,\n toggleUnlimitedQuantityHandler,\n toggleUnlimitedQuantitySchema,\n skuPriceHandler,\n skuPriceSchema,\n sourceMediumBreakdownHandler,\n sourceMediumBreakdownSchema,\n topLandingPagesHandler,\n topLandingPagesSchema,\n updateInventoryHandler,\n updateInventorySchema,\n updateLeadTimeHandler,\n updateLeadTimeSchema,\n updateCategoryHandler,\n updateCategorySchema,\n updateBrandHandler,\n updateBrandSchema,\n updateProductBasicFieldsHandler,\n updateProductBasicFieldsSchema,\n updateSkuBasicFieldsHandler,\n updateSkuBasicFieldsSchema,\n updateSkuPriceHandler,\n updateSkuPriceSchema,\n upsertFixedPriceHandler,\n upsertFixedPriceSchema,\n warehouseInventoryHandler,\n warehouseInventorySchema,\n} from \"./src/tools/index.js\";\nimport {\n meliAnswerQuestionHandler,\n meliAnswerQuestionSchema,\n meliCreateItemHandler,\n meliCreateItemSchema,\n meliEstimateListingFeeHandler,\n meliEstimateListingFeeSchema,\n meliEstimateProductProfitabilityHandler,\n meliEstimateProductProfitabilitySchema,\n meliGetAccountContextHandler,\n meliGetAccountContextSchema,\n meliGetCategoryRequirementsHandler,\n meliGetCategoryRequirementsSchema,\n meliGetSiteCategoriesAndListingTypesHandler,\n meliGetSiteCategoriesAndListingTypesSchema,\n meliGetItemDetailsHandler,\n meliGetItemDetailsSchema,\n meliGetItemVisitsHandler,\n meliGetItemVisitsSchema,\n meliGetListingQualityHandler,\n meliGetListingQualitySchema,\n meliGetOrderDetailsHandler,\n meliGetOrderDetailsSchema,\n meliGetOrdersSummaryHandler,\n meliGetOrdersSummarySchema,\n meliGetSalesByItemHandler,\n meliGetSalesByItemSchema,\n meliGetSalesTrendHandler,\n meliGetSalesTrendSchema,\n meliGetShippingSummaryHandler,\n meliGetShippingSummarySchema,\n meliGetStorePerformanceHandler,\n meliGetStorePerformanceSchema,\n meliPauseOrReactivateItemHandler,\n meliPauseOrReactivateItemSchema,\n meliPredictCategoryHandler,\n meliPredictCategorySchema,\n meliSearchItemsHandler,\n meliSearchItemsSchema,\n meliSearchQuestionsHandler,\n meliSearchQuestionsSchema,\n meliUpdateItemBasicFieldsHandler,\n meliUpdateItemBasicFieldsSchema,\n meliUpdateItemDescriptionHandler,\n meliUpdateItemDescriptionSchema,\n meliUpdateItemPicturesHandler,\n meliUpdateItemPicturesSchema,\n meliValidateConnectionHandler,\n meliValidateConnectionSchema,\n} from \"./src/tools/index.js\";\n\nconst server = new MCPServer({\n name: \"bi-mcp\",\n title: \"BI MCP\",\n version: \"1.0.0\",\n description:\n \"Business Intelligence MCP server with VTEX, Google, and Meta Ads tools for ecommerce analysis.\",\n baseUrl: process.env.MCP_URL || \"http://localhost:3000\",\n favicon: \"favicon.ico\",\n icons: [\n {\n src: \"icon.svg\",\n mimeType: \"image/svg+xml\",\n sizes: [\"512x512\"],\n },\n ],\n});\n\nserver.tool(\n {\n name: \"meta_list_accessible_businesses\",\n description:\n \"List Meta businesses accessible with the configured token, useful for onboarding and permission validation.\",\n schema: metaListAccessibleBusinessesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n metaListAccessibleBusinessesHandler\n);\n\nserver.tool(\n {\n name: \"meta_list_accessible_ad_accounts\",\n description:\n \"List Meta ad accounts accessible with the configured token, including IDs, currencies, business context, and status.\",\n schema: metaListAccessibleAdAccountsSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n metaListAccessibleAdAccountsHandler\n);\n\nserver.tool(\n {\n name: \"meta_get_ad_account_info\",\n description:\n \"Get summary information for one Meta ad account, including name, currency, timezone, business, and account status.\",\n schema: metaAdAccountInfoSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n metaAdAccountInfoHandler\n);\n\nserver.tool(\n {\n name: \"meta_get_account_overview\",\n description:\n \"Get a Meta Ads overview for one or more ad accounts over a date range, including spend, clicks, impressions, purchases, purchase value, CPC, CPM, and ROAS.\",\n schema: metaAccountOverviewSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n metaAccountOverviewHandler\n);\n\nserver.tool(\n {\n name: \"meta_get_campaign_performance\",\n description:\n \"Get Meta Ads campaign-level performance for one or more ad accounts over a date range with spend, clicks, impressions, purchases, purchase value, CPC, CPM, and ROAS.\",\n schema: metaCampaignPerformanceSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n metaCampaignPerformanceHandler\n);\n\nserver.tool(\n {\n name: \"meta_get_ads_performance\",\n description:\n \"Get Meta Ads ad-level performance for one or more ad accounts over a date range, useful for creative review and performance diagnostics.\",\n schema: metaAdsPerformanceSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n metaAdsPerformanceHandler\n);\n\nserver.tool(\n {\n name: \"meta_get_time_series\",\n description:\n \"Get a Meta Ads time series for one or more ad accounts over a date range, with daily, weekly, or monthly granularity.\",\n schema: metaTimeSeriesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n metaTimeSeriesHandler\n);\n\nserver.tool(\n {\n name: \"meta_get_placement_mix\",\n description:\n \"Get Meta Ads placement mix for one or more ad accounts over a date range, including publisher platform and platform position performance.\",\n schema: metaPlacementMixSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n metaPlacementMixHandler\n);\n\nserver.tool(\n {\n name: \"vtex_get_orders_summary\",\n description: \"Get aggregated orders summary by date range with currency-aware BI metrics.\",\n schema: ordersSummarySchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n ordersSummaryHandler\n);\n\nserver.tool(\n {\n name: \"vtex_get_order_details\",\n description: \"Get BI-focused detailed information for one or more orders.\",\n schema: orderDetailsSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n orderDetailsHandler\n);\n\nserver.tool(\n {\n name: \"vtex_check_inventory\",\n description: \"Check global SKU inventory and infer stock health status.\",\n schema: inventoryCheckSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n inventoryCheckHandler\n);\n\nserver.tool(\n {\n name: \"vtex_get_warehouse_inventory\",\n description: \"Get SKU inventory details for a specific warehouse.\",\n schema: warehouseInventorySchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n warehouseInventoryHandler\n);\n\nserver.tool(\n {\n name: \"vtex_update_inventory\",\n description:\n \"Update the stock quantity and unlimited-quantity mode for one SKU in one warehouse. This overwrites the current quantity and availability mode stored in VTEX for that warehouse.\",\n schema: updateInventorySchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n updateInventoryHandler\n);\n\nserver.tool(\n {\n name: \"vtex_update_lead_time\",\n description:\n \"Update the lead time for one SKU in one warehouse. This overwrites the current lead time value in VTEX for that warehouse.\",\n schema: updateLeadTimeSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n updateLeadTimeHandler\n);\n\nserver.tool(\n {\n name: \"vtex_toggle_unlimited_quantity\",\n description:\n \"Toggle only the unlimited-quantity mode for one SKU in one warehouse. This keeps the current stock quantity and overwrites only the unlimited availability flag.\",\n schema: toggleUnlimitedQuantitySchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n toggleUnlimitedQuantityHandler\n);\n\nserver.tool(\n {\n name: \"vtex_update_sku_price\",\n description:\n \"Update base pricing fields for one SKU in VTEX Pricing. This can overwrite base price, list price, cost price, markup, and, if fixedPrices is sent, it also replaces any fixed prices not included in the payload.\",\n schema: updateSkuPriceSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n updateSkuPriceHandler\n);\n\nserver.tool(\n {\n name: \"vtex_delete_sku_price\",\n description:\n \"Delete all base pricing and fixed prices for one SKU from VTEX Pricing. Before using this tool, the assistant must explain that this removes the SKU price record, mention that all fixed prices under that SKU are removed as well, and obtain explicit confirmation from the user. Only then should the tool be called with confirmed=true.\",\n schema: deleteSkuPriceSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n deleteSkuPriceHandler\n);\n\nserver.tool(\n {\n name: \"vtex_upsert_fixed_price\",\n description:\n \"Create or replace fixed prices for one SKU inside one price table or trade policy. The provided fixed prices overwrite the current entries for that price table.\",\n schema: upsertFixedPriceSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n upsertFixedPriceHandler\n);\n\nserver.tool(\n {\n name: \"vtex_delete_fixed_price\",\n description:\n \"Delete all fixed prices configured for one SKU inside one price table or trade policy.\",\n schema: deleteFixedPriceSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n deleteFixedPriceHandler\n);\n\nserver.tool(\n {\n name: \"vtex_activate_sku\",\n description:\n \"Activate one SKU by setting its active flag to true. This updates the SKU record in VTEX and preserves the current operational fields.\",\n schema: activateSkuSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n activateSkuHandler\n);\n\nserver.tool(\n {\n name: \"vtex_deactivate_sku\",\n description:\n \"Deactivate one SKU by setting its active flag to false. This updates the SKU record in VTEX and preserves the current operational fields.\",\n schema: deactivateSkuSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n deactivateSkuHandler\n);\n\nserver.tool(\n {\n name: \"vtex_update_product_basic_fields\",\n description:\n \"Update core product fields such as name, description, category, brand, visibility, and SEO fields. Only the provided fields are changed; the tool keeps the current VTEX values for the rest.\",\n schema: updateProductBasicFieldsSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n updateProductBasicFieldsHandler\n);\n\nserver.tool(\n {\n name: \"vtex_update_sku_basic_fields\",\n description:\n \"Update core SKU fields such as name, reference, EAN, dimensions, weight, measurement unit, and active flags. Only the provided fields are changed; the tool keeps the current VTEX values for the rest.\",\n schema: updateSkuBasicFieldsSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n updateSkuBasicFieldsHandler\n);\n\nserver.tool(\n {\n name: \"vtex_create_product\",\n description:\n \"Create one product in VTEX Catalog. You can point it to existing category and brand IDs, or ask VTEX Catalog to use categoryPath and brandName when those entities are not already mapped.\",\n schema: createProductSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n createProductHandler\n);\n\nserver.tool(\n {\n name: \"vtex_create_sku\",\n description:\n \"Create one SKU under an existing VTEX product. This creates the SKU record and can optionally attach one EAN after creation.\",\n schema: createSkuSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n createSkuHandler\n);\n\nserver.tool(\n {\n name: \"vtex_commercial_conditions\",\n description:\n \"Read VTEX commercial conditions through one action-based tool: list available condition records or get a specific condition used by checkout and installment strategies. VTEX Catalog API only exposes read-only GET endpoints for commercial conditions, so they cannot be created or modified through this API and new conditions must be created manually in the VTEX admin panel.\",\n schema: commercialConditionsSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n commercialConditionsHandler\n);\n\nserver.tool(\n {\n name: \"vtex_payment_rules\",\n description:\n \"Manage VTEX payment rules through one action-based tool: list, get, create, update, or delete rules that map installments, payment systems, and optional commercial-condition restrictions. Delete operations require confirmed=true and can immediately remove installment options from checkout.\",\n schema: paymentRulesSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n paymentRulesHandler\n);\n\nserver.tool(\n {\n name: \"vtex_get_brand\",\n description: \"Get one VTEX catalog brand by ID.\",\n schema: getBrandSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n getBrandHandler\n);\n\nserver.tool(\n {\n name: \"vtex_create_brand\",\n description:\n \"Create one brand in VTEX Catalog using the official brand contract. This creates the brand record and returns the created brand payload.\",\n schema: createBrandSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n createBrandHandler\n);\n\nserver.tool(\n {\n name: \"vtex_update_brand\",\n description:\n \"Update selected fields on one VTEX catalog brand. Only the provided fields are changed; the tool keeps the current VTEX values for the rest.\",\n schema: updateBrandSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n updateBrandHandler\n);\n\nserver.tool(\n {\n name: \"vtex_list_specification_groups\",\n description:\n \"List VTEX specification groups available for one category, optionally filtered by group name. Use this to discover a real field group before creating mock-only specifications.\",\n schema: listSpecificationGroupsSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n listSpecificationGroupsHandler\n);\n\nserver.tool(\n {\n name: \"vtex_get_product_specifications\",\n description: \"Get all specifications currently associated with one VTEX catalog product.\",\n schema: getProductSpecificationsSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n getProductSpecificationsHandler\n);\n\nserver.tool(\n {\n name: \"vtex_create_category\",\n description:\n \"Create one category in VTEX Catalog. This writes a new category record and can be used for top-level or child categories depending on fatherCategoryId.\",\n schema: createCategorySchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n createCategoryHandler\n);\n\nserver.tool(\n {\n name: \"vtex_update_category\",\n description:\n \"Update selected visible fields on one VTEX category, including activation through isActive. Use this tool for visible fields only, not hierarchy changes.\",\n schema: updateCategorySchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n updateCategoryHandler\n);\n\nserver.tool(\n {\n name: \"vtex_move_category\",\n description:\n \"Move one VTEX category under a different parent by changing only its hierarchy. Experimental/high-risk: VTEX officially warns that direct category-tree moves can be risky and may leave catalog inconsistencies. Supports preview/apply confirmation guardrails.\",\n schema: moveCategorySchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n moveCategoryHandler\n);\n\nserver.tool(\n {\n name: \"vtex_create_specification\",\n description:\n \"Create one specification field in VTEX Catalog, including its field type, group, and visibility flags.\",\n schema: createSpecificationSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n createSpecificationHandler\n);\n\nserver.tool(\n {\n name: \"vtex_create_specification_value\",\n description:\n \"Create one specification value for an existing VTEX specification field.\",\n schema: createSpecificationValueSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n createSpecificationValueHandler\n);\n\nserver.tool(\n {\n name: \"vtex_associate_specification\",\n description:\n \"Associate one specification to one product or one SKU. This writes a single specification association using either a fieldValueId or raw text, depending on the field type.\",\n schema: associateSpecificationSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n associateSpecificationHandler\n);\n\nserver.tool(\n {\n name: \"vtex_delete_product_specification\",\n description:\n \"Delete one specification association from one VTEX catalog product using the productId and the association/spec record ID (`Id` from `vtex_get_product_specifications`), not the field ID.\",\n schema: deleteProductSpecificationSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n deleteProductSpecificationHandler\n);\n\nserver.tool(\n {\n name: \"vtex_delete_all_product_specifications\",\n description:\n \"Delete all specification associations from one VTEX catalog product. This is high-risk and requires explicit confirmation before execution.\",\n schema: deleteAllProductSpecificationsSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n deleteAllProductSpecificationsHandler\n);\n\nserver.tool(\n {\n name: \"vtex_delete_brand\",\n description:\n \"Delete one VTEX catalog brand by ID. The caller must already know the brandId because this tool performs no pre-delete lookup or readback.\",\n schema: deleteBrandSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n deleteBrandHandler\n);\n\nserver.tool(\n {\n name: \"vtex_delete_catalog_image\",\n description:\n \"Delete one catalog image from a VTEX SKU by imageId. The caller must already know the imageId, typically from vtex_get_sku_images, because this tool performs no pre-delete lookup or readback.\",\n schema: deleteCatalogImageSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n deleteCatalogImageHandler\n);\n\nserver.tool(\n {\n name: \"vtex_delete_sku_specification\",\n description:\n \"Delete one specification association from one VTEX catalog SKU using the skuId and specificationId. This tool performs no pre-delete lookup or readback.\",\n schema: deleteSkuSpecificationSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n deleteSkuSpecificationHandler\n);\n\nserver.tool(\n {\n name: \"vtex_delete_all_sku_specifications\",\n description:\n \"Delete all specification associations from one VTEX catalog SKU. This is high-risk, requires explicit confirmation, and performs no pre-delete lookup or readback.\",\n schema: deleteAllSkuSpecificationsSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n deleteAllSkuSpecificationsHandler\n);\n\nserver.tool(\n {\n name: \"vtex_attach_catalog_image\",\n description:\n \"Attach one catalog image to one SKU using a public image URL. This adds a new SKU file entry in VTEX Catalog.\",\n schema: attachCatalogImageSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n attachCatalogImageHandler\n);\n\nserver.tool(\n {\n name: \"vtex_update_product_brand\",\n description:\n \"Update the brand assignment of one VTEX Catalog product. Changes the brand identifier the product is associated with.\",\n schema: updateProductBrandSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n updateProductBrandHandler\n);\n\nserver.tool(\n {\n name: \"vtex_add_sku_ean\",\n description:\n \"Append one EAN value to a VTEX SKU. This adds a new EAN to the existing set without replacing other EANs already assigned to the SKU.\",\n schema: addSkuEanSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n addSkuEanHandler\n);\n\nserver.tool(\n {\n name: \"vtex_replace_sku_eans\",\n description:\n \"Replace the entire set of EAN values on a VTEX SKU with a new list. All previously assigned EANs for the SKU are removed and the provided values become the only ones.\",\n schema: replaceSkuEansSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n replaceSkuEansHandler\n);\n\nserver.tool(\n {\n name: \"vtex_get_sku_images\",\n description:\n \"List all images currently attached to a VTEX SKU. Returns image identifiers, URLs, alt text, labels, and order position for each image.\",\n schema: getSkuImagesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n getSkuImagesHandler\n);\n\nserver.tool(\n {\n name: \"vtex_update_catalog_image\",\n description:\n \"Update an existing catalog image on a VTEX SKU identified by the image identifier. Use to change the URL, alt text, label, or display position of an image already attached to the SKU.\",\n schema: updateCatalogImageSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n updateCatalogImageHandler\n);\n\nserver.tool(\n {\n name: \"vtex_cancel_order\",\n description:\n \"Cancel one order in VTEX Orders API. Before using this tool, the assistant must explain what will be canceled, mention that invoiced orders cannot be canceled and cancellations cannot be reversed, and obtain explicit confirmation from the user. Only then should the tool be called with confirmed=true.\",\n schema: cancelOrderSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n cancelOrderHandler\n);\n\nserver.tool(\n {\n name: \"vtex_invoice_order\",\n description:\n \"Invoice one order in VTEX Orders API. Before using this tool, the assistant must explain that invoicing changes the order's logistics and financial state, mention that the tool writes invoice data into VTEX, and obtain explicit confirmation from the user. Only then should the tool be called with confirmed=true.\",\n schema: invoiceOrderSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n invoiceOrderHandler\n);\n\nserver.tool(\n {\n name: \"vtex_add_order_tracking\",\n description:\n \"Add tracking data to one invoiced order in VTEX. Before using this tool, the assistant must explain which invoice and tracking data will be updated, mention that this affects the operational communication sent to the customer, and obtain explicit confirmation from the user. Only then should the tool be called with confirmed=true.\",\n schema: addOrderTrackingSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n addOrderTrackingHandler\n);\n\nserver.tool(\n {\n name: \"vtex_get_sku_price\",\n description: \"Get base pricing information for one SKU.\",\n schema: skuPriceSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n skuPriceHandler\n);\n\nserver.tool(\n {\n name: \"vtex_get_computed_price\",\n description: \"Get computed SKU price by price table context.\",\n schema: computedPriceSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n computedPriceHandler\n);\n\nserver.tool(\n {\n name: \"vtex_get_product_offers\",\n description: \"Get offers for all SKUs under a product.\",\n schema: productOffersSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n productOffersHandler\n);\n\nserver.tool(\n {\n name: \"vtex_get_sku_offers\",\n description: \"Get offers for a specific SKU under a product.\",\n schema: skuOffersSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n skuOffersHandler\n);\n\nserver.tool(\n {\n name: \"vtex_get_category_tree\",\n description: \"Get the VTEX catalog category tree for a profile with an optional depth limit.\",\n schema: getCategoryTreeSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n getCategoryTreeHandler\n);\n\nserver.tool(\n {\n name: \"vtex_list_categories\",\n description: \"List VTEX catalog categories using compact rows and pagination metadata.\",\n schema: listCategoriesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n listCategoriesHandler\n);\n\nserver.tool(\n {\n name: \"vtex_get_category\",\n description: \"Get one VTEX catalog category by ID.\",\n schema: getCategorySchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n getCategoryHandler\n);\n\nserver.tool(\n {\n name: \"vtex_list_brands\",\n description: \"List VTEX catalog brands using compact rows and pagination metadata.\",\n schema: listBrandsSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n listBrandsHandler\n);\n\nserver.tool(\n {\n name: \"vtex_get_product\",\n description: \"Get one VTEX catalog product by ID.\",\n schema: getProductSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n getProductHandler\n);\n\nserver.tool(\n {\n name: \"vtex_get_sku\",\n description: \"Get one VTEX catalog SKU by ID.\",\n schema: getSkuSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n getSkuHandler\n);\n\nserver.tool(\n {\n name: \"vtex_list_products\",\n description: \"List VTEX catalog product IDs with compact rows, pagination metadata, and optional keyword search.\",\n schema: listProductsSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n listProductsHandler\n);\n\nserver.tool(\n {\n name: \"vtex_list_products_by_category\",\n description:\n \"List VTEX catalog products for one category using compact rows and pagination metadata (VTEX caps this endpoint at 50 items per page).\",\n schema: listProductsByCategorySchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n listProductsByCategoryHandler\n);\n\nserver.tool(\n {\n name: \"vtex_list_skus_by_product\",\n description: \"List VTEX SKUs belonging to one product using compact rows.\",\n schema: listSkusByProductSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n listSkusByProductHandler\n);\n\nserver.tool(\n {\n name: \"config_check_database_connection\",\n description:\n \"Check whether the MCP can reach its configured database and whether critical tables are present.\",\n schema: checkDatabaseConnectionSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: false,\n },\n },\n checkDatabaseConnectionHandler\n);\n\nserver.tool(\n {\n name: \"config_list_profiles\",\n description: \"List client profiles currently available in the MCP database.\",\n schema: listProfilesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: false,\n },\n },\n listProfilesHandler\n);\n\nserver.tool(\n {\n name: \"config_get_benchmarks\",\n description:\n \"Devuelve benchmarks de Argentina para c\u00E1lculos financieros: IIBB por provincia, costos de cuotas sin inter\u00E9s (Ahora 12, Plan Z), fees de pasarelas de pago (Mercado Pago, Mobbex, Payway, dLocal), costos log\u00EDsticos por zona y calendario comercial con impacto de revenue.\",\n schema: getBenchmarksSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: false,\n },\n },\n getBenchmarksHandler\n);\n\nserver.tool(\n {\n name: \"gads_get_channel_mix\",\n description:\n \"Get Google Ads mix by advertising channel type for a date range, including spend, clicks, impressions, conversions, conversion value, and channel share.\",\n schema: googleAdsChannelMixSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n googleAdsChannelMixHandler\n);\n\nserver.tool(\n {\n name: \"gads_get_customer_info\",\n description:\n \"Get summary information for one Google Ads customer account, including name, currency, timezone, and whether the account is a manager (MCC).\",\n schema: googleAdsCustomerInfoSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n googleAdsCustomerInfoHandler\n);\n\nserver.tool(\n {\n name: \"gads_list_customer_clients\",\n description:\n \"List visible child accounts for a Google Ads customer account, usually used to inspect manager (MCC) account structure.\",\n schema: googleAdsCustomerClientsSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n googleAdsCustomerClientsHandler\n);\n\nserver.tool(\n {\n name: \"gads_get_account_overview\",\n description:\n \"Get a Google Ads account overview for a date range, including spend, clicks, impressions, conversions, conversion value, CTR, CPC, CPA, and ROAS.\",\n schema: googleAdsAccountOverviewSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n googleAdsAccountOverviewHandler\n);\n\nserver.tool(\n {\n name: \"gads_get_campaign_performance\",\n description:\n \"Get Google Ads campaign-level performance for a date range with spend, clicks, impressions, conversions, conversion value, CTR, CPC, CPA, and ROAS.\",\n schema: googleAdsCampaignPerformanceSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n googleAdsCampaignPerformanceHandler\n);\n\nserver.tool(\n {\n name: \"gads_get_time_series\",\n description:\n \"Get Google Ads daily or weekly time series for a date range with spend, clicks, impressions, conversions, conversion value, CPA, and ROAS.\",\n schema: googleAdsTimeSeriesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n googleAdsTimeSeriesHandler\n);\n\nserver.tool(\n {\n name: \"gads_get_search_terms_summary\",\n description:\n \"Get a ranked summary of Google Ads search terms for a date range, including spend, clicks, impressions, conversions, conversion value, CPA, and ROAS.\",\n schema: googleAdsSearchTermsSummarySchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n googleAdsSearchTermsSummaryHandler\n);\n\nserver.tool(\n {\n name: \"gads_get_account_risks\",\n description:\n \"Evaluate Google Ads account risks for a date range, including concentration, low efficiency, weak conversion volume, and recent deterioration signals.\",\n schema: googleAdsAccountRisksSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n googleAdsAccountRisksHandler\n);\n\nserver.tool(\n {\n name: \"gads_get_break_even_analysis\",\n description:\n \"Compare current Google Ads performance against a user-provided break-even ROAS and optional CPA target.\",\n schema: googleAdsBreakEvenAnalysisSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n googleAdsBreakEvenAnalysisHandler\n);\n\nserver.tool(\n {\n name: \"gads_get_scaling_health\",\n description:\n \"Assess whether a Google Ads account is ready to scale using break-even ROAS, optional CPA target, concentration, stability, and conversion volume.\",\n schema: googleAdsScalingHealthSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n googleAdsScalingHealthHandler\n);\n\nserver.tool(\n {\n name: \"gads_compare_accounts\",\n description:\n \"Compare multiple Google Ads accounts across the same date range and rank them by basic risk and efficiency signals.\",\n schema: googleAdsCompareAccountsSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n googleAdsCompareAccountsHandler\n);\n\nserver.tool(\n {\n name: \"gsc_list_accessible_sites\",\n description: \"List all Search Console sites accessible with the configured Google credentials.\",\n schema: listAccessibleSitesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n listAccessibleSitesHandler\n);\n\nserver.tool(\n {\n name: \"gsc_get_site_context\",\n description: \"Validate one Search Console site and return the resolved site context used by the module.\",\n schema: searchConsoleSiteContextSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n searchConsoleSiteContextHandler\n);\n\nserver.tool(\n {\n name: \"gsc_get_search_performance\",\n description: \"Run a flexible Search Console performance query with custom dimensions and filters.\",\n schema: searchConsoleSearchPerformanceSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n searchConsoleSearchPerformanceHandler\n);\n\nserver.tool(\n {\n name: \"gsc_get_query_performance\",\n description: \"Get Search Console performance grouped by search query for a date range.\",\n schema: searchConsoleQueryPerformanceSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n searchConsoleQueryPerformanceHandler\n);\n\nserver.tool(\n {\n name: \"gsc_get_page_performance\",\n description: \"Get Search Console performance grouped by landing page for a date range.\",\n schema: searchConsolePagePerformanceSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n searchConsolePagePerformanceHandler\n);\n\nserver.tool(\n {\n name: \"gsc_get_query_page_matrix\",\n description: \"Get a Search Console matrix crossing queries and landing pages for a date range.\",\n schema: searchConsoleQueryPageMatrixSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n searchConsoleQueryPageMatrixHandler\n);\n\nserver.tool(\n {\n name: \"gsc_get_device_breakdown\",\n description: \"Break down Search Console performance by device for a date range.\",\n schema: searchConsoleDeviceBreakdownSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n searchConsoleDeviceBreakdownHandler\n);\n\nserver.tool(\n {\n name: \"gsc_get_country_breakdown\",\n description: \"Break down Search Console performance by country for a date range.\",\n schema: searchConsoleCountryBreakdownSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n searchConsoleCountryBreakdownHandler\n);\n\nserver.tool(\n {\n name: \"gsc_find_high_impression_low_click_queries\",\n description: \"Find queries with high Search Console impression volume but weak click capture.\",\n schema: searchConsoleHighImpressionLowClickQueriesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n searchConsoleHighImpressionLowClickQueriesHandler\n);\n\nserver.tool(\n {\n name: \"gsc_find_low_ctr_opportunities\",\n description: \"Find Search Console queries that rank reasonably well but underperform on CTR.\",\n schema: searchConsoleLowCtrOpportunitiesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n searchConsoleLowCtrOpportunitiesHandler\n);\n\nserver.tool(\n {\n name: \"gsc_detect_visibility_declines\",\n description: \"Detect Search Console pages that are losing visibility between two periods.\",\n schema: searchConsoleVisibilityDeclinesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n searchConsoleVisibilityDeclinesHandler\n);\n\nserver.tool(\n {\n name: \"gsc_find_product_demand_low_capture_queries\",\n description: \"Find product-intent queries with demand in Search Console but weak click capture.\",\n schema: searchConsoleProductDemandLowCaptureQueriesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n searchConsoleProductDemandLowCaptureQueriesHandler\n);\n\nserver.tool(\n {\n name: \"gsc_find_rising_non_brand_queries\",\n description: \"Find non-branded Search Console queries growing between two periods.\",\n schema: searchConsoleRisingNonBrandQueriesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n searchConsoleRisingNonBrandQueriesHandler\n);\n\nserver.tool(\n {\n name: \"gsc_find_quick_win_opportunities\",\n description: \"Prioritize Search Console quick wins across CTR improvements and ranking gains.\",\n schema: searchConsoleQuickWinOpportunitiesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n searchConsoleQuickWinOpportunitiesHandler\n);\n\nserver.tool(\n {\n name: \"ga4_list_accessible_properties\",\n description: \"List all Google Analytics 4 accounts and properties accessible with the configured OAuth credentials.\",\n schema: listAccessiblePropertiesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n listAccessiblePropertiesHandler\n);\n\nserver.tool(\n {\n name: \"ga4_get_property_info\",\n description: \"Get summary information and capabilities for one GA4 property, including ecommerce and attribution support.\",\n schema: propertyInfoSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n propertyInfoHandler\n);\n\nserver.tool(\n {\n name: \"ga4_get_channel_mix\",\n description: \"Get traffic mix by default channel group with shares of sessions and users for a date range.\",\n schema: channelMixSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n channelMixHandler\n);\n\nserver.tool(\n {\n name: \"ga4_get_source_medium_breakdown\",\n description: \"Get traffic breakdown by session source / medium with session and user share for a date range.\",\n schema: sourceMediumBreakdownSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n sourceMediumBreakdownHandler\n);\n\nserver.tool(\n {\n name: \"ga4_get_revenue_overview\",\n description: \"Get GA4 ecommerce overview for a date range including transactions, revenue, purchasers, and rates.\",\n schema: revenueOverviewSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n revenueOverviewHandler\n);\n\nserver.tool(\n {\n name: \"ga4_get_revenue_trend\",\n description: \"Get daily GA4 revenue and transactions trend for a date range.\",\n schema: revenueTrendSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n revenueTrendHandler\n);\n\nserver.tool(\n {\n name: \"ga4_get_revenue_by_channel\",\n description: \"Get GA4 revenue and transactions by default channel group for a date range.\",\n schema: revenueByChannelSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n revenueByChannelHandler\n);\n\nserver.tool(\n {\n name: \"ga4_get_top_landing_pages\",\n description: \"Get top landing pages by sessions and users for a date range.\",\n schema: topLandingPagesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n topLandingPagesHandler\n);\n\nserver.tool(\n {\n name: \"ga4_get_engagement_overview\",\n description: \"Get GA4 engagement metrics for a date range, including engagement rate, bounce rate, and session duration.\",\n schema: engagementOverviewSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n engagementOverviewHandler\n);\n\nserver.tool(\n {\n name: \"ga4_detect_attribution_gaps\",\n description: \"Detect unattributed traffic, unassigned channels, and not-set source / medium values in GA4.\",\n schema: attributionGapsSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n attributionGapsHandler\n);\n\nserver.tool(\n {\n name: \"ga4_check_ecommerce_tracking_health\",\n description: \"Evaluate whether GA4 ecommerce tracking appears complete by checking item views, carts, checkouts, purchases, and refunds.\",\n schema: ecommerceTrackingHealthSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n ecommerceTrackingHealthHandler\n);\n\nserver.tool(\n {\n name: \"meli_get_account_context\",\n description: \"Get MercadoLibre account context for the selected profile, including seller id, nickname, scopes, and token expiry.\",\n schema: meliGetAccountContextSchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliGetAccountContextHandler\n);\n\nserver.tool(\n {\n name: \"meli_validate_connection\",\n description: \"Validate the MercadoLibre connection for a profile, refreshing tokens if needed and returning the resulting status.\",\n schema: meliValidateConnectionSchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliValidateConnectionHandler\n);\n\nserver.tool(\n {\n name: \"meli_get_orders_summary\",\n description: \"Get MercadoLibre order KPIs or compact order detail chunks for a date range. For reports, summaries, calculations, analysis, KPIs, metrics, performance, revenue, cancellations, refunds, discounts, shipping, trends, flows, or SKU economics, default to responseMode=calculations (calculations-only output, no order rows). Use responseMode=orders_chunk only when the user explicitly needs order-level detail or a question cannot be answered from calculations; it returns up to 15 pages of compact order rows with continuation metadata so the model can fetch more chunks if needed.\",\n schema: meliGetOrdersSummarySchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliGetOrdersSummaryHandler\n);\n\nserver.tool(\n {\n name: \"meli_get_order_details\",\n description: \"Get MercadoLibre order details for one or more order ids with partial-failure handling.\",\n schema: meliGetOrderDetailsSchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliGetOrderDetailsHandler\n);\n\nserver.tool(\n {\n name: \"meli_get_sales_by_item\",\n description: \"Aggregate MercadoLibre sales by item and variation for a date range, split by currency. Returns sales_by_item_schema plus compact positional rows to minimize tokens. The tool fan-outs internally across all order-search pages for the range when possible and returns metadata that makes partial coverage explicit if some pages fail.\",\n schema: meliGetSalesByItemSchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliGetSalesByItemHandler\n);\n\nserver.tool(\n {\n name: \"meli_get_sales_trend\",\n description: \"Build a MercadoLibre sales trend by day or week for a date range, split by currency.\",\n schema: meliGetSalesTrendSchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliGetSalesTrendHandler\n);\n\nserver.tool(\n {\n name: \"meli_get_shipping_summary\",\n description: \"Build a MercadoLibre shipping report for a date range. Default responseMode=calculations returns aggregate delivery health, logistics mix, cost, and daily trend KPIs; responseMode=shipments_chunk returns compact shipment rows with continuation metadata.\",\n schema: meliGetShippingSummarySchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliGetShippingSummaryHandler\n);\n\nserver.tool(\n {\n name: \"meli_get_item_visits\",\n description: \"Get MercadoLibre visits totals for seller-level date ranges or item-level time windows.\",\n schema: meliGetItemVisitsSchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliGetItemVisitsHandler\n);\n\nserver.tool(\n {\n name: \"meli_get_store_performance\",\n description: \"Combine MercadoLibre orders, items, and visits into an executive store performance summary.\",\n schema: meliGetStorePerformanceSchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliGetStorePerformanceHandler\n);\n\nserver.tool(\n {\n name: \"meli_search_items\",\n description: \"Search MercadoLibre seller items with compact detailed rows. Defaults to status=active, supports title text search, and returns items_schema plus compact item rows instead of raw item ids.\",\n schema: meliSearchItemsSchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliSearchItemsHandler\n);\n\nserver.tool(\n {\n name: \"meli_get_item_details\",\n description: \"Get rich MercadoLibre item details for one or more item ids with multiget and fallback batch handling. Returns near-raw listing context including attributes, sale terms, shipping, seller/location, dates, tags, and status, excluding pictures.\",\n schema: meliGetItemDetailsSchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliGetItemDetailsHandler\n);\n\nserver.tool(\n {\n name: \"meli_get_listing_quality\",\n description: \"Get listing quality and performance signals for a MercadoLibre item.\",\n schema: meliGetListingQualitySchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliGetListingQualityHandler\n);\n\nserver.tool(\n {\n name: \"meli_predict_category\",\n description: \"Predict candidate MercadoLibre categories and domains from a product query.\",\n schema: meliPredictCategorySchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliPredictCategoryHandler\n);\n\nserver.tool(\n {\n name: \"meli_get_category_requirements\",\n description: \"Get MercadoLibre category attribute requirements and shipping preferences for a category.\",\n schema: meliGetCategoryRequirementsSchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliGetCategoryRequirementsHandler\n);\n\nserver.tool(\n {\n name: \"meli_get_site_categories_and_listing_types\",\n description: \"Get MercadoLibre Argentina site categories and available listing types in a single catalog response.\",\n schema: meliGetSiteCategoriesAndListingTypesSchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliGetSiteCategoriesAndListingTypesHandler\n);\n\nserver.tool(\n {\n name: \"meli_estimate_listing_fee\",\n description: \"Estimate MercadoLibre selling fees with guided precision. Accepts an itemId to autocomplete listing parameters or manual price/category/listing/logistics/weight inputs, and returns missing params when precision can improve.\",\n schema: meliEstimateListingFeeSchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliEstimateListingFeeHandler\n);\n\nserver.tool(\n {\n name: \"meli_estimate_product_profitability\",\n description: \"Estimate whether a MercadoLibre product is profitable, using precise fee quotes plus historical order and shipping data. Best when you already have the itemId; if you only have the product name/title, use meli_search_items first to find the correct itemId. If user costs are missing, returns break-even limits and guided questions instead of failing.\",\n schema: meliEstimateProductProfitabilitySchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliEstimateProductProfitabilityHandler\n);\n\nserver.tool(\n {\n name: \"meli_create_item\",\n description: \"Create a MercadoLibre item directly for the selected profile, optionally publishing its description too.\",\n schema: meliCreateItemSchema,\n annotations: { readOnlyHint: false, destructiveHint: false, openWorldHint: true },\n },\n meliCreateItemHandler\n);\n\nserver.tool(\n {\n name: \"meli_update_item_basic_fields\",\n description: \"Update MercadoLibre item fields such as title, price, quantity, attributes, shipping, and status.\",\n schema: meliUpdateItemBasicFieldsSchema,\n annotations: { readOnlyHint: false, destructiveHint: true, openWorldHint: true },\n },\n meliUpdateItemBasicFieldsHandler\n);\n\nserver.tool(\n {\n name: \"meli_update_item_description\",\n description: \"Create or replace the published MercadoLibre plain-text item description.\",\n schema: meliUpdateItemDescriptionSchema,\n annotations: { readOnlyHint: false, destructiveHint: true, openWorldHint: true },\n },\n meliUpdateItemDescriptionHandler\n);\n\nserver.tool(\n {\n name: \"meli_update_item_pictures\",\n description: \"Add or replace MercadoLibre item pictures using public image URLs.\",\n schema: meliUpdateItemPicturesSchema,\n annotations: { readOnlyHint: false, destructiveHint: true, openWorldHint: true },\n },\n meliUpdateItemPicturesHandler\n);\n\nserver.tool(\n {\n name: \"meli_pause_or_reactivate_item\",\n description: \"Pause or reactivate a MercadoLibre item by changing its listing status.\",\n schema: meliPauseOrReactivateItemSchema,\n annotations: { readOnlyHint: false, destructiveHint: true, openWorldHint: true },\n },\n meliPauseOrReactivateItemHandler\n);\n\nserver.tool(\n {\n name: \"meli_search_questions\",\n description: \"Search MercadoLibre buyer questions for the selected seller with compact pagination-aware output.\",\n schema: meliSearchQuestionsSchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliSearchQuestionsHandler\n);\n\nserver.tool(\n {\n name: \"meli_answer_question\",\n description: \"Publish a MercadoLibre answer for a specific buyer question.\",\n schema: meliAnswerQuestionSchema,\n annotations: { readOnlyHint: false, destructiveHint: false, openWorldHint: true },\n },\n meliAnswerQuestionHandler\n);\n\nserver.prompt(\n {\n name: \"vtex-reporte-ventas\",\n description:\n \"Genera un prompt de reporte de ventas VTEX usando una sola entrada temporal en lenguaje natural.\",\n schema: reporteVentasPromptSchema,\n },\n reporteVentasPromptHandler\n);\n\nasync function createStdioTransportFromMcpUseDependency() {\n const requireFromHere = createRequire(import.meta.url);\n const mcpUseServerEntry = requireFromHere.resolve(\"mcp-use/server\");\n const requireFromMcpUse = createRequire(mcpUseServerEntry);\n const stdioModulePath = requireFromMcpUse.resolve(\"@modelcontextprotocol/sdk/server/stdio.js\");\n const stdioModule = (await import(pathToFileURL(stdioModulePath).href)) as {\n StdioServerTransport: new () => unknown;\n };\n\n return new stdioModule.StdioServerTransport();\n}\n\nasync function startServer() {\n const transport = (process.env.MCP_TRANSPORT ?? \"http\").trim().toLowerCase();\n\n if (transport === \"stdio\") {\n const stdioTransport = await createStdioTransportFromMcpUseDependency();\n await server.nativeServer.connect(stdioTransport as any);\n console.error(\"MCP server running on stdio transport\");\n return;\n }\n\n if (transport === \"http\") {\n const port = process.env.PORT ? Number.parseInt(process.env.PORT, 10) : 3000;\n if (Number.isNaN(port)) {\n throw new Error(`Invalid PORT value: ${process.env.PORT}`);\n }\n\n console.error(`MCP server running on http transport (port ${port})`);\n await server.listen(port);\n return;\n }\n\n throw new Error(`Invalid MCP_TRANSPORT \"${process.env.MCP_TRANSPORT}\". Use \"http\" or \"stdio\".`);\n}\n\nstartServer().catch((error) => {\n console.error(\"Failed to start MCP server\", error);\n process.exit(1);\n});\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,iBAAiB;AAE1B;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,sBAAsB,2BAA2B;AAC1D;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,E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",
|
|
4
|
+
"sourcesContent": ["import { createRequire } from \"node:module\";\nimport { pathToFileURL } from \"node:url\";\nimport { MCPServer } from \"mcp-use/server\";\n\nimport {\n reporteVentasPromptHandler,\n reporteVentasPromptSchema,\n} from \"./src/prompts/reporte-ventas.js\";\nimport { getBenchmarksHandler, getBenchmarksSchema } from \"./src/config/benchmarks.js\";\nimport {\n checkDatabaseConnectionHandler,\n checkDatabaseConnectionSchema,\n listProfilesHandler,\n listProfilesSchema,\n googleAdsAccountRisksHandler,\n googleAdsAccountRisksSchema,\n googleAdsAccountOverviewHandler,\n googleAdsAccountOverviewSchema,\n googleAdsBreakEvenAnalysisHandler,\n googleAdsBreakEvenAnalysisSchema,\n googleAdsCampaignPerformanceHandler,\n googleAdsCampaignPerformanceSchema,\n googleAdsChannelMixHandler,\n googleAdsChannelMixSchema,\n googleAdsCompareAccountsHandler,\n googleAdsCompareAccountsSchema,\n googleAdsCustomerClientsHandler,\n googleAdsCustomerClientsSchema,\n googleAdsCustomerInfoHandler,\n googleAdsCustomerInfoSchema,\n googleAdsSearchTermsSummaryHandler,\n googleAdsSearchTermsSummarySchema,\n googleAdsScalingHealthHandler,\n googleAdsScalingHealthSchema,\n googleAdsTimeSeriesHandler,\n googleAdsTimeSeriesSchema,\n listAccessibleSitesHandler,\n listAccessibleSitesSchema,\n attributionGapsHandler,\n attributionGapsSchema,\n activateSkuHandler,\n activateSkuSchema,\n addOrderTrackingHandler,\n addOrderTrackingSchema,\n associateSpecificationHandler,\n associateSpecificationSchema,\n attachCatalogImageHandler,\n attachCatalogImageSchema,\n addSkuEanHandler,\n addSkuEanSchema,\n cancelOrderHandler,\n commercialConditionsHandler,\n commercialConditionsSchema,\n getSkuImagesHandler,\n getSkuImagesSchema,\n paymentRulesHandler,\n paymentRulesSchema,\n replaceSkuEansHandler,\n replaceSkuEansSchema,\n updateCatalogImageHandler,\n updateCatalogImageSchema,\n updateProductBrandHandler,\n updateProductBrandSchema,\n cancelOrderSchema,\n channelMixHandler,\n channelMixSchema,\n computedPriceHandler,\n computedPriceSchema,\n createBrandHandler,\n createBrandSchema,\n createCategoryHandler,\n createCategorySchema,\n deleteAllProductSpecificationsHandler,\n deleteAllProductSpecificationsSchema,\n deleteAllSkuSpecificationsHandler,\n deleteAllSkuSpecificationsSchema,\n deleteBrandHandler,\n deleteBrandSchema,\n deleteCatalogImageHandler,\n deleteCatalogImageSchema,\n deleteProductSpecificationHandler,\n deleteProductSpecificationSchema,\n deleteSkuSpecificationHandler,\n deleteSkuSpecificationSchema,\n getBrandHandler,\n getBrandSchema,\n listSpecificationGroupsHandler,\n listSpecificationGroupsSchema,\n moveCategoryHandler,\n moveCategorySchema,\n createProductHandler,\n createProductSchema,\n createSkuHandler,\n createSkuSchema,\n createSpecificationHandler,\n createSpecificationSchema,\n createSpecificationValueHandler,\n createSpecificationValueSchema,\n getCategoryHandler,\n getCategorySchema,\n getCategoryTreeHandler,\n getCategoryTreeSchema,\n getProductHandler,\n getProductSchema,\n getProductSpecificationsHandler,\n getProductSpecificationsSchema,\n getSkuHandler,\n getSkuSchema,\n deactivateSkuHandler,\n deactivateSkuSchema,\n deleteFixedPriceHandler,\n deleteFixedPriceSchema,\n deleteSkuPriceHandler,\n deleteSkuPriceSchema,\n ecommerceTrackingHealthHandler,\n ecommerceTrackingHealthSchema,\n engagementOverviewHandler,\n engagementOverviewSchema,\n invoiceOrderHandler,\n invoiceOrderSchema,\n inventoryCheckHandler,\n inventoryCheckSchema,\n listAccessiblePropertiesHandler,\n listAccessiblePropertiesSchema,\n listBrandsHandler,\n listBrandsSchema,\n listCategoriesHandler,\n listCategoriesSchema,\n listProductsHandler,\n listProductsByCategoryHandler,\n listProductsByCategorySchema,\n listProductsSchema,\n listSkusByProductHandler,\n listSkusByProductSchema,\n metaAccountOverviewHandler,\n metaAccountOverviewSchema,\n metaAdAccountInfoHandler,\n metaAdAccountInfoSchema,\n metaAdsPerformanceHandler,\n metaAdsPerformanceSchema,\n metaCampaignPerformanceHandler,\n metaCampaignPerformanceSchema,\n metaListAccessibleAdAccountsHandler,\n metaListAccessibleAdAccountsSchema,\n metaListAccessibleBusinessesHandler,\n metaListAccessibleBusinessesSchema,\n metaPlacementMixHandler,\n metaPlacementMixSchema,\n metaTimeSeriesHandler,\n metaTimeSeriesSchema,\n searchConsoleCountryBreakdownHandler,\n searchConsoleCountryBreakdownSchema,\n searchConsoleDeviceBreakdownHandler,\n searchConsoleDeviceBreakdownSchema,\n searchConsoleHighImpressionLowClickQueriesHandler,\n searchConsoleHighImpressionLowClickQueriesSchema,\n searchConsoleLowCtrOpportunitiesHandler,\n searchConsoleLowCtrOpportunitiesSchema,\n searchConsolePagePerformanceHandler,\n searchConsolePagePerformanceSchema,\n searchConsoleProductDemandLowCaptureQueriesHandler,\n searchConsoleProductDemandLowCaptureQueriesSchema,\n searchConsoleQueryPageMatrixHandler,\n searchConsoleQueryPageMatrixSchema,\n searchConsoleQueryPerformanceHandler,\n searchConsoleQueryPerformanceSchema,\n searchConsoleQuickWinOpportunitiesHandler,\n searchConsoleQuickWinOpportunitiesSchema,\n searchConsoleRisingNonBrandQueriesHandler,\n searchConsoleRisingNonBrandQueriesSchema,\n searchConsoleSearchPerformanceHandler,\n searchConsoleSearchPerformanceSchema,\n searchConsoleSiteContextHandler,\n searchConsoleSiteContextSchema,\n searchConsoleVisibilityDeclinesHandler,\n searchConsoleVisibilityDeclinesSchema,\n orderDetailsHandler,\n orderDetailsSchema,\n ordersSummaryHandler,\n ordersSummarySchema,\n propertyInfoHandler,\n propertyInfoSchema,\n productOffersHandler,\n productOffersSchema,\n revenueByChannelHandler,\n revenueByChannelSchema,\n revenueOverviewHandler,\n revenueOverviewSchema,\n revenueTrendHandler,\n revenueTrendSchema,\n skuOffersHandler,\n skuOffersSchema,\n toggleUnlimitedQuantityHandler,\n toggleUnlimitedQuantitySchema,\n skuPriceHandler,\n skuPriceSchema,\n sourceMediumBreakdownHandler,\n sourceMediumBreakdownSchema,\n topLandingPagesHandler,\n topLandingPagesSchema,\n updateInventoryHandler,\n updateInventorySchema,\n updateLeadTimeHandler,\n updateLeadTimeSchema,\n updateCategoryHandler,\n updateCategorySchema,\n updateBrandHandler,\n updateBrandSchema,\n updateProductBasicFieldsHandler,\n updateProductBasicFieldsSchema,\n updateSkuBasicFieldsHandler,\n updateSkuBasicFieldsSchema,\n updateSkuPriceHandler,\n updateSkuPriceSchema,\n upsertFixedPriceHandler,\n upsertFixedPriceSchema,\n warehouseInventoryHandler,\n warehouseInventorySchema,\n} from \"./src/tools/index.js\";\nimport {\n meliAnswerQuestionHandler,\n meliAnswerQuestionSchema,\n meliCreateItemHandler,\n meliCreateItemSchema,\n meliEstimateListingFeeHandler,\n meliEstimateListingFeeSchema,\n meliEstimateProductProfitabilityHandler,\n meliEstimateProductProfitabilitySchema,\n meliGetAccountContextHandler,\n meliGetAccountContextSchema,\n meliGetCategoryRequirementsHandler,\n meliGetCategoryRequirementsSchema,\n meliGetSiteCategoriesAndListingTypesHandler,\n meliGetSiteCategoriesAndListingTypesSchema,\n meliGetItemDetailsHandler,\n meliGetItemDetailsSchema,\n meliGetItemVisitsHandler,\n meliGetItemVisitsSchema,\n meliGetListingQualityHandler,\n meliGetListingQualitySchema,\n meliGetOrderDetailsHandler,\n meliGetOrderDetailsSchema,\n meliGetOrdersSummaryHandler,\n meliGetOrdersSummarySchema,\n meliGetSalesByItemHandler,\n meliGetSalesByItemSchema,\n meliGetSalesTrendHandler,\n meliGetSalesTrendSchema,\n meliGetShippingSummaryHandler,\n meliGetShippingSummarySchema,\n meliGetStorePerformanceHandler,\n meliGetStorePerformanceSchema,\n meliPauseOrReactivateItemHandler,\n meliPauseOrReactivateItemSchema,\n meliPredictCategoryHandler,\n meliPredictCategorySchema,\n meliSearchItemsHandler,\n meliSearchItemsSchema,\n meliSearchQuestionsHandler,\n meliSearchQuestionsSchema,\n meliUpdateItemBasicFieldsHandler,\n meliUpdateItemBasicFieldsSchema,\n meliUpdateItemDescriptionHandler,\n meliUpdateItemDescriptionSchema,\n meliUpdateItemPicturesHandler,\n meliUpdateItemPicturesSchema,\n meliValidateConnectionHandler,\n meliValidateConnectionSchema,\n meliGetBillingProvisionsSummaryHandler,\n meliGetBillingProvisionsSummarySchema,\n} from \"./src/tools/index.js\";\n\nconst server = new MCPServer({\n name: \"bi-mcp\",\n title: \"BI MCP\",\n version: \"1.0.0\",\n description:\n \"Business Intelligence MCP server with VTEX, Google, and Meta Ads tools for ecommerce analysis.\",\n baseUrl: process.env.MCP_URL || \"http://localhost:3000\",\n favicon: \"favicon.ico\",\n icons: [\n {\n src: \"icon.svg\",\n mimeType: \"image/svg+xml\",\n sizes: [\"512x512\"],\n },\n ],\n});\n\nserver.tool(\n {\n name: \"meta_list_accessible_businesses\",\n description:\n \"List Meta businesses accessible with the configured token, useful for onboarding and permission validation.\",\n schema: metaListAccessibleBusinessesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n metaListAccessibleBusinessesHandler\n);\n\nserver.tool(\n {\n name: \"meta_list_accessible_ad_accounts\",\n description:\n \"List Meta ad accounts accessible with the configured token, including IDs, currencies, business context, and status.\",\n schema: metaListAccessibleAdAccountsSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n metaListAccessibleAdAccountsHandler\n);\n\nserver.tool(\n {\n name: \"meta_get_ad_account_info\",\n description:\n \"Get summary information for one Meta ad account, including name, currency, timezone, business, and account status.\",\n schema: metaAdAccountInfoSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n metaAdAccountInfoHandler\n);\n\nserver.tool(\n {\n name: \"meta_get_account_overview\",\n description:\n \"Get a Meta Ads overview for one or more ad accounts over a date range, including spend, clicks, impressions, purchases, purchase value, CPC, CPM, and ROAS.\",\n schema: metaAccountOverviewSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n metaAccountOverviewHandler\n);\n\nserver.tool(\n {\n name: \"meta_get_campaign_performance\",\n description:\n \"Get Meta Ads campaign-level performance for one or more ad accounts over a date range with spend, clicks, impressions, purchases, purchase value, CPC, CPM, and ROAS.\",\n schema: metaCampaignPerformanceSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n metaCampaignPerformanceHandler\n);\n\nserver.tool(\n {\n name: \"meta_get_ads_performance\",\n description:\n \"Get Meta Ads ad-level performance for one or more ad accounts over a date range, useful for creative review and performance diagnostics.\",\n schema: metaAdsPerformanceSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n metaAdsPerformanceHandler\n);\n\nserver.tool(\n {\n name: \"meta_get_time_series\",\n description:\n \"Get a Meta Ads time series for one or more ad accounts over a date range, with daily, weekly, or monthly granularity.\",\n schema: metaTimeSeriesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n metaTimeSeriesHandler\n);\n\nserver.tool(\n {\n name: \"meta_get_placement_mix\",\n description:\n \"Get Meta Ads placement mix for one or more ad accounts over a date range, including publisher platform and platform position performance.\",\n schema: metaPlacementMixSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n metaPlacementMixHandler\n);\n\nserver.tool(\n {\n name: \"vtex_get_orders_summary\",\n description: \"Get aggregated orders summary by date range with currency-aware BI metrics.\",\n schema: ordersSummarySchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n ordersSummaryHandler\n);\n\nserver.tool(\n {\n name: \"vtex_get_order_details\",\n description: \"Get BI-focused detailed information for one or more orders.\",\n schema: orderDetailsSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n orderDetailsHandler\n);\n\nserver.tool(\n {\n name: \"vtex_check_inventory\",\n description: \"Check global SKU inventory and infer stock health status.\",\n schema: inventoryCheckSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n inventoryCheckHandler\n);\n\nserver.tool(\n {\n name: \"vtex_get_warehouse_inventory\",\n description: \"Get SKU inventory details for a specific warehouse.\",\n schema: warehouseInventorySchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n warehouseInventoryHandler\n);\n\nserver.tool(\n {\n name: \"vtex_update_inventory\",\n description:\n \"Update the stock quantity and unlimited-quantity mode for one SKU in one warehouse. This overwrites the current quantity and availability mode stored in VTEX for that warehouse.\",\n schema: updateInventorySchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n updateInventoryHandler\n);\n\nserver.tool(\n {\n name: \"vtex_update_lead_time\",\n description:\n \"Update the lead time for one SKU in one warehouse. This overwrites the current lead time value in VTEX for that warehouse.\",\n schema: updateLeadTimeSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n updateLeadTimeHandler\n);\n\nserver.tool(\n {\n name: \"vtex_toggle_unlimited_quantity\",\n description:\n \"Toggle only the unlimited-quantity mode for one SKU in one warehouse. This keeps the current stock quantity and overwrites only the unlimited availability flag.\",\n schema: toggleUnlimitedQuantitySchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n toggleUnlimitedQuantityHandler\n);\n\nserver.tool(\n {\n name: \"vtex_update_sku_price\",\n description:\n \"Update base pricing fields for one SKU in VTEX Pricing. This can overwrite base price, list price, cost price, markup, and, if fixedPrices is sent, it also replaces any fixed prices not included in the payload.\",\n schema: updateSkuPriceSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n updateSkuPriceHandler\n);\n\nserver.tool(\n {\n name: \"vtex_delete_sku_price\",\n description:\n \"Delete all base pricing and fixed prices for one SKU from VTEX Pricing. Before using this tool, the assistant must explain that this removes the SKU price record, mention that all fixed prices under that SKU are removed as well, and obtain explicit confirmation from the user. Only then should the tool be called with confirmed=true.\",\n schema: deleteSkuPriceSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n deleteSkuPriceHandler\n);\n\nserver.tool(\n {\n name: \"vtex_upsert_fixed_price\",\n description:\n \"Create or replace fixed prices for one SKU inside one price table or trade policy. The provided fixed prices overwrite the current entries for that price table.\",\n schema: upsertFixedPriceSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n upsertFixedPriceHandler\n);\n\nserver.tool(\n {\n name: \"vtex_delete_fixed_price\",\n description:\n \"Delete all fixed prices configured for one SKU inside one price table or trade policy.\",\n schema: deleteFixedPriceSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n deleteFixedPriceHandler\n);\n\nserver.tool(\n {\n name: \"vtex_activate_sku\",\n description:\n \"Activate one SKU by setting its active flag to true. This updates the SKU record in VTEX and preserves the current operational fields.\",\n schema: activateSkuSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n activateSkuHandler\n);\n\nserver.tool(\n {\n name: \"vtex_deactivate_sku\",\n description:\n \"Deactivate one SKU by setting its active flag to false. This updates the SKU record in VTEX and preserves the current operational fields.\",\n schema: deactivateSkuSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n deactivateSkuHandler\n);\n\nserver.tool(\n {\n name: \"vtex_update_product_basic_fields\",\n description:\n \"Update core product fields such as name, description, category, brand, visibility, and SEO fields. Only the provided fields are changed; the tool keeps the current VTEX values for the rest.\",\n schema: updateProductBasicFieldsSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n updateProductBasicFieldsHandler\n);\n\nserver.tool(\n {\n name: \"vtex_update_sku_basic_fields\",\n description:\n \"Update core SKU fields such as name, reference, EAN, dimensions, weight, measurement unit, and active flags. Only the provided fields are changed; the tool keeps the current VTEX values for the rest.\",\n schema: updateSkuBasicFieldsSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n updateSkuBasicFieldsHandler\n);\n\nserver.tool(\n {\n name: \"vtex_create_product\",\n description:\n \"Create one product in VTEX Catalog. You can point it to existing category and brand IDs, or ask VTEX Catalog to use categoryPath and brandName when those entities are not already mapped.\",\n schema: createProductSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n createProductHandler\n);\n\nserver.tool(\n {\n name: \"vtex_create_sku\",\n description:\n \"Create one SKU under an existing VTEX product. This creates the SKU record and can optionally attach one EAN after creation.\",\n schema: createSkuSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n createSkuHandler\n);\n\nserver.tool(\n {\n name: \"vtex_commercial_conditions\",\n description:\n \"Read VTEX commercial conditions through one action-based tool: list available condition records or get a specific condition used by checkout and installment strategies. VTEX Catalog API only exposes read-only GET endpoints for commercial conditions, so they cannot be created or modified through this API and new conditions must be created manually in the VTEX admin panel.\",\n schema: commercialConditionsSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n commercialConditionsHandler\n);\n\nserver.tool(\n {\n name: \"vtex_payment_rules\",\n description:\n \"Manage VTEX payment rules through one action-based tool: list, get, create, update, or delete rules that map installments, payment systems, and optional commercial-condition restrictions. Delete operations require confirmed=true and can immediately remove installment options from checkout.\",\n schema: paymentRulesSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n paymentRulesHandler\n);\n\nserver.tool(\n {\n name: \"vtex_get_brand\",\n description: \"Get one VTEX catalog brand by ID.\",\n schema: getBrandSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n getBrandHandler\n);\n\nserver.tool(\n {\n name: \"vtex_create_brand\",\n description:\n \"Create one brand in VTEX Catalog using the official brand contract. This creates the brand record and returns the created brand payload.\",\n schema: createBrandSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n createBrandHandler\n);\n\nserver.tool(\n {\n name: \"vtex_update_brand\",\n description:\n \"Update selected fields on one VTEX catalog brand. Only the provided fields are changed; the tool keeps the current VTEX values for the rest.\",\n schema: updateBrandSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n updateBrandHandler\n);\n\nserver.tool(\n {\n name: \"vtex_list_specification_groups\",\n description:\n \"List VTEX specification groups available for one category, optionally filtered by group name. Use this to discover a real field group before creating mock-only specifications.\",\n schema: listSpecificationGroupsSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n listSpecificationGroupsHandler\n);\n\nserver.tool(\n {\n name: \"vtex_get_product_specifications\",\n description: \"Get all specifications currently associated with one VTEX catalog product.\",\n schema: getProductSpecificationsSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n getProductSpecificationsHandler\n);\n\nserver.tool(\n {\n name: \"vtex_create_category\",\n description:\n \"Create one category in VTEX Catalog. This writes a new category record and can be used for top-level or child categories depending on fatherCategoryId.\",\n schema: createCategorySchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n createCategoryHandler\n);\n\nserver.tool(\n {\n name: \"vtex_update_category\",\n description:\n \"Update selected visible fields on one VTEX category, including activation through isActive. Use this tool for visible fields only, not hierarchy changes.\",\n schema: updateCategorySchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n updateCategoryHandler\n);\n\nserver.tool(\n {\n name: \"vtex_move_category\",\n description:\n \"Move one VTEX category under a different parent by changing only its hierarchy. Experimental/high-risk: VTEX officially warns that direct category-tree moves can be risky and may leave catalog inconsistencies. Supports preview/apply confirmation guardrails.\",\n schema: moveCategorySchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n moveCategoryHandler\n);\n\nserver.tool(\n {\n name: \"vtex_create_specification\",\n description:\n \"Create one specification field in VTEX Catalog, including its field type, group, and visibility flags.\",\n schema: createSpecificationSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n createSpecificationHandler\n);\n\nserver.tool(\n {\n name: \"vtex_create_specification_value\",\n description:\n \"Create one specification value for an existing VTEX specification field.\",\n schema: createSpecificationValueSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n createSpecificationValueHandler\n);\n\nserver.tool(\n {\n name: \"vtex_associate_specification\",\n description:\n \"Associate one specification to one product or one SKU. This writes a single specification association using either a fieldValueId or raw text, depending on the field type.\",\n schema: associateSpecificationSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n associateSpecificationHandler\n);\n\nserver.tool(\n {\n name: \"vtex_delete_product_specification\",\n description:\n \"Delete one specification association from one VTEX catalog product using the productId and the association/spec record ID (`Id` from `vtex_get_product_specifications`), not the field ID.\",\n schema: deleteProductSpecificationSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n deleteProductSpecificationHandler\n);\n\nserver.tool(\n {\n name: \"vtex_delete_all_product_specifications\",\n description:\n \"Delete all specification associations from one VTEX catalog product. This is high-risk and requires explicit confirmation before execution.\",\n schema: deleteAllProductSpecificationsSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n deleteAllProductSpecificationsHandler\n);\n\nserver.tool(\n {\n name: \"vtex_delete_brand\",\n description:\n \"Delete one VTEX catalog brand by ID. The caller must already know the brandId because this tool performs no pre-delete lookup or readback.\",\n schema: deleteBrandSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n deleteBrandHandler\n);\n\nserver.tool(\n {\n name: \"vtex_delete_catalog_image\",\n description:\n \"Delete one catalog image from a VTEX SKU by imageId. The caller must already know the imageId, typically from vtex_get_sku_images, because this tool performs no pre-delete lookup or readback.\",\n schema: deleteCatalogImageSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n deleteCatalogImageHandler\n);\n\nserver.tool(\n {\n name: \"vtex_delete_sku_specification\",\n description:\n \"Delete one specification association from one VTEX catalog SKU using the skuId and specificationId. This tool performs no pre-delete lookup or readback.\",\n schema: deleteSkuSpecificationSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n deleteSkuSpecificationHandler\n);\n\nserver.tool(\n {\n name: \"vtex_delete_all_sku_specifications\",\n description:\n \"Delete all specification associations from one VTEX catalog SKU. This is high-risk, requires explicit confirmation, and performs no pre-delete lookup or readback.\",\n schema: deleteAllSkuSpecificationsSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n deleteAllSkuSpecificationsHandler\n);\n\nserver.tool(\n {\n name: \"vtex_attach_catalog_image\",\n description:\n \"Attach one catalog image to one SKU using a public image URL. This adds a new SKU file entry in VTEX Catalog.\",\n schema: attachCatalogImageSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n attachCatalogImageHandler\n);\n\nserver.tool(\n {\n name: \"vtex_update_product_brand\",\n description:\n \"Update the brand assignment of one VTEX Catalog product. Changes the brand identifier the product is associated with.\",\n schema: updateProductBrandSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n updateProductBrandHandler\n);\n\nserver.tool(\n {\n name: \"vtex_add_sku_ean\",\n description:\n \"Append one EAN value to a VTEX SKU. This adds a new EAN to the existing set without replacing other EANs already assigned to the SKU.\",\n schema: addSkuEanSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n addSkuEanHandler\n);\n\nserver.tool(\n {\n name: \"vtex_replace_sku_eans\",\n description:\n \"Replace the entire set of EAN values on a VTEX SKU with a new list. All previously assigned EANs for the SKU are removed and the provided values become the only ones.\",\n schema: replaceSkuEansSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n replaceSkuEansHandler\n);\n\nserver.tool(\n {\n name: \"vtex_get_sku_images\",\n description:\n \"List all images currently attached to a VTEX SKU. Returns image identifiers, URLs, alt text, labels, and order position for each image.\",\n schema: getSkuImagesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n getSkuImagesHandler\n);\n\nserver.tool(\n {\n name: \"vtex_update_catalog_image\",\n description:\n \"Update an existing catalog image on a VTEX SKU identified by the image identifier. Use to change the URL, alt text, label, or display position of an image already attached to the SKU.\",\n schema: updateCatalogImageSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n updateCatalogImageHandler\n);\n\nserver.tool(\n {\n name: \"vtex_cancel_order\",\n description:\n \"Cancel one order in VTEX Orders API. Before using this tool, the assistant must explain what will be canceled, mention that invoiced orders cannot be canceled and cancellations cannot be reversed, and obtain explicit confirmation from the user. Only then should the tool be called with confirmed=true.\",\n schema: cancelOrderSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n cancelOrderHandler\n);\n\nserver.tool(\n {\n name: \"vtex_invoice_order\",\n description:\n \"Invoice one order in VTEX Orders API. Before using this tool, the assistant must explain that invoicing changes the order's logistics and financial state, mention that the tool writes invoice data into VTEX, and obtain explicit confirmation from the user. Only then should the tool be called with confirmed=true.\",\n schema: invoiceOrderSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n invoiceOrderHandler\n);\n\nserver.tool(\n {\n name: \"vtex_add_order_tracking\",\n description:\n \"Add tracking data to one invoiced order in VTEX. Before using this tool, the assistant must explain which invoice and tracking data will be updated, mention that this affects the operational communication sent to the customer, and obtain explicit confirmation from the user. Only then should the tool be called with confirmed=true.\",\n schema: addOrderTrackingSchema,\n annotations: {\n readOnlyHint: false,\n destructiveHint: true,\n openWorldHint: true,\n },\n },\n addOrderTrackingHandler\n);\n\nserver.tool(\n {\n name: \"vtex_get_sku_price\",\n description: \"Get base pricing information for one SKU.\",\n schema: skuPriceSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n skuPriceHandler\n);\n\nserver.tool(\n {\n name: \"vtex_get_computed_price\",\n description: \"Get computed SKU price by price table context.\",\n schema: computedPriceSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n computedPriceHandler\n);\n\nserver.tool(\n {\n name: \"vtex_get_product_offers\",\n description: \"Get offers for all SKUs under a product.\",\n schema: productOffersSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n productOffersHandler\n);\n\nserver.tool(\n {\n name: \"vtex_get_sku_offers\",\n description: \"Get offers for a specific SKU under a product.\",\n schema: skuOffersSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n skuOffersHandler\n);\n\nserver.tool(\n {\n name: \"vtex_get_category_tree\",\n description: \"Get the VTEX catalog category tree for a profile with an optional depth limit.\",\n schema: getCategoryTreeSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n getCategoryTreeHandler\n);\n\nserver.tool(\n {\n name: \"vtex_list_categories\",\n description: \"List VTEX catalog categories using compact rows and pagination metadata.\",\n schema: listCategoriesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n listCategoriesHandler\n);\n\nserver.tool(\n {\n name: \"vtex_get_category\",\n description: \"Get one VTEX catalog category by ID.\",\n schema: getCategorySchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n getCategoryHandler\n);\n\nserver.tool(\n {\n name: \"vtex_list_brands\",\n description: \"List VTEX catalog brands using compact rows and pagination metadata.\",\n schema: listBrandsSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n listBrandsHandler\n);\n\nserver.tool(\n {\n name: \"vtex_get_product\",\n description: \"Get one VTEX catalog product by ID.\",\n schema: getProductSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n getProductHandler\n);\n\nserver.tool(\n {\n name: \"vtex_get_sku\",\n description: \"Get one VTEX catalog SKU by ID.\",\n schema: getSkuSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n getSkuHandler\n);\n\nserver.tool(\n {\n name: \"vtex_list_products\",\n description: \"List VTEX catalog product IDs with compact rows, pagination metadata, and optional keyword search.\",\n schema: listProductsSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n listProductsHandler\n);\n\nserver.tool(\n {\n name: \"vtex_list_products_by_category\",\n description:\n \"List VTEX catalog products for one category using compact rows and pagination metadata (VTEX caps this endpoint at 50 items per page).\",\n schema: listProductsByCategorySchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n listProductsByCategoryHandler\n);\n\nserver.tool(\n {\n name: \"vtex_list_skus_by_product\",\n description: \"List VTEX SKUs belonging to one product using compact rows.\",\n schema: listSkusByProductSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n listSkusByProductHandler\n);\n\nserver.tool(\n {\n name: \"config_check_database_connection\",\n description:\n \"Check whether the MCP can reach its configured database and whether critical tables are present.\",\n schema: checkDatabaseConnectionSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: false,\n },\n },\n checkDatabaseConnectionHandler\n);\n\nserver.tool(\n {\n name: \"config_list_profiles\",\n description: \"List client profiles currently available in the MCP database.\",\n schema: listProfilesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: false,\n },\n },\n listProfilesHandler\n);\n\nserver.tool(\n {\n name: \"config_get_benchmarks\",\n description:\n \"Devuelve benchmarks de Argentina para c\u00E1lculos financieros: IIBB por provincia, costos de cuotas sin inter\u00E9s (Ahora 12, Plan Z), fees de pasarelas de pago (Mercado Pago, Mobbex, Payway, dLocal), costos log\u00EDsticos por zona y calendario comercial con impacto de revenue.\",\n schema: getBenchmarksSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: false,\n },\n },\n getBenchmarksHandler\n);\n\nserver.tool(\n {\n name: \"gads_get_channel_mix\",\n description:\n \"Get Google Ads mix by advertising channel type for a date range, including spend, clicks, impressions, conversions, conversion value, and channel share.\",\n schema: googleAdsChannelMixSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n googleAdsChannelMixHandler\n);\n\nserver.tool(\n {\n name: \"gads_get_customer_info\",\n description:\n \"Get summary information for one Google Ads customer account, including name, currency, timezone, and whether the account is a manager (MCC).\",\n schema: googleAdsCustomerInfoSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n googleAdsCustomerInfoHandler\n);\n\nserver.tool(\n {\n name: \"gads_list_customer_clients\",\n description:\n \"List visible child accounts for a Google Ads customer account, usually used to inspect manager (MCC) account structure.\",\n schema: googleAdsCustomerClientsSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n googleAdsCustomerClientsHandler\n);\n\nserver.tool(\n {\n name: \"gads_get_account_overview\",\n description:\n \"Get a Google Ads account overview for a date range, including spend, clicks, impressions, conversions, conversion value, CTR, CPC, CPA, and ROAS.\",\n schema: googleAdsAccountOverviewSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n googleAdsAccountOverviewHandler\n);\n\nserver.tool(\n {\n name: \"gads_get_campaign_performance\",\n description:\n \"Get Google Ads campaign-level performance for a date range with spend, clicks, impressions, conversions, conversion value, CTR, CPC, CPA, and ROAS.\",\n schema: googleAdsCampaignPerformanceSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n googleAdsCampaignPerformanceHandler\n);\n\nserver.tool(\n {\n name: \"gads_get_time_series\",\n description:\n \"Get Google Ads daily or weekly time series for a date range with spend, clicks, impressions, conversions, conversion value, CPA, and ROAS.\",\n schema: googleAdsTimeSeriesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n googleAdsTimeSeriesHandler\n);\n\nserver.tool(\n {\n name: \"gads_get_search_terms_summary\",\n description:\n \"Get a ranked summary of Google Ads search terms for a date range, including spend, clicks, impressions, conversions, conversion value, CPA, and ROAS.\",\n schema: googleAdsSearchTermsSummarySchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n googleAdsSearchTermsSummaryHandler\n);\n\nserver.tool(\n {\n name: \"gads_get_account_risks\",\n description:\n \"Evaluate Google Ads account risks for a date range, including concentration, low efficiency, weak conversion volume, and recent deterioration signals.\",\n schema: googleAdsAccountRisksSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n googleAdsAccountRisksHandler\n);\n\nserver.tool(\n {\n name: \"gads_get_break_even_analysis\",\n description:\n \"Compare current Google Ads performance against a user-provided break-even ROAS and optional CPA target.\",\n schema: googleAdsBreakEvenAnalysisSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n googleAdsBreakEvenAnalysisHandler\n);\n\nserver.tool(\n {\n name: \"gads_get_scaling_health\",\n description:\n \"Assess whether a Google Ads account is ready to scale using break-even ROAS, optional CPA target, concentration, stability, and conversion volume.\",\n schema: googleAdsScalingHealthSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n googleAdsScalingHealthHandler\n);\n\nserver.tool(\n {\n name: \"gads_compare_accounts\",\n description:\n \"Compare multiple Google Ads accounts across the same date range and rank them by basic risk and efficiency signals.\",\n schema: googleAdsCompareAccountsSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n googleAdsCompareAccountsHandler\n);\n\nserver.tool(\n {\n name: \"gsc_list_accessible_sites\",\n description: \"List all Search Console sites accessible with the configured Google credentials.\",\n schema: listAccessibleSitesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n listAccessibleSitesHandler\n);\n\nserver.tool(\n {\n name: \"gsc_get_site_context\",\n description: \"Validate one Search Console site and return the resolved site context used by the module.\",\n schema: searchConsoleSiteContextSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n searchConsoleSiteContextHandler\n);\n\nserver.tool(\n {\n name: \"gsc_get_search_performance\",\n description: \"Run a flexible Search Console performance query with custom dimensions and filters.\",\n schema: searchConsoleSearchPerformanceSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n searchConsoleSearchPerformanceHandler\n);\n\nserver.tool(\n {\n name: \"gsc_get_query_performance\",\n description: \"Get Search Console performance grouped by search query for a date range.\",\n schema: searchConsoleQueryPerformanceSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n searchConsoleQueryPerformanceHandler\n);\n\nserver.tool(\n {\n name: \"gsc_get_page_performance\",\n description: \"Get Search Console performance grouped by landing page for a date range.\",\n schema: searchConsolePagePerformanceSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n searchConsolePagePerformanceHandler\n);\n\nserver.tool(\n {\n name: \"gsc_get_query_page_matrix\",\n description: \"Get a Search Console matrix crossing queries and landing pages for a date range.\",\n schema: searchConsoleQueryPageMatrixSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n searchConsoleQueryPageMatrixHandler\n);\n\nserver.tool(\n {\n name: \"gsc_get_device_breakdown\",\n description: \"Break down Search Console performance by device for a date range.\",\n schema: searchConsoleDeviceBreakdownSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n searchConsoleDeviceBreakdownHandler\n);\n\nserver.tool(\n {\n name: \"gsc_get_country_breakdown\",\n description: \"Break down Search Console performance by country for a date range.\",\n schema: searchConsoleCountryBreakdownSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n searchConsoleCountryBreakdownHandler\n);\n\nserver.tool(\n {\n name: \"gsc_find_high_impression_low_click_queries\",\n description: \"Find queries with high Search Console impression volume but weak click capture.\",\n schema: searchConsoleHighImpressionLowClickQueriesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n searchConsoleHighImpressionLowClickQueriesHandler\n);\n\nserver.tool(\n {\n name: \"gsc_find_low_ctr_opportunities\",\n description: \"Find Search Console queries that rank reasonably well but underperform on CTR.\",\n schema: searchConsoleLowCtrOpportunitiesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n searchConsoleLowCtrOpportunitiesHandler\n);\n\nserver.tool(\n {\n name: \"gsc_detect_visibility_declines\",\n description: \"Detect Search Console pages that are losing visibility between two periods.\",\n schema: searchConsoleVisibilityDeclinesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n searchConsoleVisibilityDeclinesHandler\n);\n\nserver.tool(\n {\n name: \"gsc_find_product_demand_low_capture_queries\",\n description: \"Find product-intent queries with demand in Search Console but weak click capture.\",\n schema: searchConsoleProductDemandLowCaptureQueriesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n searchConsoleProductDemandLowCaptureQueriesHandler\n);\n\nserver.tool(\n {\n name: \"gsc_find_rising_non_brand_queries\",\n description: \"Find non-branded Search Console queries growing between two periods.\",\n schema: searchConsoleRisingNonBrandQueriesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n searchConsoleRisingNonBrandQueriesHandler\n);\n\nserver.tool(\n {\n name: \"gsc_find_quick_win_opportunities\",\n description: \"Prioritize Search Console quick wins across CTR improvements and ranking gains.\",\n schema: searchConsoleQuickWinOpportunitiesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n searchConsoleQuickWinOpportunitiesHandler\n);\n\nserver.tool(\n {\n name: \"ga4_list_accessible_properties\",\n description: \"List all Google Analytics 4 accounts and properties accessible with the configured OAuth credentials.\",\n schema: listAccessiblePropertiesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n listAccessiblePropertiesHandler\n);\n\nserver.tool(\n {\n name: \"ga4_get_property_info\",\n description: \"Get summary information and capabilities for one GA4 property, including ecommerce and attribution support.\",\n schema: propertyInfoSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n propertyInfoHandler\n);\n\nserver.tool(\n {\n name: \"ga4_get_channel_mix\",\n description: \"Get traffic mix by default channel group with shares of sessions and users for a date range.\",\n schema: channelMixSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n channelMixHandler\n);\n\nserver.tool(\n {\n name: \"ga4_get_source_medium_breakdown\",\n description: \"Get traffic breakdown by session source / medium with session and user share for a date range.\",\n schema: sourceMediumBreakdownSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n sourceMediumBreakdownHandler\n);\n\nserver.tool(\n {\n name: \"ga4_get_revenue_overview\",\n description: \"Get GA4 ecommerce overview for a date range including transactions, revenue, purchasers, and rates.\",\n schema: revenueOverviewSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n revenueOverviewHandler\n);\n\nserver.tool(\n {\n name: \"ga4_get_revenue_trend\",\n description: \"Get daily GA4 revenue and transactions trend for a date range.\",\n schema: revenueTrendSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n revenueTrendHandler\n);\n\nserver.tool(\n {\n name: \"ga4_get_revenue_by_channel\",\n description: \"Get GA4 revenue and transactions by default channel group for a date range.\",\n schema: revenueByChannelSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n revenueByChannelHandler\n);\n\nserver.tool(\n {\n name: \"ga4_get_top_landing_pages\",\n description: \"Get top landing pages by sessions and users for a date range.\",\n schema: topLandingPagesSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n topLandingPagesHandler\n);\n\nserver.tool(\n {\n name: \"ga4_get_engagement_overview\",\n description: \"Get GA4 engagement metrics for a date range, including engagement rate, bounce rate, and session duration.\",\n schema: engagementOverviewSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n engagementOverviewHandler\n);\n\nserver.tool(\n {\n name: \"ga4_detect_attribution_gaps\",\n description: \"Detect unattributed traffic, unassigned channels, and not-set source / medium values in GA4.\",\n schema: attributionGapsSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n attributionGapsHandler\n);\n\nserver.tool(\n {\n name: \"ga4_check_ecommerce_tracking_health\",\n description: \"Evaluate whether GA4 ecommerce tracking appears complete by checking item views, carts, checkouts, purchases, and refunds.\",\n schema: ecommerceTrackingHealthSchema,\n annotations: {\n readOnlyHint: true,\n destructiveHint: false,\n openWorldHint: true,\n },\n },\n ecommerceTrackingHealthHandler\n);\n\nserver.tool(\n {\n name: \"meli_get_account_context\",\n description: \"Get MercadoLibre account context for the selected profile, including seller id, nickname, scopes, and token expiry.\",\n schema: meliGetAccountContextSchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliGetAccountContextHandler\n);\n\nserver.tool(\n {\n name: \"meli_validate_connection\",\n description: \"Validate the MercadoLibre connection for a profile, refreshing tokens if needed and returning the resulting status.\",\n schema: meliValidateConnectionSchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliValidateConnectionHandler\n);\n\nserver.tool(\n {\n name: \"meli_get_orders_summary\",\n description: \"Get MercadoLibre order KPIs or compact order detail chunks for a date range. For reports, summaries, calculations, analysis, KPIs, metrics, performance, revenue, cancellations, refunds, discounts, shipping, trends, flows, or SKU economics, default to responseMode=calculations (calculations-only output, no order rows). Use responseMode=orders_chunk only when the user explicitly needs order-level detail or a question cannot be answered from calculations; it returns up to 15 pages of compact order rows with continuation metadata so the model can fetch more chunks if needed.\",\n schema: meliGetOrdersSummarySchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliGetOrdersSummaryHandler\n);\n\nserver.tool(\n {\n name: \"meli_get_order_details\",\n description: \"Get MercadoLibre order details for one or more order ids with partial-failure handling.\",\n schema: meliGetOrderDetailsSchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliGetOrderDetailsHandler\n);\n\nserver.tool(\n {\n name: \"meli_get_sales_by_item\",\n description: \"Aggregate MercadoLibre sales by item and variation for a date range, split by currency. Returns sales_by_item_schema plus compact positional rows to minimize tokens. The tool fan-outs internally across all order-search pages for the range when possible and returns metadata that makes partial coverage explicit if some pages fail.\",\n schema: meliGetSalesByItemSchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliGetSalesByItemHandler\n);\n\nserver.tool(\n {\n name: \"meli_get_sales_trend\",\n description: \"Build a MercadoLibre sales trend by day or week for a date range, split by currency.\",\n schema: meliGetSalesTrendSchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliGetSalesTrendHandler\n);\n\nserver.tool(\n {\n name: \"meli_get_shipping_summary\",\n description: \"Build a MercadoLibre shipping report for a date range. Default responseMode=calculations returns aggregate delivery health, logistics mix, cost, and daily trend KPIs; responseMode=shipments_chunk returns compact shipment rows with continuation metadata.\",\n schema: meliGetShippingSummarySchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliGetShippingSummaryHandler\n);\n\nserver.tool(\n {\n name: \"meli_get_item_visits\",\n description: \"Get MercadoLibre visits totals for seller-level date ranges or item-level time windows.\",\n schema: meliGetItemVisitsSchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliGetItemVisitsHandler\n);\n\nserver.tool(\n {\n name: \"meli_get_store_performance\",\n description: \"Combine MercadoLibre orders, items, and visits into an executive store performance summary.\",\n schema: meliGetStorePerformanceSchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliGetStorePerformanceHandler\n);\n\nserver.tool(\n {\n name: \"meli_search_items\",\n description: \"Search MercadoLibre seller items with compact detailed rows. Defaults to status=active, supports title text search, and returns items_schema plus compact item rows instead of raw item ids.\",\n schema: meliSearchItemsSchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliSearchItemsHandler\n);\n\nserver.tool(\n {\n name: \"meli_get_item_details\",\n description: \"Get rich MercadoLibre item details for one or more item ids with multiget and fallback batch handling. Returns near-raw listing context including attributes, sale terms, shipping, seller/location, dates, tags, and status, excluding pictures.\",\n schema: meliGetItemDetailsSchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliGetItemDetailsHandler\n);\n\nserver.tool(\n {\n name: \"meli_get_listing_quality\",\n description: \"Get listing quality and performance signals for a MercadoLibre item.\",\n schema: meliGetListingQualitySchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliGetListingQualityHandler\n);\n\nserver.tool(\n {\n name: \"meli_predict_category\",\n description: \"Predict candidate MercadoLibre categories and domains from a product query.\",\n schema: meliPredictCategorySchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliPredictCategoryHandler\n);\n\nserver.tool(\n {\n name: \"meli_get_category_requirements\",\n description: \"Get MercadoLibre category attribute requirements and shipping preferences for a category.\",\n schema: meliGetCategoryRequirementsSchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliGetCategoryRequirementsHandler\n);\n\nserver.tool(\n {\n name: \"meli_get_site_categories_and_listing_types\",\n description: \"Get MercadoLibre Argentina site categories and available listing types in a single catalog response.\",\n schema: meliGetSiteCategoriesAndListingTypesSchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliGetSiteCategoriesAndListingTypesHandler\n);\n\nserver.tool(\n {\n name: \"meli_estimate_listing_fee\",\n description: \"Estimate MercadoLibre selling fees with guided precision. Accepts an itemId to autocomplete listing parameters or manual price/category/listing/logistics/weight inputs, and returns missing params when precision can improve.\",\n schema: meliEstimateListingFeeSchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliEstimateListingFeeHandler\n);\n\nserver.tool(\n {\n name: \"meli_estimate_product_profitability\",\n description: \"Estimate whether a MercadoLibre product is profitable, using precise fee quotes plus historical order and shipping data. Best when you already have the itemId; if you only have the product name/title, use meli_search_items first to find the correct itemId. If user costs are missing, returns break-even limits and guided questions instead of failing.\",\n schema: meliEstimateProductProfitabilitySchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliEstimateProductProfitabilityHandler\n);\n\nserver.tool(\n {\n name: \"meli_create_item\",\n description: \"Create a MercadoLibre item directly for the selected profile, optionally publishing its description too.\",\n schema: meliCreateItemSchema,\n annotations: { readOnlyHint: false, destructiveHint: false, openWorldHint: true },\n },\n meliCreateItemHandler\n);\n\nserver.tool(\n {\n name: \"meli_update_item_basic_fields\",\n description: \"Update MercadoLibre item fields such as title, price, quantity, attributes, shipping, and status.\",\n schema: meliUpdateItemBasicFieldsSchema,\n annotations: { readOnlyHint: false, destructiveHint: true, openWorldHint: true },\n },\n meliUpdateItemBasicFieldsHandler\n);\n\nserver.tool(\n {\n name: \"meli_update_item_description\",\n description: \"Create or replace the published MercadoLibre plain-text item description.\",\n schema: meliUpdateItemDescriptionSchema,\n annotations: { readOnlyHint: false, destructiveHint: true, openWorldHint: true },\n },\n meliUpdateItemDescriptionHandler\n);\n\nserver.tool(\n {\n name: \"meli_update_item_pictures\",\n description: \"Add or replace MercadoLibre item pictures using public image URLs.\",\n schema: meliUpdateItemPicturesSchema,\n annotations: { readOnlyHint: false, destructiveHint: true, openWorldHint: true },\n },\n meliUpdateItemPicturesHandler\n);\n\nserver.tool(\n {\n name: \"meli_pause_or_reactivate_item\",\n description: \"Pause or reactivate a MercadoLibre item by changing its listing status.\",\n schema: meliPauseOrReactivateItemSchema,\n annotations: { readOnlyHint: false, destructiveHint: true, openWorldHint: true },\n },\n meliPauseOrReactivateItemHandler\n);\n\nserver.tool(\n {\n name: \"meli_search_questions\",\n description: \"Search MercadoLibre buyer questions for the selected seller with compact pagination-aware output.\",\n schema: meliSearchQuestionsSchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliSearchQuestionsHandler\n);\n\nserver.tool(\n {\n name: \"meli_answer_question\",\n description: \"Publish a MercadoLibre answer for a specific buyer question.\",\n schema: meliAnswerQuestionSchema,\n annotations: { readOnlyHint: false, destructiveHint: false, openWorldHint: true },\n },\n meliAnswerQuestionHandler\n);\n\nserver.tool(\n {\n name: \"meli_get_billing_provisions_summary\",\n description: \"Get MercadoLibre billing provisions summary for a period, supporting ml, mp, flex, full, and all scopes. Returns compact details (positional schema + rows), currency totals, diagnostics of observed types, and coverage metadata.\",\n schema: meliGetBillingProvisionsSummarySchema,\n annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },\n },\n meliGetBillingProvisionsSummaryHandler\n);\n\nserver.prompt(\n {\n name: \"vtex-reporte-ventas\",\n description:\n \"Genera un prompt de reporte de ventas VTEX usando una sola entrada temporal en lenguaje natural.\",\n schema: reporteVentasPromptSchema,\n },\n reporteVentasPromptHandler\n);\n\nasync function createStdioTransportFromMcpUseDependency() {\n const requireFromHere = createRequire(import.meta.url);\n const mcpUseServerEntry = requireFromHere.resolve(\"mcp-use/server\");\n const requireFromMcpUse = createRequire(mcpUseServerEntry);\n const stdioModulePath = requireFromMcpUse.resolve(\"@modelcontextprotocol/sdk/server/stdio.js\");\n const stdioModule = (await import(pathToFileURL(stdioModulePath).href)) as {\n StdioServerTransport: new () => unknown;\n };\n\n return new stdioModule.StdioServerTransport();\n}\n\nasync function startServer() {\n const transport = (process.env.MCP_TRANSPORT ?? \"http\").trim().toLowerCase();\n\n if (transport === \"stdio\") {\n const stdioTransport = await createStdioTransportFromMcpUseDependency();\n await server.nativeServer.connect(stdioTransport as any);\n console.error(\"MCP server running on stdio transport\");\n return;\n }\n\n if (transport === \"http\") {\n const port = process.env.PORT ? Number.parseInt(process.env.PORT, 10) : 3000;\n if (Number.isNaN(port)) {\n throw new Error(`Invalid PORT value: ${process.env.PORT}`);\n }\n\n console.error(`MCP server running on http transport (port ${port})`);\n await server.listen(port);\n return;\n }\n\n throw new Error(`Invalid MCP_TRANSPORT \"${process.env.MCP_TRANSPORT}\". Use \"http\" or \"stdio\".`);\n}\n\nstartServer().catch((error) => {\n console.error(\"Failed to start MCP server\", error);\n process.exit(1);\n});\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,iBAAiB;AAE1B;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,sBAAsB,2BAA2B;AAC1D;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,E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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/mcp-use.json
CHANGED
|
@@ -1,4 +1,99 @@
|
|
|
1
1
|
import { getMercadoLibreApiContext, formatMercadoLibreError } from "./mercadolibre-api.js";
|
|
2
|
+
function scopeToGroupPath(scope) {
|
|
3
|
+
if (scope === "flex") return "ML/flex";
|
|
4
|
+
if (scope === "full") return "ML/full";
|
|
5
|
+
return scope.toUpperCase();
|
|
6
|
+
}
|
|
7
|
+
async function getMercadoLibreBillingProvisionPage(profileId, params) {
|
|
8
|
+
const { api } = await getMercadoLibreApiContext(profileId);
|
|
9
|
+
const queryParams = {
|
|
10
|
+
document_type: params.documentType,
|
|
11
|
+
limit: params.limit
|
|
12
|
+
};
|
|
13
|
+
if (params.fromId) queryParams.from_id = params.fromId;
|
|
14
|
+
if (params.detailType) queryParams.detail_type = params.detailType;
|
|
15
|
+
if (params.detailSubTypes?.length) queryParams.detail_sub_types = params.detailSubTypes.join(",");
|
|
16
|
+
if (params.excludeDetailSubTypes?.length) queryParams.exclude_detail_sub_types = params.excludeDetailSubTypes.join(",");
|
|
17
|
+
if (params.marketplaceType) queryParams.marketplace_type = params.marketplaceType;
|
|
18
|
+
if (params.orderIds?.length) queryParams.order_ids = params.orderIds.join(",");
|
|
19
|
+
if (params.itemIds?.length) queryParams.item_ids = params.itemIds.join(",");
|
|
20
|
+
const groupPath = scopeToGroupPath(params.scope);
|
|
21
|
+
const response = await api.get(
|
|
22
|
+
`/billing/integration/periods/key/${params.periodKey}/group/${groupPath}/details`,
|
|
23
|
+
{ params: queryParams }
|
|
24
|
+
);
|
|
25
|
+
const data = response.data;
|
|
26
|
+
const results = Array.isArray(data.results) ? data.results : [];
|
|
27
|
+
const lastId = typeof data.last_id === "string" && data.last_id ? data.last_id : null;
|
|
28
|
+
const pageTotal = Number(data.total ?? 0);
|
|
29
|
+
const pageLimit = Number(data.limit ?? params.limit);
|
|
30
|
+
return {
|
|
31
|
+
results,
|
|
32
|
+
last_id: lastId,
|
|
33
|
+
total: isFinite(pageTotal) ? Math.max(0, pageTotal) : 0,
|
|
34
|
+
limit: isFinite(pageLimit) ? Math.max(0, pageLimit) : params.limit
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
const PROVISIONS_PAGE_LIMIT = 1e3;
|
|
38
|
+
const PROVISIONS_MAX_PAGES = 200;
|
|
39
|
+
async function getMercadoLibreBillingProvisions(profileId, params) {
|
|
40
|
+
const seen = /* @__PURE__ */ new Set();
|
|
41
|
+
const rows = [];
|
|
42
|
+
const failures = [];
|
|
43
|
+
let lastId = params.fromId ?? null;
|
|
44
|
+
let pagesRequested = 0;
|
|
45
|
+
let pagesSucceeded = 0;
|
|
46
|
+
let lastIdSeen = null;
|
|
47
|
+
for (let page = 0; page < PROVISIONS_MAX_PAGES; page++) {
|
|
48
|
+
pagesRequested += 1;
|
|
49
|
+
let pageResult;
|
|
50
|
+
try {
|
|
51
|
+
pageResult = await getMercadoLibreBillingProvisionPage(profileId, {
|
|
52
|
+
...params,
|
|
53
|
+
documentType: params.documentType,
|
|
54
|
+
limit: PROVISIONS_PAGE_LIMIT,
|
|
55
|
+
fromId: lastId
|
|
56
|
+
});
|
|
57
|
+
pagesSucceeded += 1;
|
|
58
|
+
} catch (error) {
|
|
59
|
+
failures.push({
|
|
60
|
+
page: page + 1,
|
|
61
|
+
from_id: lastId,
|
|
62
|
+
message: formatMercadoLibreError(error, "Failed to fetch billing provisions page")
|
|
63
|
+
});
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
const newRows = [];
|
|
67
|
+
for (const row of pageResult.results) {
|
|
68
|
+
const chargeInfo = row.charge_info ?? row;
|
|
69
|
+
const detailId = typeof chargeInfo.detail_id === "string" ? chargeInfo.detail_id : String(chargeInfo.detail_id ?? "");
|
|
70
|
+
if (!detailId || seen.has(detailId)) continue;
|
|
71
|
+
seen.add(detailId);
|
|
72
|
+
newRows.push(row);
|
|
73
|
+
}
|
|
74
|
+
rows.push(...newRows);
|
|
75
|
+
lastIdSeen = pageResult.last_id;
|
|
76
|
+
if (!pageResult.last_id) break;
|
|
77
|
+
if (pageResult.last_id === lastId) break;
|
|
78
|
+
if (pageResult.results.length === 0) break;
|
|
79
|
+
lastId = pageResult.last_id;
|
|
80
|
+
}
|
|
81
|
+
const pagesFailed = pagesRequested - pagesSucceeded;
|
|
82
|
+
const coverageComplete = pagesFailed === 0 && lastIdSeen === null;
|
|
83
|
+
return {
|
|
84
|
+
scope: params.scope,
|
|
85
|
+
period_key: params.periodKey,
|
|
86
|
+
document_type: params.documentType,
|
|
87
|
+
pages_requested: pagesRequested,
|
|
88
|
+
pages_succeeded: pagesSucceeded,
|
|
89
|
+
pages_failed: pagesFailed,
|
|
90
|
+
detail_count_total: rows.length,
|
|
91
|
+
last_id_seen: lastIdSeen,
|
|
92
|
+
coverage_complete: coverageComplete,
|
|
93
|
+
rows,
|
|
94
|
+
failures
|
|
95
|
+
};
|
|
96
|
+
}
|
|
2
97
|
async function getMercadoLibreBillingDetailsPage(profileId, params) {
|
|
3
98
|
const { api } = await getMercadoLibreApiContext(profileId);
|
|
4
99
|
const documentType = params.documentType ?? "BILL";
|
|
@@ -72,6 +167,9 @@ async function getMercadoLibreBillingDetails(profileId, params) {
|
|
|
72
167
|
}
|
|
73
168
|
export {
|
|
74
169
|
getMercadoLibreBillingDetails,
|
|
75
|
-
getMercadoLibreBillingDetailsPage
|
|
170
|
+
getMercadoLibreBillingDetailsPage,
|
|
171
|
+
getMercadoLibreBillingProvisionPage,
|
|
172
|
+
getMercadoLibreBillingProvisions,
|
|
173
|
+
scopeToGroupPath
|
|
76
174
|
};
|
|
77
175
|
//# sourceMappingURL=mercadolibre-billing.js.map
|