MCP Server Setup
Connect cannabis market data directly to AI assistants using the CannMenus MCP server.
MCP tools make API calls on your behalf, and each tool call counts toward your API usage and billing. Monitor your usage on the API Dashboard.
What is MCP?
The Model Context Protocol (MCP) is an open standard that lets AI assistants access external data sources and tools. The CannMenus MCP server gives AI tools direct access to cannabis product data, brand analytics, pricing, stock status, and more — without writing any code.
Prerequisites
- A CannMenus Pro or API subscription
- An active API token (generate one from your API Dashboard)
- An MCP-compatible AI client (Claude, Cursor, Windsurf, etc.)
Setup
Claude Desktop
Add the following to your Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"cannmenus": {
"type": "url",
"url": "https://api.cannmenus.com/mcp/",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}
Restart Claude Desktop after saving.
Claude Code (CLI)
Add to your project or global settings at .claude/settings.json:
{
"mcpServers": {
"cannmenus": {
"type": "url",
"url": "https://api.cannmenus.com/mcp/",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}
Claude.ai (Web)
Claude.ai supports OAuth authentication. Simply add https://api.cannmenus.com/mcp/ as the URL — no token needed. You'll be redirected to log in and authorize access.
Step 1. Click your profile icon in the bottom-left corner, then click Settings.

Step 2. In the Settings sidebar, click Connectors.

Step 3. Click the + button and select Add custom connector.

Step 4. In the dialog, enter CannMenus as the name and paste the MCP server URL:
https://api.cannmenus.com/mcp/
Click Add. You'll be redirected to CannMenus to log in and authorize access.

Step 5. Once connected, CannMenus will appear in your connectors list and all tools will be available to Claude.

You can manage tool permissions from the Customize > Connectors page:

Cursor
Open Settings > MCP Servers and add a new server:
{
"name": "cannmenus",
"type": "url",
"url": "https://api.cannmenus.com/mcp/",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
Windsurf
Add to your Windsurf MCP configuration:
{
"mcpServers": {
"cannmenus": {
"serverUrl": "https://api.cannmenus.com/mcp/",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}
Other MCP Clients
Any MCP-compatible client that supports the Streamable HTTP transport can connect. Use:
- Server URL:
https://api.cannmenus.com/mcp/ - Authentication: Pass your API token via
Authorization: Bearer YOUR_API_TOKENheader or append?token=YOUR_API_TOKENas a query parameter
Available Tools
The MCP server provides 30 tools for querying cannabis market data, organized by category:
Product Discovery & Menu Analysis
| Tool | Description |
|---|---|
search_products | Search cannabis products by state, brand, category, price, potency |
get_retailer_menu | Full menu for a retailer in one request |
search_retailers | Find dispensaries by location, name, services |
search_brands | Find brands and get brand IDs |
get_brand_stats | Brand portfolio and category mix |
get_brand_retailers | Which retailers carry a brand |
Sales & Market Analytics
| Tool | Description |
|---|---|
market_trends | Sales volume, pricing trends over time |
sales_rankings | Top brands, categories, products by sales |
price_comparison | Product pricing across retailers |
query_analytics | Natural language analytics queries (full access orgs only) |
Brand Intelligence
| Tool | Description |
|---|---|
brand_stock_status | Brand availability across retailers |
brand_gap_analysis | White-space distribution opportunities |
get_product_events | Stock and price event history |
Company & MSO Analysis
| Tool | Description |
|---|---|
search_companies | Find MSOs, operators, brand houses |
get_company_hierarchy | Ownership trees with sales data |
get_company_market_share | Market concentration analysis |
Wholesale (requires WholeSync subscription)
| Tool | Description |
|---|---|
wholesale_accounts | Revenue by retail account |
wholesale_account_orders | Order line items |
wholesale_revenue_breakdown | Revenue by brand/sku/retailer/month |
wholesale_account_health | Recency, frequency, avg order value |
wholesale_top_products | Best-selling SKUs |
wholesale_discount_analysis | Discount and pricing concession analysis |
wholesale_account_pricing | Per-account pricing profile vs fleet average |
Bev/Alc Retail Analytics (requires subscription)
| Tool | Description |
|---|---|
retail_brand_rankings | Top brands by estimated sales |
retail_brand_distribution | Brand presence across retail chains |
retail_store_inventory | Store-level product inventory |
retail_price_trends | Pricing trends over time |
retail_sales_velocity | Stock depletion velocity |
retail_category_overview | Category-level market overview |
retail_geographic_analysis | Geographic distribution analysis |
All tools use full state names (e.g. "California", "Colorado") for best performance. Use the reference resources to discover valid parameter values before querying.
Reference Resources
The MCP server also exposes reference resources that help AI assistants discover valid parameter values:
| Resource | URI | Description |
|---|---|---|
| States | cann://reference/states | List of all supported US states |
| Categories | cann://reference/categories | Valid product categories |
| Tags | cann://reference/tags | Available product tags (effects, flavors, etc.) |
| Brands by State | cann://reference/brands/{state} | All brand names and IDs in a state |
Usage and Billing
Each MCP tool call makes one or more API requests on your behalf. These requests count toward your normal API usage and billing tiers:
| Tier | Requests | Rate |
|---|---|---|
| Tier 1 | 1 — 30,000 | $0.04 / request |
| Tier 2 | 30,001 — 90,000 | $0.03 / request |
| Tier 3 | 90,001+ | $0.02 / request |
Monitor your usage on the API Dashboard. Per-token request counts and last-used dates are displayed so you can track MCP usage separately from direct API calls.
Tip: Use a dedicated API token for MCP so you can track its usage independently from your other integrations.
Example Conversations
Once connected, you can ask your AI assistant questions like:
- "What are the best-selling flower brands in California?"
- "Compare pricing for Jeeter products across dispensaries in Colorado"
- "Which dispensaries in Arizona don't carry Raw Garden but carry similar brands?"
- "Show me market trends for edibles in Michigan"
- "Find the top 10 products by estimated sales in Oregon"
The AI assistant will automatically use the appropriate CannMenus tools to fetch real-time data and provide analysis.
Troubleshooting
"Authentication failed" — Verify your API token is active and correctly set in the Authorization: Bearer header (or ?token= query parameter). Generate a new token from the API Dashboard if needed.
"No results found" — Make sure you're using valid state codes and category names. Use the reference resources to discover valid values.
"Rate limited" — The MCP server respects standard API rate limits. If you're making many rapid queries, space them out or contact support for higher limits.
