Connect Stamped to ChatGPT: Sync Customers, Orders, and Loyalty
Learn how to connect Stamped to ChatGPT using a managed MCP server. Execute complex e-commerce workflows, manage loyalty tiers, and sync orders via AI.
If you want to connect Stamped to ChatGPT so your AI agents can manage customer loyalty tiers, audit product catalogs, sync e-commerce orders, and orchestrate rewards, you need a Model Context Protocol (MCP) server. If your team uses Claude, check out our guide on connecting Stamped to Claude or explore our broader architectural overview on connecting Stamped to AI Agents.
Giving a Large Language Model (LLM) read and write access to a specialized e-commerce loyalty and reviews platform is an engineering challenge. You either spend weeks building, hosting, and maintaining a custom MCP server to translate LLM JSON arguments into Stamped's specific API schemas, or you use a managed infrastructure layer.
This guide breaks down exactly how to use Truto to generate a secure, authenticated MCP server for Stamped, connect it natively to ChatGPT, and execute complex e-commerce workflows using natural language.
Stop writing boilerplate API integration code. Let Truto generate secure, managed MCP servers for your AI agents in seconds. :::
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, implementing it against Stamped's API surface introduces several unique architectural hurdles.
If you decide to build a custom MCP server for Stamped, you own the entire API lifecycle. Here are the specific integration challenges that break standard CRUD assumptions when working with Stamped:
Mandatory Multi-Tenant Routing via Shop IDs
Unlike SaaS platforms where a Bearer token implicitly scopes the request to a single tenant, Stamped's API requires explicit tenant routing. Almost every operational endpoint - whether you are looking up a customer, updating a product, or triggering a loyalty event - requires a shop_id parameter. If you build a custom MCP server, your middleware must guarantee that the LLM cannot hallucinate or omit this identifier. If an agent attempts to call create_a_stamped_loyalty_activity without it, the request fails. Truto handles this schema enforcement dynamically, exposing the shop_id as a strict requirement in the MCP tool definition so ChatGPT knows exactly what to provide.
Strict Loyalty Rule Identifiers
Executing loyalty operations in Stamped is not as simple as passing a string like "give user 50 points." The API relies on strict identifiers. To trigger a custom loyalty activity, you must provide an exact campaignId. To update a VIP tier, the tierName must be a precise string match against the configured tiers in the Stamped dashboard. A custom MCP server must implement strict input validation to prevent the LLM from inventing campaign IDs or tier names, which would result in silently failed operations or HTTP 400 errors.
E-Commerce Platform ID Discrepancies
Stamped operates as a layer on top of platforms like Shopify, BigCommerce, or custom architectures. Because of this, product and order records often contain multiple identifiers (e.g., a native Stamped productId versus a customProductId or a platform-specific ID). When an LLM attempts to look up an order or product, your MCP server must handle the ambiguity of which ID type the user provided and route it to the correct lookup method.
Unforgiving Rate Limits
When an LLM attempts to execute a batch operation - such as auditing 50 customers to check their points balances - it will rapidly consume API quotas. A critical architectural fact: 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. However, Truto does normalize upstream rate limit information into standardized headers (ratelimit-limit, ratelimit-remaining, ratelimit-reset) per the IETF specification. Your AI agent client is strictly responsible for interpreting these headers and executing its own retry and backoff logic.
Step 1: Create the Stamped MCP Server
Truto abstracts the complexities of the Stamped API by dynamically generating documentation-driven tools. You can create an MCP server for Stamped using either the Truto UI or the REST API.
Method A: Via the Truto UI
If you prefer a visual setup, the Truto dashboard allows you to generate a secure MCP URL in clicks.
- Log into your Truto dashboard and navigate to Integrated Accounts.
- Connect a new Stamped account (or select an existing one) to complete the OAuth/API key flow.
- On the integrated account page, click the MCP Servers tab.
- Click Create MCP Server.
- Select your desired configuration (e.g., restrict to
readmethods only, or filter by specific tags likeloyalty). - Copy the generated MCP server URL (it will look like
https://api.truto.one/mcp/a1b2c3d4e5f6...). Treat this URL as a secret.
Method B: Via the Truto API
For platform engineering teams automating agent infrastructure, you can provision Stamped MCP servers programmatically.
First, locate your integrated_account_id for Stamped, then make a POST request to generate the server. You can pass a config object to filter the available tools.
curl -X POST https://api.truto.one/integrated-account/<stamped_account_id>/mcp \
-H "Authorization: Bearer $TRUTO_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "ChatGPT Stamped Loyalty Agent",
"config": {
"methods": ["read", "write"],
"tags": ["loyalty", "customers", "orders"]
}
}'The response payload contains your secure endpoint:
{
"id": "mcp-7a8b9c",
"name": "ChatGPT Stamped Loyalty Agent",
"config": { "methods": ["read", "write"] },
"expires_at": null,
"url": "https://api.truto.one/mcp/a1b2c3d4e5f6..."
}Step 2: Connect the MCP Server to ChatGPT
With your Stamped MCP server URL ready, you need to expose these tools to your ChatGPT environment. You can do this through the ChatGPT UI for immediate conversational access, or via a manual configuration file for local development and programmatic agent frameworks.
Method A: Via the ChatGPT UI
If you are using ChatGPT Pro, Plus, Enterprise, or Education, you can add custom connectors directly through the interface.
- Open ChatGPT and navigate to Settings.
- Go to Apps and find the Advanced settings section.
- Toggle on Developer mode (this is required for MCP support).
- Under MCP servers / Custom connectors, click to add a new server.
- Name: Enter a recognizable label like "Stamped E-commerce Tools".
- Server URL: Paste the
urlyou generated from Truto (https://api.truto.one/mcp/...). - Save the configuration. ChatGPT will immediately connect, perform the JSON-RPC handshake, and discover the Stamped API tools.
Method B: Via Manual Config File
If you are running a local MCP client or a custom AI agent framework, you can register the Truto endpoint using a standard MCP JSON configuration file and the SSE transport layer.
Create or update your mcp-config.json file:
{
"mcpServers": {
"stamped_api": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-sse",
"--url",
"https://api.truto.one/mcp/a1b2c3d4e5f6..."
]
}
}
}When your agent initializes, it will run the npx @modelcontextprotocol/server-sse command to bridge the remote Truto HTTP endpoint with your local context.
Hero Tools for Stamped Automation
Truto dynamically parses the Stamped API resources and schemas into flat, LLM-friendly tool definitions. Here are six high-leverage "hero" tools you can expose to ChatGPT for complex e-commerce orchestration.
list_all_stamped_customers_lookup
Before taking action on a customer's loyalty profile, agents must accurately identify them. This tool allows the LLM to search for a Stamped customer using their email or a platform-specific identifier, returning their core ID, tags, and points ledger.
Usage Note: Ensure the LLM understands it must always provide the shop_id alongside the lookup query parameter.
"Find the Stamped customer profile for alex@example.com in shop ID 12345. I need to see their current points balance and VIP status."
get_single_stamped_order_by_id
When a customer asks a support agent about missing points for a recent purchase, the LLM needs to audit the order payload. This tool retrieves a specific Stamped order by its ID, exposing currency, cart states, and line-item details.
Usage Note: The id required here is the order ID natively generated by Stamped upon creation.
"Fetch the details for Stamped order ID 987654 in shop 12345. Tell me what the financial status of the cart state is, and list the items purchased."
update_a_stamped_loyalty_customer_by_id
This is a critical write operation for customer service agents. It allows the LLM to forcefully adjust a customer's VIP tier in the Stamped Loyalty module, instantly overriding their programmatic point calculations.
Usage Note: The LLM must pass an exact string match to the tierName parameter. Hallucinated tier names will result in API rejections.
"Upgrade customer 776655 in shop 12345 to the 'Platinum VIP' tier. Ensure the tierName matches exactly."
create_a_stamped_loyalty_activity
Instead of simply adding a flat number of points, this tool triggers a predefined loyalty activity rule for a customer. This is essential for workflows like awarding points for a newsletter signup, a birthday, or a custom promotional event.
Usage Note: The LLM must identify the customer (usually via email) and pass the specific campaignId corresponding to the custom activity rule.
"Trigger the 'Summer Newsletter Bonus' loyalty activity for alex@example.com in shop 12345 using campaignId 889900."
create_a_stamped_loyalty_redemption
This tool allows the LLM to act as a cashier, redeeming a loyalty reward on behalf of a Stamped customer. It automatically debits the required points from the ledger based on the reward rule.
Usage Note: The LLM must supply the reward_id being redeemed. For variable-value rewards, it can optionally pass a specific point deduction.
"Redeem the 10-dollar off reward (reward ID 44556) for customer 776655 in shop 12345. Deduct the default points associated with this rule."
list_all_stamped_products
To ensure Stamped has accurate catalog data for reviews and loyalty programs, agents can audit the active product list. This tool fetches products with filters for platform IDs, publish scopes, statuses, and vendor tags.
Usage Note: This endpoint is heavily paginated. If you request a large catalog, ensure your agent respects the limit and passes the exact next_cursor back to subsequent tool calls without modifying it.
"List all active products in shop 12345 that have the vendor tag 'WinterCollection'. Return the product IDs and titles."
For the complete inventory of available Stamped tools, including exact JSON Schema requirements for query and body parameters, visit the Stamped integration page.
Workflows in Action
When you connect Stamped to ChatGPT via Truto, you move beyond simple Q&A. Your agents can orchestrate multi-step e-commerce workflows.
Workflow 1: Customer Support Resolving a Missing Points Claim
A customer writes in claiming they spent $500 last week but have not received their VIP upgrade or points. An AI agent augmenting the customer support team investigates and resolves the issue.
"Check why customer alex@example.com is not in the Gold tier yet. Review their recent order history in shop 12345. If they have a completed order over $500, upgrade them to the Gold tier and trigger the 'Manual Apology Bonus' campaign."
Execution Steps:
list_all_stamped_customers_lookup: The agent searches for the email to retrieve the StampedcustomerIdand verify their current VIP tier.list_all_stamped_orders: The agent queries the shop's orders, filtering by the retrieved customer ID to verify the recent $500 purchase.update_a_stamped_loyalty_customer_by_id: Confirming the purchase is valid, the agent executes a tier adjustment, passing"Gold"to thetierNameparameter.create_a_stamped_loyalty_activity: The agent fires the exactcampaignIdfor the apology bonus to instantly credit the user's ledger.
The Result: The LLM successfully audits the ledger, upgrades the customer, credits apology points, and drafts a resolution email - all in seconds without human intervention.
sequenceDiagram
participant SupportAgent as Support Agent
participant ChatGPT as ChatGPT
participant TrutoMCP as Truto MCP
participant StampedAPI as Stamped API
SupportAgent->>ChatGPT: Check missing points for alex@example.com
ChatGPT->>TrutoMCP: Call list_all_stamped_customers_lookup
TrutoMCP->>StampedAPI: GET /customers/search
StampedAPI-->>TrutoMCP: Returns customer ID and Gold tier status
TrutoMCP-->>ChatGPT: JSON Response
ChatGPT->>TrutoMCP: Call update_a_stamped_loyalty_customer_by_id
TrutoMCP->>StampedAPI: POST /loyalty/tier
StampedAPI-->>TrutoMCP: Tier Updated
TrutoMCP-->>ChatGPT: Confirmation
ChatGPT-->>SupportAgent: Tier adjusted to Gold and points creditedWorkflow 2: E-commerce Manager Auditing Product Data
An e-commerce manager needs to ensure that a newly imported list of seasonal items was properly synced into Stamped so customers can start leaving reviews.
"Audit the Stamped catalog for shop 12345. List all products belonging to the 'Summer Promo' vendor tag. If any of them are missing product images, delete them from Stamped so they can be re-synced properly."
Execution Steps:
list_all_stamped_products: The agent requests the product list, applying the vendor tag filter to isolate the summer promo items.- The LLM evaluates the returned JSON payload, iterating through the
imagesarray for eachproductId. delete_a_stamped_product_by_id: For any product ID where the image array is empty, the agent executes the deletion tool, ensuring the database is cleared for the primary e-commerce platform (like Shopify) to push a clean re-sync.
The Result: The manager avoids manual spreadsheet exports and VLOOKUPs. The AI acts as a data janitor, ensuring the Stamped database remains pristine.
Security and Access Control
Giving an LLM access to your e-commerce and loyalty infrastructure requires strict boundary management. Truto's MCP architecture provides native security controls at the token level, ensuring ChatGPT only touches what you authorize.
- Method Filtering: Constrain the AI's capabilities by passing
methods: ["read"]during token creation. This allows the LLM to look up customers and orders but completely blocks it from upgrading VIP tiers or deleting products. - Tag Filtering: Restrict tool discovery by functional area. Passing
tags: ["loyalty"]ensures ChatGPT only sees tools related to points and rewards, hiding core catalog management tools entirely. - Expiration Controls: Generate short-lived access by passing an ISO datetime to the
expires_atproperty. The underlying Cloudflare KV storage will automatically revoke the token, and a durable object alarm will permanently delete the server when the TTL expires. - Secondary Authentication: By default, the MCP URL serves as a bearer token. For enterprise deployments, you can set
require_api_token_auth: true. This forces the MCP client to also pass a valid Truto API token in theAuthorizationheader, preventing unauthorized access even if the MCP URL is leaked.
Stop Writing E-Commerce Integration Boilerplate
Building a custom integration layer between ChatGPT and Stamped is a massive technical distraction. You have to handle dynamic shop IDs, parse complex loyalty rule logic, map query schemas to LLM definitions, and maintain the infrastructure every time the upstream API changes.
Truto eliminates this overhead. By dynamically generating MCP tools from API documentation, Truto provides a secure, fully managed translation layer. Your AI agents get immediate read and write access to Stamped's complex e-commerce data models without you writing a single line of OAuth logic, pagination handling, or JSON-RPC schema code.
Focus on building better e-commerce AI workflows. Let Truto handle the integration.
Stop writing boilerplate API integration code. Let Truto generate secure, managed MCP servers for your AI agents in seconds. :::
FAQ
- Does Truto automatically retry Stamped API rate limits?
- No. Truto passes HTTP 429 rate limit errors directly to the caller. Truto normalizes the upstream rate limit information into standard headers (ratelimit-limit, ratelimit-remaining, ratelimit-reset), and your AI agent client is responsible for handling retry and backoff logic.
- Can I prevent ChatGPT from modifying my Stamped product catalog?
- Yes. When generating the MCP server via Truto, you can configure method filtering by passing `methods: ["read"]`. This exposes only retrieval tools to the LLM, blocking write operations like creation or deletion.
- How do I securely share an MCP server with external contractors?
- You can generate an MCP server with a strict time-to-live using the `expires_at` parameter. Once the expiration time is reached, the server is automatically and permanently destroyed.