mcp-erps
v1.1.7
Published
MCP server: GraphQL Storefront query documentation for ERSP Shopify CMS (fetch_docs from docs.md)
Downloads
2,500
Maintainers
Readme
mcp-erp
MCP (Model Context Protocol) server that provides GraphQL Storefront query documentation for the ERSPO Shopify CMS. Useful for AI assistants (Cursor, Claude, etc.) so they can access query documentation and sample responses without opening files manually.
MCP Config
Copy the config below into your MCP settings. Requires Node.js and uses the published package mcp-erps via npx (no clone needed).
Config (copy-paste)
{
"mcpServers": {
"mcp-erps": {
"command": "npx",
"args": ["-y", "mcp-erps"]
}
}
}Where to put it
| App | Config file / location |
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Cursor | Settings → MCP, or .cursor/mcp.json (workspace or user). Paste the block above; if you already have other servers, add only the "mcp-erp": { ... } entry inside mcpServers. |
| Claude Desktop | macOS: ~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json — open the file and add or merge the mcpServers object. |
Optional
- Global install:
npm i -g mcp-erps— then you can keep the same config or use"command": "mcp-erps","args": []. - A ready-to-use file in this repo:
mcp-config.json(same content as above).
After configuring
- Restart Cursor or Claude Desktop.
- In chat, ask the assistant to use the
fetch_docstool (e.g. “Fetch ERSPO query documentation”).
Features
fetch_docstool — Retrieves the documentation content fromdocs.md, including:- Header & footer navigation (GraphQL queries + sample responses)
- Blog/article details (Our Story / Behind the scenes)
- Our Store, FAQ, Contact Us, Terms & Conditions, Privacy Policy
- URL patterns and pagination rules
Requirements
- Node.js 18+
- npm or yarn
Installation
git clone https://github.com/laskar-ksatria/mcp-erp.git
cd mcp-erp
npm installUsage
Run the server (standalone)
npm start
# or
npm run devYou should see: connection success, list of tools, and a preview of the docs content.
Using the tool from an AI assistant
After the MCP server is configured, you can ask the assistant:
- "Fetch ERSPO Shopify query documentation"
- "What is the query for header navigation?"
- "Show the FAQ page documentation"
The fetch_docs tool will return the full contents of docs.md (GraphQL queries + sample responses).
License
MIT © Laskar
ERSPO Shopify CMS Queries
Url Fallback Megamenu Image Content: https://cdn.shopify.com/s/files/1/0977/7440/3889/files/img_collections_1.jpg?v=1772608829
1. Header Navigation
Query:
query HEADER_NAVIGATION {
menu(handle: "main-menu") {
id
title
items {
type
title
items {
id
title
items {
id
title
resource {
... on Collection {
handle
}
}
}
resource {
__typename
... on Collection {
handle
}
}
}
}
itemsCount
}
}Response:
{
"data": {
"menu": {
"id": "gid://shopify/Menu/307302072625",
"title": "Main menu",
"items": [
{
"type": "FRONTPAGE",
"title": "New",
"items": [
{
"id": "gid://shopify/MenuItem/770176483633",
"title": "New Arrivals",
"items": [],
"resource": {
"__typename": "Collection",
"handle": "new-arrival"
}
},
{
"id": "gid://shopify/MenuItem/770682782001",
"title": "Bestsellers",
"items": [],
"resource": {
"__typename": "Collection",
"handle": "bestsellers"
}
},
{
"id": "gid://shopify/MenuItem/770682814769",
"title": "Sale",
"items": [],
"resource": {
"__typename": "Collection",
"handle": "sale"
}
}
]
},
{
"type": "COLLECTION",
"title": "Men",
"items": [
{
"id": "gid://shopify/MenuItem/770682847537",
"title": "Apparel",
"items": [
{
"id": "gid://shopify/MenuItem/770682945841",
"title": "T-Shirts",
"resource": {
"handle": "t-shirts"
}
},
{
"id": "gid://shopify/MenuItem/770683076913",
"title": "Jersey",
"resource": {
"handle": "jersey"
}
},
{
"id": "gid://shopify/MenuItem/770683109681",
"title": "Jackets",
"resource": {
"handle": "jackets"
}
}
],
"resource": null
},
{
"id": "gid://shopify/MenuItem/770682880305",
"title": "Accessories",
"items": [
{
"id": "gid://shopify/MenuItem/770683339057",
"title": "Headwear",
"resource": {
"handle": "headwear"
}
},
{
"id": "gid://shopify/MenuItem/770683371825",
"title": "Bandana",
"resource": {
"handle": "bandana"
}
},
{
"id": "gid://shopify/MenuItem/770683404593",
"title": "Bags",
"resource": {
"handle": "bags"
}
}
],
"resource": null
},
{
"id": "gid://shopify/MenuItem/770682913073",
"title": "Footwear",
"items": [
{
"id": "gid://shopify/MenuItem/770685468977",
"title": "Flight SP",
"resource": {
"handle": "flight-sp"
}
}
],
"resource": null
}
]
},
{
"type": "FRONTPAGE",
"title": "Shop By",
"items": [
{
"id": "gid://shopify/MenuItem/770683011377",
"title": "Activity",
"items": [
{
"id": "gid://shopify/MenuItem/770683470129",
"title": "Running",
"resource": {
"handle": "running"
}
},
{
"id": "gid://shopify/MenuItem/770683502897",
"title": "Training",
"resource": {
"handle": "training"
}
}
],
"resource": null
}
]
},
{
"type": "FRONTPAGE",
"title": "Collections",
"items": [
{
"id": "gid://shopify/MenuItem/770684125489",
"title": "Event",
"items": [
{
"id": "gid://shopify/MenuItem/770684027185",
"title": "JFW",
"resource": {
"handle": "jfw"
}
},
{
"id": "gid://shopify/MenuItem/770684387633",
"title": "Pocari Sweat",
"resource": {
"handle": "pocari-sweat"
}
}
],
"resource": null
},
{
"id": "gid://shopify/MenuItem/770684420401",
"title": "Collaboration",
"items": [
{
"id": "gid://shopify/MenuItem/770684453169",
"title": "VR46",
"resource": {
"handle": "vr46"
}
},
{
"id": "gid://shopify/MenuItem/770684485937",
"title": "BYON",
"resource": {
"handle": "byon"
}
}
],
"resource": null
}
]
}
],
"itemsCount": 4
}
},
"extensions": {
"cost": {
"requestedQueryCost": 7
}
}
}2. Footer Navigation
Query:
query FOOTER_NAVIGATION {
menu(handle: "footer") {
title
items {
type
title
items {
id
title
items {
id
title
resource {
__typename
... on Page {
handle
}
... on Collection {
handle
}
}
}
resource {
__typename
... on Page {
handle
}
... on Collection {
handle
}
}
}
}
itemsCount
}
}Response:
{
"data": {
"menu": {
"title": "Footer menu",
"items": [
{
"type": "FRONTPAGE",
"title": "Apparel",
"items": [
{
"id": "gid://shopify/MenuItem/770916679985",
"title": "T-Shirt",
"items": [],
"resource": {
"__typename": "Collection",
"handle": "t-shirts"
}
},
{
"id": "gid://shopify/MenuItem/770916712753",
"title": "Jersey",
"items": [],
"resource": {
"__typename": "Collection",
"handle": "jersey"
}
},
{
"id": "gid://shopify/MenuItem/770916745521",
"title": "Jackets",
"items": [],
"resource": {
"__typename": "Collection",
"handle": "jackets"
}
},
{
"id": "gid://shopify/MenuItem/770916778289",
"title": "Hoodies",
"items": [],
"resource": {
"__typename": "Collection",
"handle": "hoodies"
}
}
]
},
{
"type": "FRONTPAGE",
"title": "Discover",
"items": [
{
"id": "gid://shopify/MenuItem/770917400881",
"title": "About Us",
"items": [],
"resource": {
"__typename": "Page",
"handle": "about-us"
}
},
{
"id": "gid://shopify/MenuItem/770917171505",
"title": "The Story Behind",
"items": [],
"resource": {
"__typename": "Page",
"handle": "the-story-behind"
}
}
]
},
{
"type": "FRONTPAGE",
"title": "Support",
"items": [
{
"id": "gid://shopify/MenuItem/770917892401",
"title": "FAQ",
"items": [],
"resource": {
"__typename": "Page",
"handle": "faq"
}
},
{
"id": "gid://shopify/MenuItem/770917925169",
"title": "Contact Us",
"items": [],
"resource": {
"__typename": "Page",
"handle": "about-us"
}
},
{
"id": "gid://shopify/MenuItem/770917957937",
"title": "Our Store",
"items": [],
"resource": {
"__typename": "Page",
"handle": "our-store"
}
}
]
}
],
"itemsCount": 3
}
},
"extensions": {
"cost": {
"requestedQueryCost": 8
}
}
}3. Collection Additional Content (Banner)
Query:
query COLLECTION {
collection(handle: "hoodies") {
# ... OTHER QUERY COLLECTION
megamenu_image: metafield(namespace: "custom", key: "megamenu_image") {
id
key
value
type
__typename
reference {
__typename
... on MediaImage {
id
image {
id
width
height
url
}
}
}
}
banner: metafield(namespace: "custom", key: "banner") {
id
description
type
__typename
reference {
... on Metaobject {
id
type
__typename
fields {
__typename
key
value
reference {
... on MediaImage {
id
image {
id
width
height
url
}
}
}
}
}
}
}
}
}Sample Response:
{
"data": {
"collection": {
"megamenu_image": {
"id": "gid://shopify/Metafield/56377570459953",
"key": "megamenu_image",
"value": "gid://shopify/MediaImage/46544860905777",
"type": "file_reference",
"__typename": "Metafield",
"reference": {
"__typename": "MediaImage",
"id": "gid://shopify/MediaImage/46544860905777",
"image": {
"id": "gid://shopify/ImageSource/46544860905777",
"width": 972,
"height": 972,
"url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/Frame_395640841_2_1.jpg?v=1771920953"
}
}
},
"banner": {
"id": "gid://shopify/Metafield/56031367790897",
"description": null,
"type": "metaobject_reference",
"__typename": "Metafield",
"reference": {
"id": "gid://shopify/Metaobject/323991273777",
"type": "input_asset_schema",
"__typename": "Metaobject",
"fields": [
{
"__typename": "MetaobjectField",
"key": "desktop_image",
"value": "gid://shopify/MediaImage/46527922602289",
"reference": {
"id": "gid://shopify/MediaImage/46527922602289",
"image": {
"id": "gid://shopify/ImageSource/46527922602289",
"width": 6204,
"height": 3489,
"url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/image_7.jpg?v=1771839865"
}
}
},
{
"__typename": "MetaobjectField",
"key": "mobile_image",
"value": "gid://shopify/MediaImage/46527922602289",
"reference": {
"id": "gid://shopify/MediaImage/46527922602289",
"image": {
"id": "gid://shopify/ImageSource/46527922602289",
"width": 6204,
"height": 3489,
"url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/image_7.jpg?v=1771839865"
}
}
},
{
"__typename": "MetaobjectField",
"key": "title",
"value": "Banner Home ",
"reference": null
}
]
}
}
}
},
"extensions": {
"cost": {
"requestedQueryCost": 9
}
}
}4. About Us Page
Query:
query ABOUT_US_PAGE {
about_us: metaobject(handle: { type: "about_us", handle: "en" }) {
id
type
fields {
key
type
value
reference {
__typename
... on Collection {
id
title
handle
}
... on MediaImage {
id
image {
id
width
height
url
}
}
... on Metaobject {
id
type
__typename
fields {
__typename
key
type
value
reference {
__typename
... on Collection {
id
title
handle
}
... on MediaImage {
id
image {
id
width
height
url
}
}
... on Metaobject {
type
fields {
__typename
key
type
value
reference {
__typename
... on Collection {
id
title
handle
}
... on MediaImage {
id
image {
id
width
height
url
}
}
}
}
}
}
}
}
}
references(first: 100) {
__typename
... on MetafieldReferenceConnection {
nodes {
__typename
... on Metaobject {
id
__typename
fields {
key
type
value
reference {
__typename
... on Collection {
id
title
handle
}
... on MediaImage {
id
image {
id
width
height
url
}
}
}
}
}
}
}
}
}
}
}Sample Response:
{
"data": {
"about_us": {
"id": "gid://shopify/Metaobject/454282608945",
"type": "about_us",
"fields": [
{
"key": "section_1_banner_image",
"type": "metaobject_reference",
"value": "gid://shopify/Metaobject/473856344369",
"reference": {
"__typename": "Metaobject",
"id": "gid://shopify/Metaobject/473856344369",
"type": "hero_banner_schema",
"fields": [
{
"__typename": "MetaobjectField",
"key": "banner",
"type": "metaobject_reference",
"value": "gid://shopify/Metaobject/323991273777",
"reference": {
"__typename": "Metaobject",
"type": "input_asset_schema",
"fields": [
{
"__typename": "MetaobjectField",
"key": "desktop_image",
"type": "file_reference",
"value": "gid://shopify/MediaImage/46527922602289",
"reference": {
"__typename": "MediaImage",
"id": "gid://shopify/MediaImage/46527922602289",
"image": {
"id": "gid://shopify/ImageSource/46527922602289",
"width": 6204,
"height": 3489,
"url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/image_7.jpg?v=1771839865"
}
}
},
{
"__typename": "MetaobjectField",
"key": "mobile_image",
"type": "file_reference",
"value": "gid://shopify/MediaImage/46527922602289",
"reference": {
"__typename": "MediaImage",
"id": "gid://shopify/MediaImage/46527922602289",
"image": {
"id": "gid://shopify/ImageSource/46527922602289",
"width": 6204,
"height": 3489,
"url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/image_7.jpg?v=1771839865"
}
}
},
{
"__typename": "MetaobjectField",
"key": "title",
"type": "single_line_text_field",
"value": "Banner Home ",
"reference": null
}
]
}
},
{
"__typename": "MetaobjectField",
"key": "title",
"type": "single_line_text_field",
"value": "Leap Further",
"reference": null
}
]
},
"references": null
},
{
"key": "section_2_landscape_image",
"type": "file_reference",
"value": "gid://shopify/MediaImage/46545916821809",
"reference": {
"__typename": "MediaImage",
"id": "gid://shopify/MediaImage/46545916821809",
"image": {
"id": "gid://shopify/ImageSource/46545916821809",
"width": 1968,
"height": 1314,
"url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/BYN-19_1_2.jpg?v=1771927292"
}
},
"references": null
},
{
"key": "section_2_left_description",
"type": "multi_line_text_field",
"value": "Erspo was built on one belief: sportswear should perform and push progress. We combine function and identity to create apparel that fuels ambition from local fields to global arenas. For those who refuse to stand still. Every leap begins with a decision to go beyond what feels comfortable.",
"reference": null,
"references": null
},
{
"key": "section_3_portrait_image",
"type": "file_reference",
"value": "gid://shopify/MediaImage/46545908859185",
"reference": {
"__typename": "MediaImage",
"id": "gid://shopify/MediaImage/46545908859185",
"image": {
"id": "gid://shopify/ImageSource/46545908859185",
"width": 1296,
"height": 1644,
"url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/image_56_1_1.jpg?v=1771927250"
}
},
"references": null
},
{
"key": "section_4_content_list",
"type": "list.metaobject_reference",
"value": "[\"gid://shopify/Metaobject/469385314609\",\"gid://shopify/Metaobject/469385281841\"]",
"reference": null,
"references": {
"__typename": "MetafieldReferenceConnection",
"nodes": [
{
"__typename": "Metaobject",
"id": "gid://shopify/Metaobject/469385314609",
"fields": [
{
"key": "description",
"type": "multi_line_text_field",
"value": "We blend technical construction with bold, modern aesthetics. Because when you look ready, you feel ready.",
"reference": null
},
{
"key": "image",
"type": "file_reference",
"value": "gid://shopify/MediaImage/46545908826417",
"reference": {
"__typename": "MediaImage",
"id": "gid://shopify/MediaImage/46545908826417",
"image": {
"id": "gid://shopify/ImageSource/46545908826417",
"width": 1296,
"height": 1644,
"url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/image_55_1.jpg?v=1771927250"
}
}
},
{
"key": "title",
"type": "single_line_text_field",
"value": "DESIGNED WITH INTENTION",
"reference": null
}
]
},
{
"__typename": "Metaobject",
"id": "gid://shopify/Metaobject/469385281841",
"fields": [
{
"key": "description",
"type": "multi_line_text_field",
"value": "We blend technical construction with bold, modern aesthetics. Because when you look ready, you feel ready.",
"reference": null
},
{
"key": "image",
"type": "file_reference",
"value": "gid://shopify/MediaImage/46545908891953",
"reference": {
"__typename": "MediaImage",
"id": "gid://shopify/MediaImage/46545908891953",
"image": {
"id": "gid://shopify/ImageSource/46545908891953",
"width": 1296,
"height": 1644,
"url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/image_56_2.jpg?v=1771927250"
}
}
},
{
"key": "title",
"type": "single_line_text_field",
"value": "ENGINEERED FOR PROGRESS",
"reference": null
}
]
}
]
}
},
{
"key": "section_4_title",
"type": "single_line_text_field",
"value": "WHAT MAKES US DIFFERENT",
"reference": null,
"references": null
},
{
"key": "section_5_banner_image",
"type": "metaobject_reference",
"value": "gid://shopify/Metaobject/474228457777",
"reference": {
"__typename": "Metaobject",
"id": "gid://shopify/Metaobject/474228457777",
"type": "banner_title_desciprtion_schema",
"fields": [
{
"__typename": "MetaobjectField",
"key": "description",
"type": "multi_line_text_field",
"value": "Built for flexibility, endurance, and comfort under pressure. Precision cuts and refined details eliminate distractions. Every piece is made to move you forward.",
"reference": null
},
{
"__typename": "MetaobjectField",
"key": "image_desktop",
"type": "file_reference",
"value": "gid://shopify/MediaImage/46545916821809",
"reference": {
"__typename": "MediaImage",
"id": "gid://shopify/MediaImage/46545916821809",
"image": {
"id": "gid://shopify/ImageSource/46545916821809",
"width": 1968,
"height": 1314,
"url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/BYN-19_1_2.jpg?v=1771927292"
}
}
},
{
"__typename": "MetaobjectField",
"key": "image_mobile",
"type": "file_reference",
"value": "gid://shopify/MediaImage/46545908859185",
"reference": {
"__typename": "MediaImage",
"id": "gid://shopify/MediaImage/46545908859185",
"image": {
"id": "gid://shopify/ImageSource/46545908859185",
"width": 1296,
"height": 1644,
"url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/image_56_1_1.jpg?v=1771927250"
}
}
},
{
"__typename": "MetaobjectField",
"key": "title",
"type": "single_line_text_field",
"value": "PERFORMANCE IS NOT STATIC. NEITHER ARE WE.",
"reference": null
}
]
},
"references": null
},
{
"key": "section_6_banner_image",
"type": "metaobject_reference",
"value": "gid://shopify/Metaobject/323991273777",
"reference": {
"__typename": "Metaobject",
"id": "gid://shopify/Metaobject/323991273777",
"type": "input_asset_schema",
"fields": [
{
"__typename": "MetaobjectField",
"key": "desktop_image",
"type": "file_reference",
"value": "gid://shopify/MediaImage/46527922602289",
"reference": {
"__typename": "MediaImage",
"id": "gid://shopify/MediaImage/46527922602289",
"image": {
"id": "gid://shopify/ImageSource/46527922602289",
"width": 6204,
"height": 3489,
"url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/image_7.jpg?v=1771839865"
}
}
},
{
"__typename": "MetaobjectField",
"key": "mobile_image",
"type": "file_reference",
"value": "gid://shopify/MediaImage/46527922602289",
"reference": {
"__typename": "MediaImage",
"id": "gid://shopify/MediaImage/46527922602289",
"image": {
"id": "gid://shopify/ImageSource/46527922602289",
"width": 6204,
"height": 3489,
"url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/image_7.jpg?v=1771839865"
}
}
},
{
"__typename": "MetaobjectField",
"key": "title",
"type": "single_line_text_field",
"value": "Banner Home ",
"reference": null
}
]
},
"references": null
},
{
"key": "section_6_button_cta_collection",
"type": "collection_reference",
"value": "gid://shopify/Collection/527616901425",
"reference": {
"__typename": "Collection",
"id": "gid://shopify/Collection/527616901425",
"title": "Hoodies",
"handle": "hoodies"
},
"references": null
},
{
"key": "section_6_button_text",
"type": "single_line_text_field",
"value": "Shop",
"reference": null,
"references": null
},
{
"key": "section_6_small_title",
"type": "single_line_text_field",
"value": "Join the movement.",
"reference": null,
"references": null
},
{
"key": "title",
"type": "single_line_text_field",
"value": "About Us",
"reference": null,
"references": null
}
]
}
},
"extensions": {
"cost": {
"requestedQueryCost": 77
}
}
}5. Hallobar
Query:
query HALLOBAR {
hallobar: metaobject(handle: { type: "hallobar", handle: "main-hallobar" }) {
type
id
fields {
key
type
value
}
}
}Sample Response:
{
"data": {
"hallobar": {
"type": "hallobar",
"id": "gid://shopify/Metaobject/452075651377",
"fields": [
{
"key": "text_left",
"type": "rich_text_field",
"value": "{\"type\":\"root\",\"children\":[{\"type\":\"paragraph\",\"children\":[{\"type\":\"text\",\"value\":\"ERSPO X DARBOTZ is in your neighborhood! \"},{\"url\":\"https://www.google.com/\",\"title\":\"Shop Now\",\"type\":\"link\",\"children\":[{\"type\":\"text\",\"value\":\"Shop Now\"}]},{\"type\":\"text\",\"value\":\"\"}]}]}"
},
{
"key": "text_right",
"type": "rich_text_field",
"value": "{\"type\":\"root\",\"children\":[{\"type\":\"paragraph\",\"children\":[{\"type\":\"text\",\"value\":\"Free shipping with min. purchase of IDR 1.000.000\"}]}]}"
}
]
}
},
"extensions": {
"cost": {
"requestedQueryCost": 2
}
}
}6. Product Additional Content
Query:
query PRODUCT {
product(handle: "lifestyle-ls-black") {
# ... Other default query
# Size Guide
sizeGuide: metafield(namespace: "custom", key: "size_guide") {
id
type
__typename
namespace
key
reference {
__typename
... on Metaobject {
__typename
type
id
fields {
key
type
value
__typename
reference {
__typename
... on MediaImage {
id
image {
id
width
height
url
}
}
... on Metaobject {
id
type
__typename
}
}
references(first: 100) {
nodes {
__typename
... on Metaobject {
id
fields {
key
value
reference {
... on MediaImage {
id
image {
id
width
height
url
}
}
}
}
}
}
}
}
}
}
}
# Materials
materials: metafield(namespace: "custom", key: "materials") {
id
type
__typename
references(first: 100) {
nodes {
__typename
... on Metaobject {
id
fields {
key
type
value
reference {
... on MediaImage {
id
previewImage {
id
width
height
url
}
}
}
}
}
}
}
}
# Care Instructions
care_instructions: metafield(
namespace: "custom"
key: "care_instructions"
) {
id
type
__typename
references(first: 100) {
nodes {
__typename
... on Metaobject {
id
type
__typename
fields {
key
type
value
__typename
reference {
__typename
... on MediaImage {
id
image {
id
width
height
url
}
}
}
}
}
}
}
}
}
}Sample Response:
{
"data": {
"product": {
"sizeGuide": {
"id": "gid://shopify/Metafield/54953723003185",
"type": "metaobject_reference",
"__typename": "Metafield",
"namespace": "custom",
"key": "size_guide",
"reference": {
"__typename": "Metaobject",
"type": "size_guide_schema",
"id": "gid://shopify/Metaobject/345440715057",
"fields": [
{
"key": "cm_measurement",
"type": "file_reference",
"value": "gid://shopify/MediaImage/46544809165105",
"__typename": "MetaobjectField",
"reference": {
"__typename": "MediaImage",
"id": "gid://shopify/MediaImage/46544809165105",
"image": {
"id": "gid://shopify/ImageSource/46544809165105",
"width": 1308,
"height": 555,
"url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/image_105_2.jpg?v=1771920492"
}
},
"references": null
},
{
"key": "inch_measurement",
"type": "file_reference",
"value": "gid://shopify/MediaImage/46544809165105",
"__typename": "MetaobjectField",
"reference": {
"__typename": "MediaImage",
"id": "gid://shopify/MediaImage/46544809165105",
"image": {
"id": "gid://shopify/ImageSource/46544809165105",
"width": 1308,
"height": 555,
"url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/image_105_2.jpg?v=1771920492"
}
},
"references": null
},
{
"key": "measure_items",
"type": "list.metaobject_reference",
"value": "[\"gid://shopify/Metaobject/345440223537\",\"gid://shopify/Metaobject/345440026929\"]",
"__typename": "MetaobjectField",
"reference": null,
"references": {
"nodes": [
{
"__typename": "Metaobject",
"id": "gid://shopify/Metaobject/345440223537",
"fields": [
{
"key": "description",
"value": "Measure across the chest from one side of the item to the other, one inch below the armpit.",
"reference": null
},
{
"key": "image",
"value": "gid://shopify/MediaImage/46544720953649",
"reference": {
"id": "gid://shopify/MediaImage/46544720953649",
"image": {
"id": "gid://shopify/ImageSource/46544720953649",
"width": 540,
"height": 540,
"url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/Frame_395640828.jpg?v=1771919814"
}
}
},
{
"key": "title",
"value": "Chest Width",
"reference": null
}
]
},
{
"__typename": "Metaobject",
"id": "gid://shopify/Metaobject/345440026929",
"fields": [
{
"key": "description",
"value": "Measure from the top of one sleeve (at the shoulder) to the other.",
"reference": null
},
{
"key": "image",
"value": "gid://shopify/MediaImage/46544708108593",
"reference": {
"id": "gid://shopify/MediaImage/46544708108593",
"image": {
"id": "gid://shopify/ImageSource/46544708108593",
"width": 540,
"height": 540,
"url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/Frame_395640826.jpg?v=1771919751"
}
}
},
{
"key": "title",
"value": "Body Length from HPS",
"reference": null
}
]
}
]
}
},
{
"key": "title",
"type": "single_line_text_field",
"value": "T-Shirt",
"__typename": "MetaobjectField",
"reference": null,
"references": null
}
]
}
},
"materials": {
"id": "gid://shopify/Metafield/54953723035953",
"type": "list.metaobject_reference",
"__typename": "Metafield",
"references": {
"nodes": [
{
"__typename": "Metaobject",
"id": "gid://shopify/Metaobject/345439109425",
"fields": [
{
"key": "material_asset",
"type": "file_reference",
"value": "gid://shopify/MediaImage/46544470475057",
"reference": {
"id": "gid://shopify/MediaImage/46544470475057",
"previewImage": {
"id": "gid://shopify/ImageSource/46544470475057",
"width": 144,
"height": 144,
"url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/Frame_395640907.jpg?v=1771918280"
}
}
},
{
"key": "material_name",
"type": "single_line_text_field",
"value": "Cotton",
"reference": null
}
]
}
]
}
},
"care_instructions": {
"id": "gid://shopify/Metafield/54953443557681",
"type": "list.metaobject_reference",
"__typename": "Metafield",
"references": {
"nodes": [
{
"__typename": "Metaobject",
"id": "gid://shopify/Metaobject/345439502641",
"type": "care_item",
"fields": [
{
"key": "icon",
"type": "file_reference",
"value": "gid://shopify/MediaImage/46544510681393",
"__typename": "MetaobjectField",
"reference": {
"__typename": "MediaImage",
"id": "gid://shopify/MediaImage/46544510681393",
"image": {
"id": "gid://shopify/ImageSource/46544510681393",
"width": 48,
"height": 48,
"url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/Frame_395640909_3.svg?v=1771918532"
}
}
},
{
"key": "title",
"type": "single_line_text_field",
"value": "No dry cleaning",
"__typename": "MetaobjectField",
"reference": null
}
]
},
{
"__typename": "Metaobject",
"id": "gid://shopify/Metaobject/345439437105",
"type": "care_item",
"fields": [
{
"key": "icon",
"type": "file_reference",
"value": "gid://shopify/MediaImage/46544510714161",
"__typename": "MetaobjectField",
"reference": {
"__typename": "MediaImage",
"id": "gid://shopify/MediaImage/46544510714161",
"image": {
"id": "gid://shopify/ImageSource/46544510714161",
"width": 48,
"height": 48,
"url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/Frame_395640909_2.svg?v=1771918532"
}
}
},
{
"key": "title",
"type": "single_line_text_field",
"value": "Do not wring",
"__typename": "MetaobjectField",
"reference": null
}
]
},
{
"__typename": "Metaobject",
"id": "gid://shopify/Metaobject/345439404337",
"type": "care_item",
"fields": [
{
"key": "icon",
"type": "file_reference",
"value": "gid://shopify/MediaImage/46544510746929",
"__typename": "MetaobjectField",
"reference": {
"__typename": "MediaImage",
"id": "gid://shopify/MediaImage/46544510746929",
"image": {
"id": "gid://shopify/ImageSource/46544510746929",
"width": 48,
"height": 48,
"url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/Frame_395640909_1.svg?v=1771918532"
}
}
},
{
"key": "title",
"type": "single_line_text_field",
"value": "Gentle machine wash",
"__typename": "MetaobjectField",
"reference": null
}
]
},
{
"__typename": "Metaobject",
"id": "gid://shopify/Metaobject/345439306033",
"type": "care_item",
"fields": [
{
"key": "icon",
"type": "file_reference",
"value": "gid://shopify/MediaImage/46544502817073",
"__typename": "MetaobjectField",
"reference": {
"__typename": "MediaImage",
"id": "gid://shopify/MediaImage/46544502817073",
"image": {
"id": "gid://shopify/ImageSource/46544502817073",
"width": 48,
"height": 48,
"url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/Frame_395640909.svg?v=1771918465"
}
}
},
{
"key": "title",
"type": "single_line_text_field",
"value": "Do not bleach",
"__typename": "MetaobjectField",
"reference": null
}
]
}
]
}
}
}
},
"extensions": {
"cost": {
"requestedQueryCost": 170
}
}
}7. Blog / Article Detail
URL Pattern:
- Sample URL:
/our-story-behind/erspo-erspo-for-vr46 - Pola:
/our-story-behind/<blogHandle>-<articleHandle><blogHandle>:erspo<articleHandle>:erspo-for-vr46
Query:
query BLOG_DETAIL($blogHandle: String, $articleHandle: String!) {
blog(handle: $blogHandle) {
articleByHandle(handle: $articleHandle) {
id
explore_the_collection: metafield(
namespace: "custom"
key: "explore_the_collection"
) {
id
__typename
reference {
__typename
... on Collection {
id
title
products(first: 4) {
nodes {
# ADD FULL PRODUCT CARD QUERY
id
}
}
}
}
}
content: metafield(namespace: "custom", key: "main_content") {
id
__typename
reference {
__typename
... on Metaobject {
id
fields {
__typename
key
value
reference {
__typename
... on Collection {
id
title
handle
}
... on Metaobject {
id
fields {
__typename
key
value
reference {
__typename
... on MediaImage {
id
image {
id
url
width
height
}
}
}
references(first: 100) {
__typename
... on MetafieldReferenceConnection {
__typename
}
}
}
}
}
references(first: 100) {
__typename
... on MetafieldReferenceConnection {
nodes {
__typename
... on MediaImage {
id
image {
id
width
height
url
}
}
}
}
}
}
}
}
}
}
}
}Sample Response:
{
"data": {
"blog": {
"articleByHandle": {
"id": "gid://shopify/Article/613282382129",
"explore_the_collection": {
"id": "gid://shopify/Metafield/55033961513265",
"__typename": "Metafield",
"reference": {
"__typename": "Collection",
"id": "gid://shopify/Collection/527616770353",
"title": "Jersey",
"products": {
"nodes": [
{
"id": "gid://shopify/Product/10585943114033"
},
{
"id": "gid://shopify/Product/10584568070449"
}
]
}
}
},
"content": {
"id": "gid://shopify/Metafield/55033989988657",
"__typename": "Metafield",
"reference": {
"__typename": "Metaobject",
"id": "gid://shopify/Metaobject/349800694065",
"fields": [
{
"__typename": "MetaobjectField",
"key": "section_1_header_description",
"value": "A 360° combat sports movement featuring Indonesia’s young fighters and emerging athletes from the global stage.",
"reference": null,
"references": null
},
{
"__typename": "MetaobjectField",
"key": "section_1_header_show_now",
"value": "gid://shopify/Collection/527616770353",
"reference": {
"__typename": "Collection",
"id": "gid://shopify/Collection/527616770353",
"title": "Jersey",
"handle": "jersey"
},
"references": null
},
{
"__typename": "MetaobjectField",
"key": "section_1_header_title",
"value": "ERSPO x BYON",
"reference": null,
"references": null
},
{
"__typename": "MetaobjectField",
"key": "section_2_banner_description",
"value": "Erspo x Byon celebrates athletes, creatives, and culture makers who move with purpose and express themselves without limits. Rooted in the energy of modern sport and urban culture, this collaboration brings together performance-driven design and bold creative expression, reflecting the mindset of a new generation that refuses to be defined by a single lane.\n\nMore than just a collection, Erspo x Byon is a movement shaped by diversity, ambition, and the relentless spirit of grind. It draws inspiration from those who push boundaries every day — on the field, in the studio, and in the streets — blending functionality with style to support both peak performance and everyday life.",
"reference": null,
"references": null
},
{
"__typename": "MetaobjectField",
"key": "section_2_banner_image",
"value": "gid://shopify/Metaobject/323991273777",
"reference": {
"__typename": "Metaobject",
"id": "gid://shopify/Metaobject/323991273777",
"fields": [
{
"__typename": "MetaobjectField",
"key": "desktop_image",
"value": "gid://shopify/MediaImage/46527922602289",
"reference": {
"id": "gid://shopify/MediaImage/46527922602289",
"image": {
"id": "gid://shopify/ImageSource/46527922602289",
"url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/image_7.jpg?v=1771839865",
"width": 6204,
"height": 3489
}
},
"references": null
},
{
"__typename": "MetaobjectField",
"key": "mobile_image",
"value": "gid://shopify/MediaImage/46527922602289",
"reference": {
"id": "gid://shopify/MediaImage/46527922602289",
"image": {
"id": "gid://shopify/ImageSource/46527922602289",
"url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/image_7.jpg?v=1771839865",
"width": 6204,
"height": 3489
}
},
"references": null
},
{
"__typename": "MetaobjectField",
"key": "title",
"value": "Banner Home ",
"reference": null,
"references": null
}
]
},
"references": null
},
{
"__typename": "MetaobjectField",
"key": "section_3_image_description",
"value": "Erspo x Byon celebrates athletes, creatives, and culture makers who move with purpose and express themselves without limits. Rooted in the energy of modern sport and urban culture, this collaboration brings together performance-driven design and bold creative expression, reflecting the mindset of a new generation that refuses to be defined by a single lane.\n\nMore than just a collection, Erspo x Byon is a movement shaped by diversity, ambition, and the relentless spirit of grind. It draws inspiration from those who push boundaries every day — on the field, in the studio, and in the streets — blending functionality with style to support both peak performance and everyday life.",
"reference": null,
"references": null
},
{
"__typename": "MetaobjectField",
"key": "section_3_image_list",
"value": "[\"gid://shopify/MediaImage/46545916821809\",\"gid://shopify/MediaImage/46567732445489\"]",
"reference": null,
"references": {
"__typename": "MetafieldReferenceConnection",
"nodes": [
{
"__typename": "MediaImage",
"id": "gid://shopify/MediaImage/46545916821809",
"image": {
"id": "gid://shopify/ImageSource/46545916821809",
"width": 1968,
"height": 1314,
"url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/BYN-19_1_2.jpg?v=1771927292"
}
},
{
"__typename": "MediaImage",
"id": "gid://shopify/MediaImage/46567732445489",
"image": {
"id": "gid://shopify/ImageSource/46567732445489",
"width": 1968,
"height": 1314,
"url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/BYN-19_1_2_163f9c2c-fffc-408b-be77-c9e8ae85b697.jpg?v=1772047355"
}
}
]
}
},
{
"__typename": "MetaobjectField",
"key": "section_4_banner_image",
"value": "gid://shopify/Metaobject/323990782257",
"reference": {
"__typename": "Metaobject",
"id": "gid://shopify/Metaobject/323990782257",
"fields": [
{
"__typename": "MetaobjectField",
"key": "desktop_image",
"value": "gid://shopify/MediaImage/46527922569521",
"reference": {
"id": "gid://shopify/MediaImage/46527922569521",
"image": {
"id": "gid://shopify/ImageSource/46527922569521",
"url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/image_6.jpg?v=1771839865",
"width": 6204,
"height": 3489
}
},
"references": null
},
{
"__typename": "MetaobjectField",
"key": "mobile_image",
"value": "gid://shopify/MediaImage/46527922569521",
"reference": {
"id": "gid://shopify/MediaImage/46527922569521",
"image": {
"id": "gid://shopify/ImageSource/46527922569521",
"url": "https://cdn.shopify.com/s/files/1/0977/7440/3889/files/image_6.jpg?v=1771839865",
"width": 6204,
"height": 3489
}
},
"references": null
},
{
"__typename": "MetaobjectField",
"key": "title",
"value": "Erspo x VR46",
"reference": null,
"references": null
}
]
},
"references": null
}
]
}
}
}
}
},
"extensions": {
"cost": {
"requestedQueryCost": 68
}
}
}8. Our Story Behind Page (Blog Articles)
Query:
query BLOGS($first: Int, $last: Int, $after: String, $before: String) {
blog(handle: "erspo") {
id
handle
articles(first: $first, last: $last, after: $after, before: $before) {
pageInfo {
endCursor
startCursor
hasPreviousPage
}
nodes {
id
handle
image {
id
width
height
}
title
content
}
}
}
}Query Variables (Pagination):
| Parameter | Type | Required | Description |
| --------- | ------ | -------- | ----------------------------------------------- |
| first | number | Tidak | Jumlah artikel dari awal (forward pagination) |
| last | number | Tidak | Jumlah artikel dari akhir (backward pagination) |
| after | string | Tidak | Cursor untuk halaman berikutnya |
| before | string | Tidak | Cursor untuk halaman sebelumnya |
Rules Pagination:
- Next (halaman berikut): gunakan
firstdanafter. Nilaiafterdiambil daripageInfo.startCursorpada response sebelumnya. - Prev (halaman sebelumnya): gunakan
lastdanbefore. Nilaibeforediambil daripageInfo.endCursorpada response sebelumnya. firstdanlastadalah jumlah artikel yang ingin ditampilkan per halaman.- Contoh:
- Default / halaman pertama:
first: 12 - Next:
first: 12,after: "<value dari pageInfo.startCursor>" - Prev:
last: 12,before: "<value dari pageInfo.endCursor>"
- Default / halaman pertama:
Sample Response:
{
"data": {
"blog": {
"id": "gid://shopify/Blog/120706498865",
"handle": "erspo",
"articles": {
"pageInfo": {
"endCursor": "eyJsYXN0X2lkIjo2MTMyODIzODIxMjksImxhc3RfdmFsdWUiOjYxMzI4MjM4MjEyOSwib2Zmc2V0IjowfQ==",
"startCursor": "eyJsYXN0X2lkIjo2MTMyODIzODIxMjksImxhc3RfdmFsdWUiOjYxMzI4MjM4MjEyOSwib2Zmc2V0IjowfQ==",
"hasPreviousPage": false
},
"nodes": [
{
"id": "gid://shopify/Article/613282382129",
"handle": "erspo-for-vr46",
"image": {
"id": "gid://shopify/ArticleImage/246236447025",
"width": 1296,
"height": 1644
},
"title": "Erspo for VR46",
"content": "Erspo x VR46 reimagines performance wear with a fashion-forward edge. Built using premium materials and thoughtful design, every piece supports comfort, mobility, and durability — without sacrificing the bold style VR46 is known for."
}
]
}
}
},
"extensions": {
"cost": {
"requestedQueryCost": 14
}
}
}9. Our Store Page
Query:
query OUR_STORE_PAGE {
our_store: metaobject(
handle: { type: "our_store_page", handle: "our-store" }
) {
id
fields {
__typename
type
key
value
reference {
__typename
... on Metaobject {
fields {
type
key
value
reference {
... on MediaImage {
id
image {
id
width
height
url
}
}
}
}
}
}
references(first: 100) {
__typename
... on MetafieldReferenceConnection {
__typename
nodes {
__typename
... on Metaobject {
id
fields {
__typename
key
type
value
reference {
__typename
... on MediaImage {
id
image {
id
width
height
url
}
}
}
}
}
}
}
}
}
}
}Response:
{
"data": {
"our_store": {
"id": "gid://shopify/Metaobject/349796172081",
"fields": [
{
"__typename": "MetaobjectField",
"type": "metaobject_reference",
"key": "seo",
"value": "gid://shopify/Metaobject/349794074929",
"reference": {
"__typename": "Metaobject",
"fields": [
{
"type": "multi_line_text_field",
"key": "metadesc