Provides comprehensive Amazon FBA and e-commerce operations through ScanPower API, including inbound shipment management, inventory operations, catalog search, compliance details, and integration with Amazon's Selling Partner API for marketplace operations.
Enables Walmart marketplace operations including inventory management, inbound shipment creation and tracking, batch operations, item setup, bulk inventory updates, and carrier rate quotes for Walmart seller operations.
ScanPower MCP Server
A Model Context Protocol (MCP) server that provides access to the ScanPower API for Amazon FBA and e-commerce operations.
Overview
This MCP server enables you to interact with the ScanPower API through MCP-compatible clients. ScanPower is a platform to sellers and 3PLs manage Amazon FBA operations, purchase orders, outbound shipments, item/box/pallet labeling, and catalog operations.
Features
Flexible Authentication: Supports both automatic authentication and manual API token passing
Token Management: Automatic token retrieval when not provided, with optional manual token passing
Amazon SP-API Integration: Provides access to Amazon's Selling Partner API through ScanPower
FBA Operations: Manage inbound shipments, packing options, and inventory
Prep Billing: Manage prep matrix, price tiers, and billing
Catalog Operations: Search and manage Amazon catalog items
User Management: Access user accounts and proxy user functionality
Installation
Clone or download this repository
Install dependencies:
npm installBuild the project:
npm run build
Configuration
Copy the example environment file:
cp .env.example .envEdit
.envwith your ScanPower credentials:# ScanPower API Configuration SCANPOWER_BASE_URL=https://api.scanpower.com SCANPOWER_OPENAPI_SPEC=https://unity.scanpower.com/docs/api/scanpower-api-bundled.json SCANPOWER_USERNAME=your_username SCANPOWER_PASSWORD=your_password # Optional: Proxy user ID for making calls on behalf of another user SCANPOWER_PROXY_USER_ID= # Amazon SP-API Configuration (for Amazon-specific operations) AMAZON_MARKETPLACE_ID=ATVPDKIKX0DER AMAZON_ACCESS_KEY_ID=your_access_key AMAZON_SECRET_ACCESS_KEY=your_secret_key AMAZON_ROLE_ARN=your_role_arn
Usage
Running the Server
Or for development:
Available Tools
The server provides the following MCP tools:
Authentication & User Management
getUsers: Get a list of active users (parent and sub users)getProxyUsers: Get a list of Client Proxy UsersgetApiToken: All other API calls require the token that this endpoint providesgetAccessToken: Get an access token from Amazon with which to make SP-API calls
Catalog Operations
searchCatalogItems: Search Catalog ItemscatalogSearch: Catalog Search
FBA Inbound Operations
listInboundPlans: List InboundPlanscreateInboundPlan: Create Inbound PlangetInboundPlan: Get Inbound PlanlistInboundPlanBoxes: List InboundPlan BoxescancelInboundPlan: Cancel InboundPlanlistInboundPlanItems: List InboundPlan ItemsupdateInboundPlanName: Update InboundPlan NamelistPackingGroupBoxes: List PackingGroup BoxeslistPackingGroupItems: List PackingGroup ItemssetPackingInformation: Set Packing InformationlistPackingOptions: List Packing OptionsgeneratePackingOptions: Generate Packing OptionsconfirmPackingOption: Confirm Packing OptionlistInboundPlanPallets: List InboundPlan PalletslistPlacementOptions: List Placement OptionsgeneratePlacementOptions: Generate Placement OptionsconfirmPlacementOption: Confirm Placement Option
Shipment Operations
getShipment: Get ShipmentlistShipmentBoxes: List Shipment BoxeslistShipmentContentUpdatePreviews: List ShipmentContent UpdatePreviewsgenerateShipmentContentUpdatePreviews: Generate ShipmentContent UpdatePreviewsgetShipmentContentUpdatePreview: Get ShipmentContent UpdatePreviewconfirmShipmentContentUpdatePreview: Confirm ShipmentContent UpdatePreviewgetDeliveryChallanDocument: Get DeliveryChallan DocumentlistDeliveryWindowOptions: List DeliveryWindow OptionsgenerateDeliveryWindowOptions: Generate DeliveryWindow OptionsconfirmDeliveryWindowOptions: Confirm DeliveryWindow OptionslistShipmentItems: List ShipmentItemsupdateShipmentName: Update Shipment NamelistShipmentPallets: List Shipment PalletscancelSelfShipAppointment: Cancel SelfShip AppointmentgetSelfShipAppointmentSlots: Get SelfShip Appointment SlotsgenerateSelfShipAppointmentSlots: Generate SelfShip Appointment SlotsscheduleSelfShipAppointment: Schedule SelfShip AppointmentupdateShipmentSourceAddress: Update ShipmentSource AddressupdateShipmentTrackingDetails: Update Shipment TrackingDetailslistTransportationOptions: List Transportation OptionsgenerateTransportationOptions: Generate Transportation OptionsconfirmTransportationOptions: Confirm Transportation Options
Compliance & Prep Operations
listItemComplianceDetails: List ItemCompliance DetailsupdateItemComplianceDetails: Update ItemCompliance DetailscreateMarketplaceItemLabels: Create Marketplace ItemLabelslistPrepDetails: List Prep DetailssetPrepDetails: Set Prep DetailsgetInboundOperationStatus: Get InboundOperation StatusgetBillOfLading: Get BillOfLadinggetLabels: Get Labels
Inventory & Batch Operations
getInboundPlans: Get InboundPlanscreateInboundPlanFromBatch: Create an inbound plan from the items in the provided batchsubmitBoxes: Submit BoxesscoutSearch: Wrapper around several SP-API calls for loading product, offers, and pricing dataselectBoxes: List boxes for a v1 Amazon batchinsertBox: Insert a BoxdeleteBox: Delete a BoxselectBox: Get a BoxupdateBox: Delete BoxselectBoxItems: List BoxItemsinsertBoxItem: Insert BoxItemdeleteBoxItem: Delete BoxItemupdateBoxItem: Update BoxItemselectInventory: Select InventoryselectPallets: List PalletsinsertPallet: Insert PalletgetMobileInventory: Returns found Inventory and Buylist quantities from the database grouped by ConditiondeletePallet: Delete PalletselectPallet: List PalletupdatePallet: Update Pallet
Purchase Orders
PurchaseOrders: Get a list of Purchase OrdersCreatePurchaseOrder: Create a single purchase orderUpdatePurchaseOrder: Update a purchase order. This does not change any of the items in the POPurchaseOrderItems: Get a list of purchase order itemsCreatePurchaseOrderItems: Add items to a purchase orderUpdatePurchaseOrderItem: Update a single purchase order item
Batch Operations
Batches: Get BatchesCreateBatch: Create BatchUpdateBatch: Update BatchBatchItems: Get BatchItemsCreateBatchItems: CreateBatchItemsUpdateBatchItemGql: Update BatchItemImportPurchaseOrderItems: Import PurchaseOrderItemsBuylist: Get Buylist itemsInventory: Get InventoryUpdateInventoryItems: Update InventoryItemscreateBuylist: Create Buylist itemsgetPackHistory: Get PackHistory
Walmart Operations
getWmAccessToken: Get Walmart AccessTokenitemSetupByMatch: Get ItemSetup by MatchbulkInventoryUpdate: Bulk Inventory UpdateallFeedStatuses: Get All FeedStatusesretireAnItem: Retire an Inventory ItemitemLabel: Generate item labelsselectBatches: List BatchesinsertBatches: Insert BatchesselectBatch: Get Walmart Batch by IDupdateBatches: Update BatchesdeleteBatches: Delete BatchesselectBatchItems: List BatchItemsinsertBatchItems: Insert BatchItemsupdateBatchItems: Update BatchItemsupdateBatchItem: Update BatchItemdeleteBatchItems: Delete BatchItemsgetInboundShipments: Get InboundShipmentscreateInboundShipment: Create InboundShipmentfetchInboundPreview: Fetch InboundPreviewupdateShipmentQuantities: Update Shipment QuantitiesupdateWmShipmentTrackingDetails: Update Walmart Shipment Tracking DetailscreateCarrierRateQuote: Create Carrier RateQuoteselectWmShipments: Select Walmart Shipments from the databaseselectWmShipment: Select a single Walmart Shipment by IdselectWmBoxes: Select Walmart Boxes from the databaseinsertWmBoxes: Insert Walmart Boxes into our databaseupdateWmBoxes: Update Walmart Boxes into our databaseselectWmBox: Select a single Walmart Box by IddeleteWmBoxes: Delete one or more Walmart Boxes by IdcreateInboundShipmentLabel: Create InboundShipment LabelprintCarrierLabel: Print Walmart Carrier LabelgetInboundShipmentErrors: Get InboundShipment ErrorsgetInboundShipmentItems: Get InboundShipment ItemscancelInboundShipment: Cancel InboundShipment
Prep Matrix & Billing
selectPrepMatrixProducts: Get all Prep Matrix Product mappingsinsertPrepMatrixProducts: Create multiple Prep Matrix Product mappingsselectPrepMatrixProduct: Get a specific Prep Matrix Product mapping by external_idupdatePrepMatrixProducts: Update a Prep Matrix Product mapping by external_iddeletePrepMatrixProducts: Delete one or more Prep Matrix Product mapping by external_idselectPrepMatrices: Get all Prep TypesinsertPrepMatrices: Create multiple Prep Type matricesprepCenterBillingReport: Get the billing report for a given time periodprepCenterBillingReportPost: Get the billing report for a given time periodselectShipmentPrepMatrices: Get shipment-level ad hoc chargesselectShipmentPrepMatricesPost: Get shipment-level ad hoc chargesinsertShipmentPrepMatrices: Add one or more shipment-level ad hoc chargesupdateShipmentPrepMatrices: Update or delete one or more shipment-level ad hoc chargesselectPrepMatrix: Get a specific Prep Type Matrix by IDupdatePrepMatrices: Update one or more Prep Type Matrices by IDdeletePrepMatrices: Delete one or more Prep Type Matrices by ID
Webhooks & Carrier Operations
selectWebHooks: List WebHooksgenerateWebHookSecretKey: Generate WebHook SecretKeytestWebHook: Test WebHookupdateWebHook: Update WebHookdeleteWebHook: Delete WebHookgetCarrierRateQuote: Get Carrier RateQuoteconfirmCarrierRateQuote: Confirm Carrier RateQuotecancelCarrierRateQuote: Cancel Carrier RateQutoe
Example Usage
Search for Catalog Items
Using API Token (Optional)
List Inbound Plans
Get Inbound Plan Details
Error Handling
The server includes comprehensive error handling for:
Authentication failures
API rate limiting
Invalid parameters
Network connectivity issues
Amazon SP-API errors
All errors are returned in a standardized format with descriptive error messages.
Development
Project Structure
Building
Development Mode
Watching for Changes
API Reference
This MCP server is based on the ScanPower API v2.0 specification. For detailed information about the underlying API endpoints and their parameters, refer to the ScanPower API documentation.
Authentication
The server uses basic authentication for initial API access and then manages bearer tokens for subsequent requests. Amazon SP-API operations require additional OAuth2-style authentication which is handled automatically.
Rate Limiting
The server respects ScanPower's rate limiting policies. If you encounter rate limit errors, the server will return appropriate error messages.
Support
For issues related to:
ScanPower API: Contact ScanPower Support
This MCP Server: Create an issue in this repository
MCP Protocol: Refer to the MCP documentation
License
MIT License - see LICENSE file for details.
Contributing
Fork the repository
Create a feature branch
Make your changes
Add tests if applicable
Submit a pull request
Changelog
v1.0.0
Initial release
Support for core ScanPower API operations
Authentication and token management
Amazon SP-API integration
Comprehensive error handling
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Enables interaction with ScanPower's inventory and shipment management system through a secure MCP interface. Supports retrieving inventory data, creating shipment plans, and managing logistics operations through natural language.