@tenpo/mcp 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +291 -101
  2. package/package.json +2 -2
package/README.md CHANGED
@@ -1,70 +1,246 @@
1
- # @tenpo/mcp
1
+ <div align="center">
2
2
 
3
- > The commerce intelligence layer for any AI agent.
4
- > 229 deterministic tools across orders, ads, email, inventory, suppliers, customers, finance, and competitors —
5
- > exposed as a Model Context Protocol server that plugs into Claude Code, Cursor, Claude Desktop, ChatGPT, or any MCP host.
3
+ # Tenpo
6
4
 
7
- [![npm](https://img.shields.io/npm/v/@tenpo/mcp.svg)](https://www.npmjs.com/package/@tenpo/mcp)
8
- [![license](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
5
+ **The operator that runs alongside your store.**
9
6
 
10
- ```bash
11
- npx -y @tenpo/mcp
12
- ```
7
+ Most "AI for e-commerce" tools answer questions about your dashboard.
8
+ Tenpo runs your dashboards *for* you — across every platform, every minute, in plain English.
9
+
10
+ [![npm](https://img.shields.io/npm/v/@tenpo/mcp.svg?style=flat-square&color=000)](https://www.npmjs.com/package/@tenpo/mcp)
11
+ [![license](https://img.shields.io/badge/license-MIT-000.svg?style=flat-square)](LICENSE)
12
+ [![docs](https://img.shields.io/badge/docs-tenpo.ai-000.svg?style=flat-square)](https://tenpo.ai)
13
13
 
14
- That's it. First run auto-issues a free API key (500 calls/day, no expiry, no card).
14
+ [**Get started in 2 lines →**](#install-in-2-lines) · [**See it think →**](#how-tenpo-thinks) · [**What it covers →**](#what-tenpo-covers)
15
+
16
+ </div>
15
17
 
16
18
  ---
17
19
 
18
- ## Why Tenpo MCP
20
+ ## The problem every store owner has
21
+
22
+ Your orders are in Shopify. Your marketing is split across Meta, Google, and TikTok. Customer support lives in Gorgias. Email is in Klaviyo. Inventory is somewhere else. Accounting is in Xero.
23
+
24
+ You can see that revenue dropped. You can't easily see **why**. Is it a stock issue? An ad problem? A supplier delay? A churn wave? You'd need hours of cross-referencing — and most store owners don't have those hours.
25
+
26
+ Decisions get made on gut feel. Problems get spotted late. Opportunities get missed entirely.
27
+
28
+ ---
29
+
30
+ ## What Tenpo is
31
+
32
+ Not a dashboard. Not a chatbot. **An operator that runs your store next to you.**
33
+
34
+ When you ask Tenpo something, it doesn't look up a pre-calculated answer. It queries your live data across every connected platform, traces the cause back through every related signal, attaches a financial impact, and tells you exactly what to do — in one message.
35
+
36
+ It's like having a business partner who:
37
+
38
+ - Has memorised every order, product, customer, campaign, and supplier
39
+ - Monitors your store 24/7, even when you're asleep
40
+ - Spots problems before they become expensive
41
+ - Connects dots no human analyst would realistically cross-reference
42
+ - Knows *when to act* and *when to ask*
43
+ - Gets smarter about your specific business the longer you work together
44
+
45
+ You bring an AI host (Claude, Cursor, ChatGPT). Tenpo brings the synapses. **Your AI does the thinking, Tenpo provides the truth.**
46
+
47
+ ---
48
+
49
+ ## How Tenpo thinks
50
+
51
+ The thing that makes Tenpo different isn't a feature. It's how it reasons.
52
+
53
+ Most tools answer the question you asked. Tenpo answers the question that **matters** — which is usually a different one.
54
+
55
+ You ask: *"Why is revenue down this week?"*
56
+
57
+ A normal tool says "revenue dropped 31% vs last week." Accurate but useless.
58
+
59
+ Tenpo runs this instead:
60
+
61
+ ```
62
+ "Revenue is down 31% this week"
63
+
64
+ ┌─────────┴──────────┐
65
+ ▼ ▼
66
+ When did it drop? What drove last
67
+ → Tuesday week's revenue?
68
+ │ │
69
+ ▼ ▼
70
+ What happened Are those products
71
+ on Tuesday? still in stock?
72
+ │ │
73
+ ▼ ▼
74
+ 3 top SKUs went NO — all 3 went OOS
75
+ out of stock on Tuesday
76
+ │ │
77
+ └─────────┬──────────┘
78
+
79
+ Are ads still running on those OOS products?
80
+
81
+
82
+ YES — $840/week wasted
83
+
84
+ ┌─────────┴──────────┐
85
+ ▼ ▼
86
+ When's the next Are customers
87
+ PO arriving? churning because of this?
88
+ │ │
89
+ ▼ ▼
90
+ 14 days away Repeat purchase rate
91
+ $22K/day at risk dropped 68% → 51%
92
+ = $3.1K total risk = frustrated buyers
93
+ going to competitors
94
+ ```
19
95
 
20
- Most "AI for ecommerce" tools wrap an LLM around your store. **We don't.**
96
+ One question. Seven angles investigated. A full causal chain from symptom to root, with dollars attached at every step.
21
97
 
22
- Tenpo is a **stateless commerce-ops backend** that your AI of choice calls directly. The tools return real data + grounded analysis; your AI does the reasoning and writes the response. You pay for *your* AI's tokens Tenpo never spins up an LLM on our side, so the free tier is genuinely free.
98
+ This is **multi-directional thinking**. Tenpo keeps pulling threads until it finds the *full* answer, not just *an* answer. Every response follows the same four-part shape:
23
99
 
24
- What that means in practice:
25
- - **Your AI gets factual answers**: tools execute SQL against your store, hit Klaviyo's API, ping Meta Ad Manager — never hallucinate
26
- - **Multi-source joins are cheap**: ask *"true ROAS after fees"* and Tenpo joins Shopify orders × Meta spend × Stripe fees deterministically — no LLM in the join path
27
- - **Latency is sub-10ms p50** for the analytics tools — they're SQL helpers, not LLM calls
28
- - **Privacy is default-on**: per-merchant DuckDB, no cross-tenant leakage, k-anonymous network telemetry
100
+ > **What I'm seeing** → **Why this is happening** → **What this means** **What I'd do about it**
29
101
 
30
102
  ---
31
103
 
32
- ## What you get
104
+ ## The cascade effect
105
+
106
+ In real businesses, nothing happens in isolation. Tenpo knows this.
107
+
108
+ You say four words: *"I received PO #42."*
33
109
 
34
- ### 4 god-mode intelligence tools
110
+ Here's what happens automatically:
35
111
 
36
- | Tool | What it returns |
112
+ | Step | Action |
37
113
  |---|---|
38
- | `tenpo_inventory_intelligence` | Working capital aging by SKU + bundle-affinity OOS impact + lead-time-adjusted reorder priorities (CRITICAL/URGENT/PLAN/OK). Sub-100ms even on large catalogs. |
39
- | `tenpo_supplier_scorecard` | Per-supplier A/B/C/D/F grade combining on-time rate, lead-time variance, price drift QoQ, and lifetime spend. |
40
- | `tenpo_customer_intelligence` | Predicted next-order date + churn-risk score (0–100) + top-1%/10%/25% concentration risk + cross-sell next-best-product. |
41
- | `tenpo_creative_dna` | Library of 10 proven email/ad patterns + draft mode generates 3 variants with **explicit hypothesis per variant** + analyze-winners mode extracts patterns from your past top performers. |
114
+ | 1 | Marks PO #42 received, updates stock levels |
115
+ | 2 | Finds 3 waiting orders for those SKUs fulfils them |
116
+ | 3 | Notices Meta + Google ads were paused on those SKUs (because they were OOS) resumes them |
117
+ | 4 | Records the $48,000 expense in Xero |
118
+ | 5 | Updates the supplier's reliability score for next time |
119
+ | 6 | Notes: "Klaviyo not connected — back-in-stock email would have triggered for 47 customers" |
120
+
121
+ Nine things across five platforms. **Every action triggers a chain reaction.** You did nothing but say four words.
122
+
123
+ ---
124
+
125
+ ## What Tenpo covers
126
+
127
+ Eight sectors. One operator. **You don't need to know which tool to call — just describe the outcome you want.**
128
+
129
+ <table>
130
+ <tr>
131
+ <th align="left">Sector</th>
132
+ <th align="left">What you can ask</th>
133
+ </tr>
134
+
135
+ <tr><td><b>Sales & Revenue</b></td><td>
136
+
137
+ How is my store doing this week · what's driving / killing revenue · best and worst products by margin · daily business overview · forecast next month's revenue · why did Tuesday spike
138
+
139
+ </td></tr>
140
+
141
+ <tr><td><b>Inventory & Suppliers</b></td><td>
142
+
143
+ What's about to run out · what to reorder (and how much) · which products are dead stock tying up cash · supplier reliability scorecards (A/B/C/D/F) · generate a PO and email it to my supplier · read incoming supplier emails and extract quotes · compare quotes from 3 suppliers · mark PO #42 received → cascade everything
144
+
145
+ </td></tr>
146
+
147
+ <tr><td><b>Marketing & Email</b></td><td>
148
+
149
+ Draft a winback campaign for lapsed champions · send a Klaviyo campaign · design a 30-day content calendar · A/B test subject lines · build a flash-sale flow · find cross-sell opportunities · which customers haven't bought in 60 days
150
+
151
+ </td></tr>
152
+
153
+ <tr><td><b>Paid Ads</b></td><td>
154
+
155
+ What's my true ROAS after COGS + shipping + fees · which campaigns to pause right now · reallocate budget from underperformers to winners · pause ads on out-of-stock products · auto-pause if ROAS drops below 2× · generate ad copy and creative concepts · campaign performance with revenue attribution
156
+
157
+ </td></tr>
158
+
159
+ <tr><td><b>Customers</b></td><td>
160
+
161
+ Who's about to churn · predicted next order date per customer · top 1% / 10% / 25% concentration risk · cross-sell next-best-product · win-back the right customers at the right time · respond to support tickets in Gorgias/Zendesk · reply to reviews on Trustpilot/Okendo/Judge.me
162
+
163
+ </td></tr>
42
164
 
43
- ### 25 commerce primitives (always loaded)
165
+ <tr><td><b>Finance & Operations</b></td><td>
44
166
 
45
- Storefront, orders, products, customers, segments, suppliers, POs, ad spend, email campaigns, charts, drafts, approvals, integrations connect/disconnect/sync, workflows, web search, SQL queries.
167
+ P&L waterfall (gross COGS fees ad spend operating profit) · what's leaking at each step · process Stripe refunds · push invoices to Xero/QuickBooks · create shipping labels · track shipments · sales-tax nexus monitoring · payout holds and disputes
46
168
 
47
- ### ~200 specialist tools (loaded on demand by your AI)
169
+ </td></tr>
48
170
 
49
- Ad-spend pause, PO generation + email, refund processing, abandoned-cart flows, Shopify GraphQL/Admin, Meta/Google/TikTok ads, Klaviyo campaign create + execute, Gorgias support reply, bulk Shopify operations, custom-platform adapters, more.
171
+ <tr><td><b>Competitors</b></td><td>
50
172
 
51
- ### Network intelligence
173
+ What's [competitor] priced at right now · who dropped prices this week · what emails are top brands sending this month · new SKUs they launched · their promo cadence · benchmark my AOV / LTV / repurchase rate against peers in my category (k-anonymous)
52
174
 
53
- `tenpo_network_intelligence` exposes 6 sections of **k-anonymous (k≥3 merchants)** signals from across the network — top intents merchants ask, tool health (call-count, p50/p95 latency, error rate), per-detector signal/noise grades, creative pattern effectiveness (drafts → launches → revenue), and peer benchmarks (`category × metric` median/p20/p80).
175
+ </td></tr>
176
+
177
+ <tr><td><b>Automation</b></td><td>
178
+
179
+ Every Monday morning, send me a store overview · when revenue drops 30%, ping me on WhatsApp · auto-pause ads on OOS products · trigger the win-back flow when a customer hits 60 days quiet · let me approve once and never ask again for the same pattern
180
+
181
+ </td></tr>
182
+
183
+ </table>
184
+
185
+ Eight headline sectors. Behind them: **45+ platform integrations, 229 tools your AI can call, 155 specialist skills loaded on demand, and 17 background patterns Tenpo watches for continuously.**
54
186
 
55
187
  ---
56
188
 
57
- ## Installation
189
+ ## Beyond data — built-in expertise
190
+
191
+ Tenpo isn't just retrieving data. It applies deep, structured expertise to interpret it.
192
+
193
+ When you ask Tenpo to write a campaign, it doesn't just write copy — it picks the right **psychological framework** for the moment:
194
+
195
+ | You're trying to… | Tenpo reaches for… |
196
+ |---|---|
197
+ | Convert hesitant first-time visitors | Loss Aversion + Social Proof |
198
+ | Move slow-selling inventory | Decoy Effect + Scarcity |
199
+ | Bring back lapsed customers | Zeigarnik Effect + Reciprocity |
200
+ | Increase average order value | Anchoring + Bundling Psychology |
201
+ | Reduce cart abandonment | Endowment Effect + Commitment Consistency |
202
+ | Launch a new product | Authority Bias + Social Proof |
203
+ | Run a flash sale | Scarcity + Urgency + Peak-End Rule |
204
+ | Re-engage a cold email list | Curiosity Gap + Reciprocity |
205
+
206
+ When you ask about pricing, it thinks in a **Velocity × Margin matrix**. When you ask about churn, it knows the recovery probability decays from 25% at 30 days to <1% at 180+ days, and routes each customer to the right message at the right time. When you ask about conversion, it audits the full funnel — traffic quality → landing experience → product page → checkout → post-purchase → retention — not just the headline number.
207
+
208
+ **No human campaign manager coordinates all of this in a single pass. Tenpo does it every time, in seconds.**
209
+
210
+ ---
58
211
 
59
- ### Claude Code (CLI)
212
+ ## Proactive monitoring — Tenpo watching when you're not
213
+
214
+ Every 15 minutes — no AI required, just pure logic — Tenpo runs background checks:
215
+
216
+ | Watch | What it catches |
217
+ |---|---|
218
+ | **Stock risk** | Products getting dangerously close to selling out before the next supplier delivery |
219
+ | **Revenue anomaly** | Unexplained drops in week-over-week revenue |
220
+ | **Supplier delays** | POs that didn't arrive by their expected date |
221
+ | **Customer churn wave** | Regular customers who've gone quiet |
222
+ | **Dead stock growth** | Products sitting in your warehouse not moving |
223
+ | **Wasted ad spend** | Campaigns running below breakeven ROAS, ads on out-of-stock products |
224
+ | **Concentration risk** | Too much revenue from too few customers |
225
+
226
+ When it spots something, you get a notification on your preferred channel — Telegram, WhatsApp, Slack, email. When the situation resolves itself, the alert closes automatically.
227
+
228
+ By the time you open your phone in the morning, Tenpo has already been watching your store all night.
229
+
230
+ ---
231
+
232
+ ## Install in 2 lines
60
233
 
61
234
  ```bash
62
- claude mcp add tenpo --command "npx -y @tenpo/mcp"
235
+ npx -y @tenpo/mcp
63
236
  ```
64
237
 
65
- ### Claude Desktop
238
+ That's the first line. First run auto-issues a free API key (500 calls/day, no expiry, no card).
239
+
240
+ The second line goes into your AI host's config:
66
241
 
67
- Edit `~/Library/Application Support/Claude/claude_desktop_config.json` (Mac) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
242
+ <details>
243
+ <summary><b>Claude Desktop</b> · <code>claude_desktop_config.json</code></summary>
68
244
 
69
245
  ```json
70
246
  {
@@ -77,7 +253,7 @@ Edit `~/Library/Application Support/Claude/claude_desktop_config.json` (Mac) or
77
253
  }
78
254
  ```
79
255
 
80
- Restart Claude Desktop. The first call auto-issues a free key and prints it to your terminalsave it to `env.TENPO_API_KEY` to keep using the same key permanently:
256
+ Restart Claude Desktop. The first call prints your keypaste it into `env.TENPO_API_KEY` to keep using the same one:
81
257
 
82
258
  ```json
83
259
  {
@@ -91,7 +267,19 @@ Restart Claude Desktop. The first call auto-issues a free key and prints it to y
91
267
  }
92
268
  ```
93
269
 
94
- ### Cursor
270
+ </details>
271
+
272
+ <details>
273
+ <summary><b>Claude Code</b> (CLI)</summary>
274
+
275
+ ```bash
276
+ claude mcp add tenpo --command "npx -y @tenpo/mcp"
277
+ ```
278
+
279
+ </details>
280
+
281
+ <details>
282
+ <summary><b>Cursor</b></summary>
95
283
 
96
284
  Settings → MCP → Add new global MCP server:
97
285
 
@@ -107,60 +295,65 @@ Settings → MCP → Add new global MCP server:
107
295
  }
108
296
  ```
109
297
 
110
- ### Codex / Hermes / OpenClaw / any MCP-compatible client
298
+ </details>
111
299
 
112
- Standard stdio transport — point the client at `npx -y @tenpo/mcp` with `TENPO_API_KEY` in env.
300
+ <details>
301
+ <summary><b>Codex, ChatGPT Desktop, Hermes, OpenClaw, or any MCP-compatible host</b></summary>
302
+
303
+ Standard stdio transport. Point the client at `npx -y @tenpo/mcp` with `TENPO_API_KEY` in env. The MCP package is a 15 KB stdio↔HTTPS proxy — works anywhere.
304
+
305
+ </details>
306
+
307
+ Once installed, just talk to your AI as you normally would. Say *"connect my store"* and Tenpo walks you through it.
113
308
 
114
309
  ---
115
310
 
116
311
  ## Connecting your store
117
312
 
118
- The first time your AI calls a data tool, Tenpo's onboarding flow walks you through connecting your store. Just say:
313
+ Tenpo supports any storefront. Just say which one you're on:
119
314
 
120
- > *"connect my Shopify store"*
121
-
122
- …and the agent walks you through paste-the-token (Shopify, WooCommerce) or OAuth (Amazon, Etsy). Other platforms supported via lazy-mode adapters: **Squarespace, Wix, BigCommerce, Magento (Adobe Commerce), Salesforce Commerce Cloud, Webflow**, plus CSV/JSON import for any platform.
315
+ | Native, paste-token (90 seconds) | Native OAuth (3 min) | Custom adapters (5 min) | Anything else |
316
+ |---|---|---|---|
317
+ | Shopify, WooCommerce | Amazon, Etsy | Squarespace, Wix, BigCommerce, Magento, Adobe Commerce, Salesforce Commerce Cloud, Webflow | CSV / JSON import accepts Shopify, Woo, and Stripe export formats as-is |
123
318
 
124
- After the store connects, you can layer in Klaviyo / Mailchimp / Omnisend (email), Meta Ads / Google Ads / TikTok Ads (paid), Google Analytics 4 (attribution), Stripe (payments), and 40+ others.
319
+ After your store connects, layer in the platforms that matter to you — Klaviyo, Mailchimp, Omnisend, Meta Ads, Google Ads, TikTok Ads, Google Analytics 4, Stripe, Gorgias, Zendesk, Xero, QuickBooks, Slack, Telegram, WhatsApp, 40+ others. Each one is a one-line ask: *"connect my Klaviyo."*
125
320
 
126
321
  ---
127
322
 
128
323
  ## Pricing
129
324
 
130
- | Tier | Daily call limit | Cost | What you get |
325
+ | Tier | Daily calls | Cost | What you get |
131
326
  |---|---|---|---|
132
- | **Free** | 500 calls/day | $0 | Full tool access, 1 connected store, Klaviyo + Meta + GA4, no expiry |
133
- | **Pro Monthly** | 5,000 calls/day | $19/mo | Everything in Free + higher limits, priority support |
134
- | **Pro Yearly** | Unlimited | $190/yr | Everything in Pro Monthly, no daily cap, save $38 |
135
-
136
- Your same API key keeps working after upgrade — the limit just changes server-side.
327
+ | **Free** | 500 / day | $0 | Every tool. Every integration. 1 connected store. No expiry. No card. |
328
+ | **Pro Monthly** | 5,000 / day | $19 / mo | Everything in Free, higher limits, priority support |
329
+ | **Pro Yearly** | Unlimited | $190 / yr | Everything in Pro, no daily cap, save $38 |
137
330
 
138
- When you hit a free-tier limit, every response includes an `upgrade_url` pointing at a hosted Dodo Payments checkout. Pay → tier auto-bumps via webhook you're on Pro within seconds.
331
+ Your same API key works across tiers — upgrade just changes the server-side limit. When you hit the free-tier cap, every response includes a one-click upgrade link. Pay → tier bumps in seconds (Dodo Payments).
139
332
 
140
- **You always pay for your AI's tokens.** Tenpo runs zero LLMs server-side — every analytical tool is deterministic SQL or HTTP, sub-10ms p50.
333
+ **You always pay for your AI's tokens. Tenpo runs zero LLMs on our side** — every analytical tool is deterministic SQL or HTTP. That's why the free tier is genuinely free.
141
334
 
142
335
  ---
143
336
 
144
- ## Architecture
337
+ ## How it works under the hood
145
338
 
146
339
  ```
147
340
  ┌──────────────────────────────────────────────────────────────────┐
148
- │ Claude Code / Cursor / Claude Desktop / Codex / your MCP host
341
+ │ Claude Desktop · Cursor · Claude Code · ChatGPT · your host AI
149
342
  └──────────────────────┬───────────────────────────────────────────┘
150
- stdio (MCP protocol, JSON-RPC)
343
+ MCP protocol (stdio JSON-RPC)
151
344
 
152
345
  ┌──────────────────────────────────────────────────────────────────┐
153
- │ @tenpo/mcp (this package ~5 KB, no LLM, pure proxy)
346
+ │ @tenpo/mcp (this package, 15 KB pure stdio↔HTTPS proxy)
154
347
  └──────────────────────┬───────────────────────────────────────────┘
155
- HTTPS, Bearer tnp_live_*
348
+ HTTPS, Bearer tnp_live_*
156
349
 
157
350
  ┌──────────────────────────────────────────────────────────────────┐
158
- api.tenpo.ai (gateway + runtime — Tenpo's hosted backend)
351
+ │ Tenpo backend
159
352
  │ ├─ 229 deterministic tools (SQL helpers + HTTP integrations) │
160
- │ ├─ Per-merchant DuckDB (your store data, encrypted)
161
- │ ├─ Background syncs (Klaviyo, Meta, GA4, Stripe — every 15min) │
162
- │ ├─ Heartbeat detectors (revenue cliff, stockout, refund spike)
163
- │ └─ K-anonymous network telemetry (Supabase, retained 90d)
353
+ │ ├─ Per-merchant database (your data, isolated, encrypted)
354
+ │ ├─ Background syncs every 15 min (Klaviyo, Meta, GA4, Stripe) │
355
+ │ ├─ Heartbeat monitors (revenue, stock, supplier, churn, ads…)
356
+ │ └─ K-anonymous network telemetry (peer benchmarks, k≥3)
164
357
  └──────────────────────────────────────────────────────────────────┘
165
358
  ```
166
359
 
@@ -170,64 +363,61 @@ Your AI does the synthesis. Tenpo provides the synapses.
170
363
 
171
364
  ## Privacy
172
365
 
173
- - **Per-merchant DuckDB**: every merchant gets their own database file. No cross-tenant SQL.
174
- - **Salt-hashed merchant IDs** in network telemetry: `sha256(salt + merchant_id)`. Irreversible.
175
- - **PII strip on free text**: emails, phone numbers, $ amounts, IDs, and API tokens are replaced with placeholders before any cross-merchant aggregation.
176
- - **K-anonymity (k≥3)** enforced on every read API: stats only surface when ≥3 distinct merchants contributed.
177
- - **Retention**: raw events 90 days, aggregates indefinitely. Retention cron runs daily in Postgres.
178
- - **No LLM in the analytical path**: your queries don't get fed to any model — Tenpo just runs SQL and returns rows.
366
+ - **Your data is yours.** Per-merchant database, isolated from every other merchant. No cross-tenant queries are possible.
367
+ - **Network telemetry is anonymous.** When Tenpo learns from cross-merchant patterns (e.g. "what most stores in your category approve"), merchant IDs are salt-hashed irreversibly. Free-text fields (email, phone, $ amounts, IDs, API tokens) are stripped to placeholders before any aggregation.
368
+ - **K-anonymity (k≥3).** No stat surfaces until at least 3 distinct merchants contributed to it. You're never the only data point.
369
+ - **No LLM on the analytical path.** Your data doesn't get sent to any model — Tenpo runs SQL and returns rows. Your AI (Claude, Cursor, etc.) sees the rows and writes a sentence.
370
+ - **Retention.** Raw events expire after 90 days. Aggregates kept indefinitely (already anonymised).
179
371
 
180
372
  ---
181
373
 
182
- ## Examples
374
+ ## Examples of what to ask
183
375
 
184
- Once installed, ask your AI host things like:
376
+ Plug Tenpo in. Then ask your AI host things like:
377
+
378
+ > *"How is my store doing this week?"*
185
379
 
186
380
  > *"Why is revenue down today?"*
187
- > → calls `tenpo_revenue_trend`, `tenpo_inventory_intelligence`, `tenpo_top_products`; AI synthesizes a one-paragraph answer with the actual numbers
188
381
 
189
- > *"Draft a winback campaign for lapsed champions"*
190
- > → calls `tenpo_creative_dna(mode: draft, goal: winback)` → returns 3 variants with explicit hypotheses → AI fills in the copy → optional: `tenpo_create_campaign(pattern_id: ...)` to launch it via Klaviyo
382
+ > *"What are the 3 highest-leverage things I should fix this week?"*
191
383
 
192
- > *"Which suppliers should I renegotiate with?"*
193
- > → calls `tenpo_supplier_scorecard` → AI ranks D/F-graded suppliers and drafts an opening email via `tenpo_draft_supplier_email`
384
+ > *"Draft a winback campaign for customers who lapsed 60+ days ago."*
194
385
 
195
- > *"Which competitor changed prices this week?"*
196
- > → calls `tenpo_competitor_intel(brand: "Allbirds")` → first call scrapes live + caches 24h → returns price-change diff
386
+ > *"Generate a PO for my top supplier for the 5 SKUs about to run out, and email it."*
197
387
 
198
- > *"How am I doing vs other apparel stores my size?"*
199
- > → calls `tenpo_network_intelligence(section: benchmark, category: apparel, metric: aov)` → returns peer median/p20/p80 (k-anonymous, ≥3 merchants required)
388
+ > *"Which Meta ads should I pause right now? Show me the dollars I'd save."*
200
389
 
201
- ---
390
+ > *"What's my true ROAS this month after COGS, shipping, and Stripe fees?"*
202
391
 
203
- ## Development
392
+ > *"Which suppliers should I renegotiate with? Rank them with a grade."*
204
393
 
205
- ```bash
206
- git clone https://github.com/tenpo-ai/tenpo-mcp
207
- cd mcp
208
- npm install
209
- npm run build
210
- TENPO_API_URL=http://localhost:3199 TENPO_API_KEY=tnp_live_... node dist/index.js
211
- ```
394
+ > *"Who's about to churn, and what should I send each segment?"*
395
+
396
+ > *"Every Monday at 9am, send me a one-paragraph store brief on WhatsApp."*
397
+
398
+ > *"Compare my AOV to other apparel stores my size."*
212
399
 
213
- The MCP package itself is ~200 lines of TypeScript a thin stdio↔HTTPS proxy. All the intelligence lives at `api.tenpo.ai`.
400
+ You don't need to know which tool runs. You don't need to learn a syntax. **Just describe the outcome.** Your AI picks the tools, Tenpo runs them, and the answer comes back grounded in real numbers.
214
401
 
215
402
  ---
216
403
 
217
404
  ## Status
218
405
 
219
- - Production-grade, running live at [api.tenpo.ai](https://api.tenpo.ai)
220
- - 229 tools exposed, 6 telemetry signal types, k-anonymous network intelligence
221
- - Sub-10ms p50 latency on analytical tools (verified live on multi-GB merchant data)
222
- - Standard Webhooks signature verification + idempotency on billing webhooks
406
+ - Production. Live at **[tenpo.ai](https://tenpo.ai)**.
407
+ - Sub-10ms p50 latency on analytical tools (verified on multi-gigabyte stores).
408
+ - 45+ platform integrations.
409
+ - K-anonymous network intelligence with peer benchmarks.
410
+ - ✅ Standard Webhooks signature verification + idempotent billing flow.
223
411
 
224
- ## License
412
+ ---
413
+
414
+ ## Support
225
415
 
226
- MIT fork freely. The MCP package is a thin client; the heavy lifting happens on Tenpo's hosted backend.
416
+ Questions, issues, feedback **contact@tenpo.ai**
417
+ Website → **[tenpo.ai](https://tenpo.ai)**
227
418
 
228
- ## Links
419
+ ---
420
+
421
+ ## License
229
422
 
230
- - **Website**: [tenpo.ai](https://tenpo.ai)
231
- - **API base**: [api.tenpo.ai](https://api.tenpo.ai)
232
- - **Issues**: [github.com/tenpo-ai/tenpo-mcp/issues](https://github.com/tenpo-ai/tenpo-mcp/issues)
233
- - **Source**: [github.com/tenpo-ai/tenpo-mcp](https://github.com/tenpo-ai/tenpo-mcp)
423
+ MIT fork freely. The MCP package is a thin client; all the intelligence lives in Tenpo's hosted backend.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tenpo/mcp",
3
- "version": "0.2.0",
4
- "description": "Tenpo MCP give any AI tool (Claude Code, Cursor, Claude Desktop, Codex) deterministic access to your store data, supplier scorecards, customer intelligence, creative pattern library, and 229 commerce-ops tools. Free tier, no LLM cost on our side.",
3
+ "version": "0.2.1",
4
+ "description": "Tenpo — the operator that runs alongside your store. Connects to 45+ commerce platforms (Shopify, Klaviyo, Meta Ads, GA4, Stripe…) and gives any AI host (Claude Desktop, Cursor, Claude Code, ChatGPT) deterministic answers about your sales, ads, email, inventory, suppliers, customers, finance, and competitors. Free tier, no card required.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://tenpo.ai",
7
7
  "repository": {