Connect Stamped to Claude: Manage Store Catalog and VIP Rewards
A hands-on engineering guide to building a managed MCP server for Stamped. Learn how to connect Claude to Stamped to automate VIP rewards, sync catalogs, and manage store data.
If you need to connect Stamped to Claude to automate e-commerce operations, manage VIP tiers, issue loyalty points, or oversee your product catalog, you need a Model Context Protocol (MCP) server. This server acts as the translation layer between Claude's natural language tool calls and Stamped's REST APIs. You can either build and maintain this infrastructure yourself, or use a managed integration platform like Truto to dynamically generate a secure, authenticated MCP server URL. If your team uses ChatGPT, check out our guide on /connect-stamped-to-chatgpt-sync-customers-orders-and-loyalty/ or explore our broader architectural overview on /connect-stamped-to-ai-agents-automate-loyalty-and-store-data/.
Giving a Large Language Model (LLM) read and write access to a sprawling e-commerce marketing platform like Stamped is an engineering challenge. You have to map massive JSON schemas to MCP tool definitions, handle platform-specific identifier lookups (Shopify vs BigCommerce IDs), and deal with strict API quotas. Every time Stamped updates an endpoint or deprecates a legacy resource, you have to update your server code, redeploy, and test the integration.
This guide breaks down exactly how to use Truto to generate a secure, managed MCP server for Stamped, connect it natively to Claude Desktop, and execute complex loyalty workflows using natural language.
The Engineering Reality of the Stamped API
A custom MCP server is a self-hosted integration layer. While the open MCP standard provides a predictable way for models to discover tools, the reality of implementing it against specialized B2B APIs is painful. Stamped operates two distinct product lines - Reviews and Loyalty - which share underlying customer records but have strict rules around data modification.
If you decide to build a custom Stamped MCP server, here are the specific integration challenges you will face:
Multi-Platform Identifier Mapping
Stamped serves as an overlay on top of underlying e-commerce platforms like Shopify, Magento, or BigCommerce. When an LLM wants to interact with a product or order, it often only has the Shopify ID or a custom SKU. Stamped's core endpoints, however, require Stamped's internal productId or orderId. You cannot expect an LLM to magically know Stamped's internal database IDs. Your MCP server must expose specific lookup tools (like list_all_stamped_products_lookup) that take an external platform ID, query Stamped, and return the internal IDs before executing the primary mutation.
Strict Payload Structures for Loyalty Ledgers
Adjusting a customer's loyalty balance in Stamped is not a matter of simply patching a points: 500 integer on a customer record. Loyalty systems function like financial ledgers. To add points, you must post an activity record referencing a specific ruleId or campaignId. To change a VIP tier, you must pass an exact string match for tierName. If your MCP server exposes an open-ended "update customer" tool, the LLM will inevitably hallucinate the payload structure and fail. The tools must be strictly scoped with rigid JSON schemas dictating exactly what inputs are required.
Rate Limits and 429 Handling
Like all multi-tenant SaaS platforms, Stamped enforces API rate limits. It is critical to understand how this is handled in a managed architecture. Truto does not retry, throttle, or apply backoff on rate limit errors. When the upstream Stamped API returns an HTTP 429, Truto passes that error directly to the caller (the LLM client). Truto normalizes the upstream rate limit information into standardized headers (ratelimit-limit, ratelimit-remaining, ratelimit-reset) per the IETF spec. The client orchestrating the AI agent is responsible for catching the 429, parsing the reset time, and executing retry or backoff logic. Do not build an MCP client that expects the middleware to absorb rate limits.
How to Generate the Stamped MCP Server
Instead of hardcoding tool definitions and managing API keys in your own infrastructure, Truto dynamically generates MCP tools from Stamped's API documentation and your environment configurations.
Each MCP server is scoped to a single integrated account. The generated server URL contains a cryptographic token that securely maps to the tenant's Stamped connection.
You can generate this server via the Truto UI for manual agent setups, or programmatically via the API for automated multi-tenant deployments.
Method 1: Via the Truto UI
If you are setting up Claude Desktop for internal team use, the UI is the fastest path.
- Log into your Truto dashboard and navigate to the Integrated Accounts page.
- Select the connected Stamped account you want Claude to access.
- Click the MCP Servers tab.
- Click Create MCP Server.
- Configure the server constraints (e.g., set allowed methods to
read, write). - Copy the generated MCP Server URL (e.g.,
https://api.truto.one/mcp/abc123def456).
Method 2: Via the Truto API
For production applications provisioning AI agents dynamically for end-users, you generate the MCP server programmatically.
Make a POST request to /integrated-account/:id/mcp with your desired configuration:
curl -X POST https://api.truto.one/admin/integrated-accounts/{integrated_account_id}/mcp \
-H "Authorization: Bearer YOUR_TRUTO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Stamped Loyalty Ops",
"config": {
"methods": ["read", "write", "custom"],
"require_api_token_auth": false
}
}'The API returns a payload containing the secure URL Claude needs to connect:
{
"id": "mcp_abc123",
"name": "Stamped Loyalty Ops",
"config": { "methods": ["read", "write", "custom"] },
"url": "https://api.truto.one/mcp/token_xyz987"
}Connecting the MCP Server to Claude
Once you have your Truto MCP URL, you need to register it with your Claude client. Truto exposes standard JSON-RPC 2.0 endpoints over HTTP (using the Server-Sent Events transport method), which Claude natively supports.
Method A: Via the Claude UI
If you are using the enterprise Claude web interface or ChatGPT with developer mode enabled, you can add the connector directly in the UI.
- In your AI client, navigate to Settings -> Integrations (or Connectors).
- Click Add MCP Server or Add custom connector.
- Name the connector (e.g., "Stamped Production").
- Paste the Truto MCP URL provided in the previous step.
- Click Add. Claude will immediately perform a handshake and pull down the list of Stamped tools.
Method B: Via Manual Config File (Claude Desktop)
If you are running Claude Desktop locally for development, you configure the MCP server by modifying the claude_desktop_config.json file. Because Truto provides a hosted HTTP endpoint, you use the official @modelcontextprotocol/server-sse transport utility to bridge Claude's standard IO process to Truto's remote URL.
Edit your configuration file (located at ~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"stamped-truto": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-sse",
"--url",
"https://api.truto.one/mcp/token_xyz987"
]
}
}
}Restart Claude Desktop. The application will initialize the server and load the Stamped tools into the model's context window.
Hero Tools for Stamped
Truto automatically translates Stamped's endpoints into descriptive, snake-case MCP tools injected with the proper JSON schemas. Here are the highest-leverage tools available for AI agent workflows.
list_all_stamped_customers_lookup
Resolves a customer's Stamped profile using their email address or external platform ID. This is the mandatory first step before applying loyalty points or tier changes.
"Find the Stamped customer record for sarah.connor@example.com and check her current loyalty point balance."
create_a_stamped_loyalty_customer
Despite the name, this tool is used to manually adjust a customer's points balance in Stamped Loyalty (debiting or crediting points). It records the transaction against their ledger.
"Add 500 loyalty points to customer ID 8839201 for the shipping delay inconvenience."
update_a_stamped_loyalty_customer_by_id
Adjusts a customer's VIP tier. You must provide the exact tierName configured in your Stamped account.
"Upgrade customer ID 8839201 to the 'Gold Tier' VIP status."
create_a_stamped_loyalty_redemption
Redeems a specific loyalty reward on behalf of a customer, deducting the required points and returning the generated coupon code.
"Redeem reward ID 99281 for customer 8839201 and output the coupon code they can use at checkout."
list_all_stamped_products
Queries the product catalog stored in Stamped. Used to verify product sync status, check review counts, or retrieve Stamped product IDs needed for order creation.
"List all Stamped products from the vendor 'Acme Corp' and return their Stamped product IDs."
update_a_stamped_order_by_id
Updates the cart state, line items, or financial status of an order currently tracked in Stamped. Used when an external fulfillment system needs to sync order state back to Stamped for review requests.
"Update Stamped order ID 110293 to mark its financial status as 'refunded'."
For the complete inventory of available tools and their underlying JSON schemas, view the Stamped integration page.
Workflows in Action
Once Claude has access to the Stamped MCP server, it can orchestrate complex, multi-step business logic without requiring you to write custom integration glue code.
Scenario 1: VIP Support Remediation
A customer service agent tasks Claude with remediating a poor experience for a high-value customer. Claude needs to verify the user's status, add compensatory points, and output a summary.
"Look up the Stamped account for alex@example.com. If they are in the 'Platinum' VIP tier, add 1000 points to their account as an apology for the damaged shipment, then retrieve the updated points balance."
Execution Steps:
- Claude calls
list_all_stamped_customers_lookuppassingemail: "alex@example.com". - Claude parses the response, confirms the
tierNameis 'Platinum', and extracts thecustomerId. - Claude calls
create_a_stamped_loyalty_customerpassing thecustomer_idandpoints: 1000. - Claude returns a natural language summary confirming the points were added and outputs the new total balance.
sequenceDiagram participant User participant Claude participant MCP as Truto MCP Server participant Stamped as Stamped API User->>Claude: "Credit 1000 points to alex@example.com if they are Platinum" Claude->>MCP: Call list_all_stamped_customers_lookup(email) MCP->>Stamped: GET /v3/customers/lookup Stamped-->>MCP: Customer profile (Tier: Platinum, ID: 4921) MCP-->>Claude: JSON Tool Result Claude->>MCP: Call create_a_stamped_loyalty_customer(id: 4921, points: 1000) MCP->>Stamped: POST /v3/loyalty/points Stamped-->>MCP: Ledger updated MCP-->>Claude: JSON Tool Result Claude-->>User: "Success. 1000 points added to Alex's Platinum account."
Scenario 2: Manual Reward Redemption and Catalog Sync
A marketing manager wants to manually issue a specific reward to a customer and verify the product they intend to buy is active in the Stamped catalog for future reviews.
"Redeem reward ID 5021 for jessica@example.com so she gets the $10 off coupon. Then verify if the product with handle 'summer-tote-bag' exists in the Stamped catalog."
Execution Steps:
- Claude calls
list_all_stamped_customers_lookupto resolve Jessica's email to a StampedcustomerId. - Claude calls
create_a_stamped_loyalty_redemptionpassing thecustomerIdandreward_id: 5021. - Claude stores the returned
couponCodefrom the redemption response. - Claude calls
list_all_stamped_productspassinghandle: "summer-tote-bag"to verify existence. - Claude outputs the coupon code to the user and confirms the product is ready to collect reviews.
Security and Access Control
Giving AI agents raw write access to your e-commerce marketing database carries risk. Truto's MCP servers provide granular access control mechanisms built directly into the token architecture.
- Method Filtering: You can restrict a server to specific operation types. Setting
methods: ["read"]ensures the LLM can look up customers and products but physically cannot execute POST, PUT, or DELETE requests. - Tag Filtering: You can filter tools by functional domain. You can configure an MCP server to only expose tools tagged with
loyalty, hiding allreviewsendpoints from the model's context. - API Token Authentication: By default, the cryptographically secure MCP URL is sufficient for access. For enterprise deployments, setting
require_api_token_auth: trueforces the client to also pass a valid Truto API token in the Authorization header, adding a strict second layer of defense. - Time-to-Live (TTL): Setting an
expires_attimestamp ensures the MCP server automatically self-destructs at a specific date and time, preventing stale, over-privileged integrations from lingering in your environment.
Stop Hardcoding E-Commerce Workflows
Building a custom Stamped integration means maintaining a sprawling matrix of API schemas, identifier lookups, and loyalty ledger logic. By leveraging Truto's managed MCP servers, you shift the integration burden to the infrastructure layer.
Your engineering team stops writing point-to-point HTTP requests and starts orchestrating high-level AI workflows. Claude gets immediate, secure, and fully documented access to the Stamped catalog, and you get strict control over exactly what the model can see and do.
FAQ
- How do I give Claude access to my Stamped loyalty data?
- You can connect Claude to Stamped by creating a Model Context Protocol (MCP) server. Truto generates this server dynamically from Stamped's API schemas, giving Claude a secure JSON-RPC endpoint to call Stamped tools.
- Does Truto automatically handle Stamped API rate limits?
- No. Truto passes upstream HTTP 429 errors directly to the caller, normalizing the rate limit information into standard headers (ratelimit-limit, ratelimit-remaining, ratelimit-reset). The client orchestrating the AI agent must handle its own retry and backoff logic.
- Can I restrict Claude to read-only operations in Stamped?
- Yes. When provisioning the MCP server via the Truto UI or API, you can configure method filtering to only allow 'read' operations, which blocks Claude from modifying points, tiers, or product data.