iStores AI Storefront Designer
Use this MCP server when you want an AI assistant to redesign an iStores storefront safely.
The AI can read the current store CSS/JS, create a rollback snapshot, publish new CSS/JS, upload media, update products, and roll back if something goes wrong.
The MCP server is hosted by iStores. You do not need to install or host a server.
Never paste your API token into a public chat, GitHub issue, screenshot, or documentation page.
Start Here
You need three things:
| Item | What it is |
|---|---|
| MCP URL | https://api.istores.co.il/mcp |
| API token header | Authorization: Bearer YOUR_ISTORES_API_TOKEN |
| Company ID | Your iStores companyId, for example 9906 |
The API token is used in the MCP connection settings.
The companyId is given to the AI in the chat.
Step 1: Connect the MCP Server
Choose your AI tool and follow the matching setup.
Use these same values everywhere:
| Field | Value |
|---|---|
| Server name | iStores Design Ops |
| MCP URL | https://api.istores.co.il/mcp |
| Header name | Authorization |
| Header value | Bearer YOUR_ISTORES_API_TOKEN |
Use the Authorization header with the Bearer scheme.
Codex
Use this for Codex CLI/Desktop when you can edit the Codex config.
Open:
Code(text)
Add:
Code
Restart Codex, then check MCP servers:
Code(bash)
If Codex has a UI for MCP servers, add the same URL and header there instead.
Claude Code
Run this in your terminal:
Code(bash)
Verify:
Code(bash)
Inside Claude Code, run:
Code(text)
Claude / Claude Desktop
Claude supports remote MCP through Custom Connectors, but the exact authentication options depend on your plan and current Claude UI.
Try this first:
- Open Claude settings.
- Go to Connectors or Integrations.
- Add a custom connector.
- Use URL:
Code(text)
- If Claude lets you add a custom API key/header, use:
Code(text)
If Claude does not let you add an Authorization header, this direct setup will not work yet. Use Claude Code, Codex, Cursor, VS Code, Windsurf, Antigravity, Manus, or ask iStores support for an OAuth/bridge setup.
Manus
Use this for Manus Custom MCP Servers.
- Open Manus.
- Go to Settings.
- Open Integrations or Connectors.
- Open Custom MCP Servers.
- Click Add Server.
- Choose direct/custom configuration.
- Fill in:
| Field | Value |
|---|---|
| Server name | iStores Design Ops |
| Transport | HTTP |
| Server URL | https://api.istores.co.il/mcp |
| Authentication | API key or custom header |
| Header name | Authorization |
| Header value | Bearer YOUR_ISTORES_API_TOKEN |
Then test the connection. Manus should show the iStores tools.
Google Antigravity
Use this for Antigravity desktop or Antigravity CLI.
Open the MCP raw config from the UI:
Code(text)
Common config paths:
| App | Config path |
|---|---|
| Antigravity Desktop | ~/.gemini/antigravity/mcp_config.json |
| Antigravity CLI | ~/.gemini/antigravity-cli/mcp_config.json |
| Workspace config | .agents/mcp_config.json |
Add:
Code(json)
If your Antigravity version expects httpUrl instead of url, use this shape:
Code(json)
Restart Antigravity or reload MCP servers after saving.
Gemini CLI
Run:
Code(bash)
Verify:
Code(bash)
You can also edit ~/.gemini/settings.json manually if needed.
Cursor
Open or create:
Code(text)
For project-only setup, use:
Code(text)
Add:
Code(json)
Restart Cursor. In Agent mode, make sure MCP tools are enabled.
VS Code / GitHub Copilot Agent Mode
Open the Command Palette and run:
Code(text)
Or create a workspace file:
Code(text)
Add:
Code(json)
Use Copilot Chat in Agent mode and enable the MCP server in the tools picker.
Windsurf / Cascade
Open Windsurf settings:
Code(text)
This usually opens:
Code(text)
Add:
Code(json)
Save, reload Windsurf, open Cascade, and check the MCP/tools icon.
Other AI Tools
If your AI tool supports remote HTTP MCP servers with custom headers, use:
Code(json)
If the tool does not support custom headers, direct connection will not work. Use another MCP client or ask iStores support for an OAuth/bridge setup.
Step 2: Start the AI Chat
After the MCP server is connected, paste this into your AI chat:
Code(text)
Replace:
YOUR_COMPANY_IDwith your iStores company id.YOUR_STORE_URLwith your storefront URL.
Example:
Code(text)
Step 3: What the AI Should Do
The AI should work in this order:
- Ask for the store style and design details.
- Read the current CSS/JS with MCP tools.
- Create a rollback snapshot.
- Inspect the live storefront if possible.
- Draft the CSS/JS changes.
- Explain what will change.
- Ask for approval before publishing.
- Publish the change only after approval.
- Verify the live storefront.
- Give you the
snapshotIdfor rollback.
If the AI tries to publish before creating a snapshot, stop it.
What to Give the AI
Prepare this information:
| Question | Example answer |
|---|---|
| Company ID | 9906 |
| Store URL | https://example-store.co.il/ |
| Business type | Fashion, supplements, cosmetics, food, electronics |
| Target audience | Young parents in Israel, Hebrew speakers |
| Style | Premium, clean, playful, luxury, calm, clinical |
| Colors | Black and gold, pink and white, green and cream |
| Logo/images | Upload files or provide URLs |
| Pages to change | Homepage, product page, category page |
| Products to update | Product ids or product URLs |
| Publish approval owner | The person who must approve live changes |
What Success Looks Like
A good AI result should include:
- What changed.
- What was checked.
- Whether desktop and mobile were checked.
- The
snapshotId. - How to roll back.
Example final AI message:
Code(text)
For AI Agents: Follow This Exactly
If you are an AI agent reading this documentation, follow this protocol.
- Confirm that the iStores MCP server is connected.
- Ask the user for
companyIdbefore calling any tool. - Ask for the store URL and design brief.
- Use MCP tools, not raw API calls.
- Include
companyIdin every tool call. - Never print or store the Bearer token.
- Before live changes, call
create_snapshot. - Do not call
update_theme,rollback_snapshot, orupdate_productwithout explicit user approval. - Keep CSS scoped to real storefront selectors.
- Verify the storefront after publishing when possible.
- Return the
snapshotIdand rollback instructions.
The companyId must match the company authenticated by the MCP Bearer token. If it does not match, the server will reject the tool call.
AI Agent Prompt
Use this prompt when your AI tool does not automatically understand the workflow:
Code(text)
Available MCP Tools
| Tool | Use it for |
|---|---|
read_theme | Read current custom CSS or JS |
create_snapshot | Create a rollback snapshot before changes |
update_theme | Publish replacement CSS or JS |
list_snapshots | Find rollback snapshots |
rollback_snapshot | Restore CSS and JS from a snapshot |
upload_media | Upload storefront images/assets |
get_product | Read a product by product id |
update_product | Update product content |
All tool calls require companyId.
Example Tool Calls
Read current CSS:
Code(json)
Create a snapshot:
Code(json)
Publish CSS:
Code(json)
Rollback:
Code(json)
Rollback
If a published change looks wrong, tell the AI:
Code(text)
The AI should:
- Call
list_snapshots. - Show the available snapshots.
- Ask which one to restore.
- Ask for final confirmation.
- Call
rollback_snapshot. - Verify the storefront.
Common Problems
| Problem | What it means |
|---|---|
401 Unauthorized | The Bearer token is missing, invalid, or configured in the wrong place |
companyId does not match... | The company id in chat does not belong to the configured token |
429 Too Many Requests | Too many MCP/API calls were made too quickly; wait and retry |
| AI asks for a token | Configure it as Authorization: Bearer YOUR_ISTORES_API_TOKEN |
| AI wants to publish without snapshot | Stop and tell it to create a snapshot first |
Security Rules
- Keep the API token private.
- Put the API token only in the private MCP connection header.
- Do not paste the API token into prompts unless your support team explicitly tells you to.
- Do not publish without a snapshot.
- Do not roll back without confirmation.
- Keep the
snapshotIdafter every publish.
Tested Behavior
The hosted MCP server was verified with the Gateway Bearer-token flow:
| Check | Result |
|---|---|
initialize with a Bearer token | Works |
tools/list with a Bearer token | Works |
| request without a Bearer token | Returns 401 Unauthorized |
read_theme with matching companyId | Works |
create_snapshot | Creates a server-side rollback point |
update_theme | Publishes CSS |
| live storefront check | CSS appears in the live HTML |