By Adunni MCP Server
Provides tools for looking up product information and order status from a Shopify storefront, standing in for the real Shopify Admin API so agents can answer stock and order questions directly.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@By Adunni MCP Server what's the status of order_1001?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
By Adunni MCP Server
A minimal Model Context Protocol (MCP) server exposing two tools that let an AI agent look up product information and order status for the By Adunni storefront — without a human driving a UI.
Built to practice the specific skill of designing an interface for an agent to call, rather than for a human to read: structured inputs/outputs, explicit schemas, and documentation written so a model can act on it directly.
Why this exists
By Adunni is a live e-commerce brand I run. In the real store, a support agent or internal tool would need to answer questions like "is this in stock?" or "where's my order?" — today that's done by a human (me) checking Shopify manually. This project is a small proof-of-concept for how an AI agent could do that lookup directly, via two well-defined tools.
The underlying data is a static in-memory fixture (src/data.ts) standing in for the real Shopify Admin API, so this runs standalone with zero credentials or network calls.
Related MCP server: Commerce MCP Server
Tools
get_product_info
Look up a single product by ID, or list all products in a collection.
Input | Type | Required | Description |
| string | no* | Exact product ID, e.g. |
| string | no* | Collection name, e.g. |
* Provide one or the other. If neither is given, all products are returned.
Returns: JSON object (single product) or JSON array (collection/all), each with id, name, collection, price, currency, stock, description.
Example call:
{ "name": "get_product_info", "arguments": { "productId": "prod_001" } }Example response:
{
"id": "prod_001",
"name": "Adaeze Beaded Clutch",
"collection": "Evening",
"price": 85,
"currency": "GBP",
"stock": 12,
"description": "Hand-beaded clutch bag with a braided strap, made in a classic evening silhouette."
}check_order_status
Look up an order by ID. Resolves each line item into its full product object in the same call, so an agent doesn't need to chain a second lookup.
Input | Type | Required | Description |
| string | yes | Exact order ID, e.g. |
Returns: JSON object with id, customerEmail, status (processing | shipped | delivered | cancelled), items (each resolved to its full product), placedAt, shippingCountry, and trackingNumber if available.
If the order ID doesn't exist, the tool returns an error result (isError: true) with a JSON { "error": "..." } payload, rather than throwing — so an agent can handle it gracefully instead of crashing.
Running it
npm install
npm run build
npm start # runs the compiled server on stdioFor local development without a build step:
npm run dev # runs src/index.ts directly via tsxConnecting it to an MCP client
Add to your client's MCP config (e.g. Claude Desktop's claude_desktop_config.json):
{
"mcpServers": {
"adunni-store": {
"command": "node",
"args": ["/absolute/path/to/adunni-mcp-server/dist/index.js"]
}
}
}Testing
A smoke test drives the server with real MCP JSON-RPC messages over stdio and asserts on the results (exact lookup, collection filtering, nested order resolution, and error handling for unknown IDs):
npm run build
node test/smoke-test.mjsStack
TypeScript, @modelcontextprotocol/sdk, zod for schema validation. Transport: stdio.
Author
Fopefoluwa Ayo — fopeayo@hotmail.com
Available Tools
2 toolscheck_order_statusCheck order statusA
Look up a By Adunni order by order ID. Returns status (processing/shipped/delivered/cancelled), shipping country, tracking number if available, and the full product details for each line item.
Inputs: orderId (required).
get_product_infoGet product infoA
Look up By Adunni product details by product ID, or list all products in a given collection (e.g. 'Evening', 'Everyday'). Returns price, currency, stock level and description as structured JSON. Provide either productId OR collection, not both.
Inputs: productId, collection.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 2 tools
The two tools target completely different resources: product catalog lookup vs. order tracking by order ID. There is no plausible scenario where an agent would confuse the two, and the product tool's dual-mode (productId or collection) is explicitly constrained.
Both names follow a verb_noun pattern (get_product_info, check_order_status), which is predictable and readable. The only minor deviation is the differing verb choice ('get' vs 'check') for what are both fundamentally read/lookup operations.
Two tools is thin for an e-commerce storefront surface, even a read-only one. It is not absurdly under-scoped for a simple brand assistant, but agents will quickly hit the edge of what they can do.
The surface covers the two most common read paths (product details and order status) but omits obvious operations like searching products by name, listing a customer's orders, or checking availability across collections. Read-only coverage is coherent but has notable dead ends for anything beyond a known ID.
Maintenance
Related MCP Connectors
AI-powered commerce API for luxury skincare shopping. Enables AI agents to search products, browse collections, manage shopping carts, and generate checkout URLs for the Regenique Elegance Shopify store.
AI-agent product catalog: search, lookup & purchase routing over verified merchant data.
Live product search for AI agents across Shopify merchants and major retailers.
AI shopping gateway for product search, inventory, carts, and merchant-hosted checkout.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to query and interact with Shopify store data via the Storefront API, including products, collections, carts, and customer information.9-
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to browse product catalogs, search products with filters, and initiate checkouts, generating order summaries and checkout URLs.-
- AlicenseNot gradedqualityCmaintenanceEnables AI shopping agents to search products, check stock, apply promotions, manage cart sessions, and create cryptographically signed checkout sessions on e-commerce storefronts, while giving merchants analytics into agent intent and catalog demand gaps.MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to search enterprise Auto-ID products and exact SKUs, read live stock and current pricing, and explore variants, accessories, consumables and support relationships through a public read-only endpoint. It also surfaces manuals, firmware, drivers and other verified technical resources from the vendor's support center.-