io.github.rootsbymenda/cannabis-regulatory
Cannabis compliance: US state testing, INCB, Health Canada, EU precursors. Free.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
claude mcp add --transport http cannabis-regulatory 'https://cannabis-mcp-server.rootsbybenda.workers.dev/mcp'
{
"mcpServers": {
"cannabis-regulatory": {
"type": "http",
"url": "https://cannabis-mcp-server.rootsbybenda.workers.dev/mcp"
}
}
}
claude mcp add --transport sse cannabis-regulatory 'https://cannabis-mcp-server.rootsbybenda.workers.dev/sse'
{
"mcpServers": {
"cannabis-regulatory": {
"type": "sse",
"url": "https://cannabis-mcp-server.rootsbybenda.workers.dev/sse"
}
}
}
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
Roots by Benda — Cannabis Regulatory Intelligence MCP Server
Cannabis testing requirements, controlled substance scheduling, and compliance data in one MCP. Check US state-level testing limits (pesticides, heavy metals, microbials, solvents, potency), UN/EU controlled substance schedules, Health Canada cannabis rules, and novel psychoactive substance monitoring — all source-linked and free.
No equivalent consolidated cross-jurisdiction cannabis compliance MCP exists. This is the first.
Live endpoint: https://cannabis-mcp-server.rootsbybenda.workers.dev/mcp
SSE fallback: https://cannabis-mcp-server.rootsbybenda.workers.dev/sse
Tools
check_cannabis_testing
Look up cannabis testing limits by US state, test category, product type, or analyte. Returns pesticide, heavy metal, microbial, solvent, mycotoxin, potency, moisture, action-level, unit, and regulation-reference data.
state: "California", test_category: "heavy_metal"
→ Arsenic: 0.2 µg/g (inhalable), 1.5 µg/g (non-inhalable) — CA DCC 4 CCR §15723
Cadmium: 0.2 µg/g (inhalable), 0.5 µg/g (non-inhalable)
Lead: 0.5 µg/g (both categories)
Mercury: 0.1 µg/g (inhalable), 3.0 µg/g (non-inhalable)
8 limits found, all regulation-referenced
check_controlled_substance
Check whether a substance is controlled or scheduled under UN INCB narcotic schedules, EU drug-precursor controls, or EMCDDA/EUDA novel psychoactive-substance monitoring. Returns schedules, categories, synonyms, CAS numbers, and regulatory notes.
query: "psilocybin"
→ UN Schedule I (1971 Convention); CAS 520-52-5; Category: indole alkaloid;
Status: no accepted medical use (UN), breakthrough therapy (FDA, 2018)
check_cannabis_compliance
Check cannabis product compliance requirements for a US state or Health Canada product class. Returns jurisdiction-specific testing categories, analyte limits, product classes, units, and regulation sections.
jurisdiction: "Colorado", product_class: "concentrate"
→ Testing required: potency, residual solvents, heavy metals, microbials, mycotoxins
Per-analyte limits with regulation references (1 CCR 212-3)
search_cannabis_regulations
Search cannabis and controlled-substance regulatory data by keyword. Use for broad discovery across state testing limits, Health Canada cannabis rules, UN scheduling, EU precursors, and novel psychoactive substances.
query: "heavy metal"
→ matches across CA, CO, OR, WA state testing limits for Lead, Cadmium, Arsenic, Mercury
with action levels, units, and product-type distinctions per jurisdiction
Data
| Dataset | Records |
|---|---|
| US state cannabis testing requirements | 1,942 |
| Health Canada cannabis rules | 383 |
| UN INCB scheduled narcotic drugs | 154 |
| EU controlled precursor chemicals | 46 |
| EMCDDA/EUDA novel psychoactive substances | 41 |
100% source-traceability: every record links to state regulatory code, UN conventions, EU regulations, or Health Canada primary sources.
Sources: US state cannabis regulatory codes (CA BCC, CO MED, OR OLCC, WA LCB, and others), Health Canada Cannabis Regulations (SOR/2018-144), UN Single Convention on Narcotic Drugs (1961), UN Convention on Psychotropic Substances (1971), EU Regulation 273/2004 (drug precursors), EMCDDA Early Warning System.
Quick Start
Claude Desktop / Claude Code
Add to your MCP config:
{
"mcpServers": {
"roots-cannabis-regulatory": {
"url": "https://cannabis-mcp-server.rootsbybenda.workers.dev/sse"
}
}
}
Cursor / Windsurf / Zed
Use the Streamable HTTP endpoint:
https://cannabis-mcp-server.rootsbybenda.workers.dev/mcp
Rate Limits
Every caller receives full data; a 60 requests/minute abuse-prevention limit applies per IP.
Built With
- Cloudflare Workers + Agents SDK
- Cloudflare D1 (SQLite at the edge)
- Durable Objects (session-scoped rate limiting)
- Model Context Protocol (MCP)
Who Built This
Roots by Benda — regulatory intelligence platform built by Shahar Ben-David with Claude. Cannabis regulatory database assembled from primary sources across US state regulators, Health Canada, UN INCB, and EMCDDA.
- Website: rootsbybenda.com
- LinkedIn: Shahar Ben-David
License
MIT
Frequently asked questions
What is io.github.rootsbymenda/cannabis-regulatory?
Cannabis compliance: US state testing, INCB, Health Canada, EU precursors. Free.
How do I install io.github.rootsbymenda/cannabis-regulatory?
It runs as a remote server. In Claude Code: claude mcp add --transport http cannabis-regulatory 'https://cannabis-mcp-server.rootsbybenda.workers.dev/mcp'. For other clients, paste the JSON configuration from this page into their MCP settings.
Does io.github.rootsbymenda/cannabis-regulatory need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is io.github.rootsbymenda/cannabis-regulatory open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains io.github.rootsbymenda/cannabis-regulatory?
It is published by rootsbymenda. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.