Coffee Company MCP Server

Coffee Company MCP Server

An MCP adapter that maps Coffee Company B2B HTTP APIs to MCP tools, allowing AI agents to query member information, benefits, coupons, and payment statuses. It enables seamless integration for AI assistants to manage coffee-related customer assets and loyalty details through natural language.

Category
Visit Server

README

Coffee MCP

The MCP platform that connects beverage brands to every AI assistant.

When a customer says "help me order a latte" to ChatGPT, Claude, Doubao, or any AI assistant — only brands connected via MCP get discovered. This platform is how you get connected.

Tests Python License

The Problem

AI assistants are becoming the new storefront. Hundreds of millions of users already ask AI to help them shop, order food, and make decisions. But most brands have zero presence in this channel — no way to be discovered, recommended, or ordered from.

Traditional APIs don't solve this. AI assistants speak MCP (Model Context Protocol) — the open standard for connecting AI to external tools and data.

The Solution

Coffee MCP is an open-source, multi-brand MCP platform that lets any coffee, tea, juice, or bakery brand plug into the AI ecosystem — with a YAML config and a brand adapter.

Customer → AI Assistant → MCP Protocol → Coffee MCP → Your Brand's Backend API

What you get:

  • 21 consumer-facing tools (browse menu, find stores, order, pay, track)
  • 10 B2B enterprise tools (member query, coupons, loyalty, payments)
  • 4-tier security model (L0-L3) with rate limiting and transaction safety
  • Multi-brand support — one platform, unlimited brands
  • Category presets for coffee, tea, juice, and bakery
  • Brand onboarding in as little as 5 minutes (CLI) or 30 minutes (AI-assisted)

What it costs: Nothing. MIT licensed. Self-host or extend as you wish.

Who Is This For?

Audience Value
Brand CTOs / Digital Leaders Ship AI ordering for your brand in 2-3 weeks, not 6 months
AI/MCP Developers Production-grade reference for multi-tenant MCP server design
Retail Tech Teams Battle-tested security model (L0-L3) for AI-to-commerce flows
Founders Fork this to build your own vertical MCP platform

Quick Start

# Install (requires uv + Python 3.13)
uv sync

# Run consumer ordering server (default brand)
uv run coffee-company-toc

# Run with a different brand
BRAND=tea_house uv run coffee-company-toc

# Run B2B enterprise server
uv run coffee-company-mcp

# Run all tests (122 passing)
uv run python tests/test_toc_mcp.py     # 89 ToC tests
uv run python tests/test_mcp_real.py     # 33 B2B tests

# Initialize a new brand (interactive)
uv run brand-init

Architecture

                    ┌──────────────────────────────┐
                    │   AI Assistants (MCP Clients) │
                    │   ChatGPT / Claude / Doubao   │
                    │   OpenClaw / Cursor / Custom   │
                    └──────────────┬───────────────┘
                                   │ MCP Protocol
                    ┌──────────────▼───────────────┐
                    │     Gateway (Kong/CloudFlare)  │
                    │   OAuth · Rate Limit · WAF     │
                    └──────────────┬───────────────┘
                                   │
              ┌────────────────────┼────────────────────┐
              │                                         │
     ┌────────▼─────────┐                  ┌────────────▼───────────┐
     │   B2B Server      │                  │    ToC Server (factory) │
     │   10 read tools   │                  │    21 tools · L0-L3    │
     │   Kong HMAC auth  │                  │    Multi-brand YAML    │
     └──────────────────┘                  └────────────┬───────────┘
                                                        │
                                           ┌────────────▼───────────┐
                                           │    BrandAdapter (ABC)   │
                                           │    21 abstract methods  │
                                           ├────────────────────────┤
                                           │  DemoAdapter (mock)     │
                                           │  YourBrandAdapter (HTTP)│
                                           └────────────────────────┘

Brand Onboarding

Three paths, pick what fits your team:

1. CLI Init (5 min) — Zero-code, YAML-driven:

uv run brand-init
# → Select: coffee / tea / juice / bakery
# → Generates brands/<your_brand>/brand.yaml
# → Done. Run the server.

2. AI-Assisted (30 min) — Give your API docs to Claude:

/brand-onboard https://api.yourbrand.com/docs
# → Generates adapter.py + brand.yaml + integration tests

