Decentralized marketplace powered by open source commerce
28
stars
36
commits
TypeScript
primary language
Sep 1, 2026
updated
A conversational commerce marketplace where shopping happens entirely in AI chat. Products, cart, checkout, and payment, all rendered in the conversation via MCP UI. Zero transaction fees, zero data collection, complete store independence.
https://github.com/user-attachments/assets/7ecf5787-3681-4ad7-a223-302d5439d0c1
This marketplace doesn't store products, inventory, or customer data. Instead, it queries independent Openfront stores in real-time using AI to understand catalogs and match customer requests.
Chat threads are browser-local. The active thread and sanitized UI messages are stored in localStorage under openfront_marketplace_chat_threads; cart identities and merchant sessions remain in their separate source-scoped stores. Creating or closing a chat never clears a cart, and no thread-history API or marketplace conversation database is required.
The entire shopping experience happens in the AI chat. Interactive product cards, shopping cart, checkout form, and payment interface—all rendered in the conversation via MCP UI. No page redirects. No separate checkout flow. Payment goes directly to each store's Stripe or PayPal account with zero marketplace fees.
Configure your own curated stores directly in the UI. Add stores through the marketplace config editor. No permission required. No platform fees.
Uses Model Context Protocol (MCP) to enable any AI (Claude, ChatGPT, local models) to query stores, understand product catalogs, and provide intelligent product recommendations based on merit, not paid placement.
# Clone the repository
git clone https://github.com/openship-org/openfront-marketplace.git
cd openfront-marketplace
# Install dependencies
npm install
# Start development server
npm run dev
Visit http://localhost:3000 to see the marketplace.
Stores can be configured through the marketplace UI or by editing marketplace.config.json. Currently supports OpenFront stores, with abstraction in place to support other e-commerce platforms (Shopify, WooCommerce, BigCommerce) in the future:
[
{
"baseUrl": "https://store.example.com",
"platform": "openfront"
},
{
"baseUrl": "https://another-store.example.com",
"platform": "openfront"
}
]
The platform adapter system (see app/api/mcp-transport/adapters/) handles platform-specific API calls. For now, we have the Openfront adapter implemented. Adding support for other platforms involves creating a new adapter file in app/api/mcp-transport/adapters/ that implements the PlatformAdapter interface.
The marketplace supports three flexible AI configuration modes to suit different deployment scenarios. All modes use OpenRouter for AI access, which provides unified access to multiple AI models (Claude, GPT-4, Llama, etc.).
The marketplace operator sets an OpenRouter API key in the environment variables (see .env.example), and all users share this key for AI interactions. This is the simplest setup for public marketplaces.
Configuration:
# Set these in your deployment environment
OPENROUTER_API_KEY=your_openrouter_api_key_here
OPENROUTER_MODEL=openai/gpt-4o-mini
OPENROUTER_MAX_TOKENS=4000
Get your OpenRouter API key at openrouter.ai/keys.
Users can start chatting immediately without any setup. The server-side implementation reads these environment variables (features/marketplace/actions/ai-chat.ts) and provides them to the AI completion endpoint (app/api/completion/route.ts).
Users can bring their own OpenRouter API key, which is stored locally in their browser. This gives users full control over their AI costs and usage, with no shared limits.
How it works:
features/marketplace/hooks/use-ai-config.tsx)This mode is ideal for power users or when you want users to manage their own AI costs. If Global Mode environment variables are not set, the marketplace defaults to Local Mode and prompts users to configure their own keys.
Since the marketplace is built entirely with Model Context Protocol (MCP), users can connect their own MCP-compatible AI clients (like Claude Desktop) directly to the marketplace's MCP endpoint.
Setup:
// In your MCP client configuration
{
"mcpServers": {
"openfront-marketplace": {
"url": "https://your-marketplace.com/api/mcp-transport/http"
}
}
}
Important: This mode requires an MCP client that supports MCP UI for rendering interactive product cards, shopping cart, and checkout interfaces. The marketplace uses MCP UI extensively for the conversational commerce experience (see app/api/mcp-transport/tools/).
All marketplace operations—product search, cart management, checkout, payment—are implemented as MCP tools (see app/api/mcp-transport/tools/), making them accessible to any compatible AI client. This mode bypasses the built-in chat interface entirely and works directly with external AI clients.
openfront-marketplace/
├── app/
│ ├── page.tsx # Main marketplace chat interface
│ ├── ethos/ # About and ethos pages
│ └── api/
│ ├── completion/ # AI chat completion endpoint
│ └── mcp-transport/ # MCP server implementation
│ ├── [transport]/ # HTTP/SSE transport handlers
│ ├── adapters/ # Platform adapters (OpenFront, etc.)
│ ├── tools/ # MCP tools (products, cart, checkout)
│ └── types/ # Store config types
├── features/
│ └── marketplace/
│ ├── components/ # Chat UI, cart dropdown, etc.
│ ├── actions/ # Server actions for AI config
│ ├── hooks/ # React hooks for AI state
│ └── lib/ # Cart & session storage utilities
├── components/ # Shared UI components (shadcn/ui)
├── lib/ # Utilities (cart-storage, session-storage)
└── marketplace.config.json # Store configuration
See .env.example for a complete list of configuration options. Key variables:
# OpenRouter Configuration (for Global Mode)
OPENROUTER_API_KEY=your_openrouter_api_key_here
OPENROUTER_MODEL=openai/gpt-4o-mini
OPENROUTER_MAX_TOKENS=4000
For Local Mode (user's own key) or MCP Client Mode, no environment variables are required.
Deploy this marketplace to create specialized discovery platforms:
Connect multiple Openfront stores you operate:
Build discovery platforms for communities:
This marketplace is part of the broader Openship initiative:
Together, these platforms enable fully decentralized commerce where businesses own their infrastructure and marketplaces exist purely for discovery.
We welcome contributions! Whether you're:
Please see our contributing guidelines for details.
MIT License - see LICENSE for details.
36 commits
TypeScript
98.2%
CSS
1.7%
Decentralized marketplace powered by open source commerce
28
stars
36
commits
TypeScript
primary language
Sep 1, 2026
updated
A conversational commerce marketplace where shopping happens entirely in AI chat. Products, cart, checkout, and payment, all rendered in the conversation via MCP UI. Zero transaction fees, zero data collection, complete store independence.
https://github.com/user-attachments/assets/7ecf5787-3681-4ad7-a223-302d5439d0c1
This marketplace doesn't store products, inventory, or customer data. Instead, it queries independent Openfront stores in real-time using AI to understand catalogs and match customer requests.
Chat threads are browser-local. The active thread and sanitized UI messages are stored in localStorage under openfront_marketplace_chat_threads; cart identities and merchant sessions remain in their separate source-scoped stores. Creating or closing a chat never clears a cart, and no thread-history API or marketplace conversation database is required.
The entire shopping experience happens in the AI chat. Interactive product cards, shopping cart, checkout form, and payment interface—all rendered in the conversation via MCP UI. No page redirects. No separate checkout flow. Payment goes directly to each store's Stripe or PayPal account with zero marketplace fees.
Configure your own curated stores directly in the UI. Add stores through the marketplace config editor. No permission required. No platform fees.
Uses Model Context Protocol (MCP) to enable any AI (Claude, ChatGPT, local models) to query stores, understand product catalogs, and provide intelligent product recommendations based on merit, not paid placement.
# Clone the repository
git clone https://github.com/openship-org/openfront-marketplace.git
cd openfront-marketplace
# Install dependencies
npm install
# Start development server
npm run dev
Visit http://localhost:3000 to see the marketplace.
Stores can be configured through the marketplace UI or by editing marketplace.config.json. Currently supports OpenFront stores, with abstraction in place to support other e-commerce platforms (Shopify, WooCommerce, BigCommerce) in the future:
[
{
"baseUrl": "https://store.example.com",
"platform": "openfront"
},
{
"baseUrl": "https://another-store.example.com",
"platform": "openfront"
}
]
The platform adapter system (see app/api/mcp-transport/adapters/) handles platform-specific API calls. For now, we have the Openfront adapter implemented. Adding support for other platforms involves creating a new adapter file in app/api/mcp-transport/adapters/ that implements the PlatformAdapter interface.
The marketplace supports three flexible AI configuration modes to suit different deployment scenarios. All modes use OpenRouter for AI access, which provides unified access to multiple AI models (Claude, GPT-4, Llama, etc.).
The marketplace operator sets an OpenRouter API key in the environment variables (see .env.example), and all users share this key for AI interactions. This is the simplest setup for public marketplaces.
Configuration:
# Set these in your deployment environment
OPENROUTER_API_KEY=your_openrouter_api_key_here
OPENROUTER_MODEL=openai/gpt-4o-mini
OPENROUTER_MAX_TOKENS=4000
Get your OpenRouter API key at openrouter.ai/keys.
Users can start chatting immediately without any setup. The server-side implementation reads these environment variables (features/marketplace/actions/ai-chat.ts) and provides them to the AI completion endpoint (app/api/completion/route.ts).
Users can bring their own OpenRouter API key, which is stored locally in their browser. This gives users full control over their AI costs and usage, with no shared limits.
How it works:
features/marketplace/hooks/use-ai-config.tsx)This mode is ideal for power users or when you want users to manage their own AI costs. If Global Mode environment variables are not set, the marketplace defaults to Local Mode and prompts users to configure their own keys.
Since the marketplace is built entirely with Model Context Protocol (MCP), users can connect their own MCP-compatible AI clients (like Claude Desktop) directly to the marketplace's MCP endpoint.
Setup:
// In your MCP client configuration
{
"mcpServers": {
"openfront-marketplace": {
"url": "https://your-marketplace.com/api/mcp-transport/http"
}
}
}
Important: This mode requires an MCP client that supports MCP UI for rendering interactive product cards, shopping cart, and checkout interfaces. The marketplace uses MCP UI extensively for the conversational commerce experience (see app/api/mcp-transport/tools/).
All marketplace operations—product search, cart management, checkout, payment—are implemented as MCP tools (see app/api/mcp-transport/tools/), making them accessible to any compatible AI client. This mode bypasses the built-in chat interface entirely and works directly with external AI clients.
openfront-marketplace/
├── app/
│ ├── page.tsx # Main marketplace chat interface
│ ├── ethos/ # About and ethos pages
│ └── api/
│ ├── completion/ # AI chat completion endpoint
│ └── mcp-transport/ # MCP server implementation
│ ├── [transport]/ # HTTP/SSE transport handlers
│ ├── adapters/ # Platform adapters (OpenFront, etc.)
│ ├── tools/ # MCP tools (products, cart, checkout)
│ └── types/ # Store config types
├── features/
│ └── marketplace/
│ ├── components/ # Chat UI, cart dropdown, etc.
│ ├── actions/ # Server actions for AI config
│ ├── hooks/ # React hooks for AI state
│ └── lib/ # Cart & session storage utilities
├── components/ # Shared UI components (shadcn/ui)
├── lib/ # Utilities (cart-storage, session-storage)
└── marketplace.config.json # Store configuration
See .env.example for a complete list of configuration options. Key variables:
# OpenRouter Configuration (for Global Mode)
OPENROUTER_API_KEY=your_openrouter_api_key_here
OPENROUTER_MODEL=openai/gpt-4o-mini
OPENROUTER_MAX_TOKENS=4000
For Local Mode (user's own key) or MCP Client Mode, no environment variables are required.
Deploy this marketplace to create specialized discovery platforms:
Connect multiple Openfront stores you operate:
Build discovery platforms for communities:
This marketplace is part of the broader Openship initiative:
Together, these platforms enable fully decentralized commerce where businesses own their infrastructure and marketplaces exist purely for discovery.
We welcome contributions! Whether you're:
Please see our contributing guidelines for details.
MIT License - see LICENSE for details.
36 commits
TypeScript
98.2%
CSS
1.7%