3. Full Custom (1-2 weeks) — Implement BrandAdapter with 21 methods:

class MyBrandAdapter(BrandAdapter):
    def nearby_stores(self, city=None, keyword=None):
        resp = httpx.get(f"{self.api}/stores", params={"city": city})
        return resp.json()["stores"]
    # ... 20 more methods

See Brand Integration Guide for the complete walkthrough.

Category Presets

Preset Sizes Extras Sweetness
Coffee tall / grande / venti espresso shots, syrups 4 levels
Tea regular / large boba, pudding, taro 5 levels
Juice regular / large chia seeds, nata 3 levels
Bakery single / combo gift box

Consumer Tools (ToC Server — 21 Tools)

The full ordering journey, from discovery to delivery:

Group Tools Security
Utility now_time_info L0
Discovery campaign_calendar · available_coupons · claim_all_coupons L1-L2
Account my_account · my_coupons · my_orders L1
Menu nearby_stores · store_detail · browse_menu · drink_detail · nutrition_info L0
Points stars_mall_products · stars_product_detail · stars_redeem L1-L3
Order delivery_addresses · create_address · store_coupons · calculate_price · create_order · order_status L1-L3

Security Model

Four tiers designed for AI-to-commerce, where the AI acts on behalf of the user:

  • L0 (60/min) — Public data: menus, stores, nutrition
  • L1 (30/min) — User data: account, coupons, orders
  • L2 (5/hour) — Write ops: claim coupons, add address
  • L3 (10/day) — Transactions: create order, redeem points
    • Requires confirmation_token from calculate_price
    • Requires idempotency_key to prevent duplicate operations

Enterprise Tools (B2B Server — 10 Tools)

For partner integrations (delivery platforms, loyalty aggregators, payment providers):

Tool HTTP API Description
member_query POST /crmadapter/account/query Query member by mobile/openId/memberId
member_tier POST /crmadapter/account/memberTier Tier details + stars balance
member_benefits POST /crmadapter/customers/getBenefits 8 benefit statuses
member_benefit_list POST /crmadapter/asset/coupon/getBenefitList Coupon list
coupon_query POST /coupon/query Order coupon status
coupon_detail POST /coupon/detail Coupon details
equity_query POST /equity/query Equity distribution status
equity_detail POST /equity/detail Equity details
assets_list POST /assets/list All customer assets
cashier_pay_query POST /cashier/payQuery Payment status

Connect to AI Assistants

Claude Desktop / Cursor (stdio):

{
  "mcpServers": {
    "coffee-toc": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/coffee-mcp", "coffee-company-toc"],
      "env": { "BRAND": "coffee_company" }
    }
  }
}

OpenClaw / Agent SDK (Streamable HTTP):

coffee = McpServer.http(
    url="https://mcp.yourbrand.com/mcp",
    headers={"Authorization": f"Bearer {token}"}
)
agent.add_mcp_server(coffee)

Project Structure

brands/                          # Brand configs (zero-code onboarding)
├── coffee_company/brand.yaml    #   Default demo brand
└── tea_house/brand.yaml         #   Example: tea chain

src/coffee_mcp/
├── toc_server.py                # ToC server factory (21 tools)
├── brand_config.py              # YAML config loader
├── brand_adapter.py             # BrandAdapter ABC (21 methods)
├── demo_adapter.py              # Mock data adapter
├── brand_init.py                # CLI brand initializer
├── presets/catalog.py           # Category presets
├── server.py                    # B2B server (10 tools)
└── cli.py                       # CLI + REPL

docs/
├── BRAND_INTEGRATION_GUIDE.md   # Step-by-step brand onboarding
├── TOC_MCP_PLATFORM_DESIGN.md   # Platform design & competitive analysis
├── TOC_SECURITY.md              # Security architecture (L0-L3)
└── MCP_API_DESIGN_GUIDE.md      # MCP tool design principles

Docs

Roadmap

  • [ ] Hosted multi-tenant mode (brands self-register, zero-deploy)
  • [ ] Payment provider integrations (Alipay, WeChat Pay, Stripe)
  • [ ] Analytics dashboard (AI ordering funnel, conversion tracking)
  • [ ] More verticals beyond beverage (fast food, convenience stores)

Contributing

PRs welcome. See the Brand Integration Guide if you want to add support for a new brand or category.

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured