@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.
- package/README.md +291 -101
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,70 +1,246 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
2
|
|
|
3
|
-
|
|
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
|
-
|
|
8
|
-
[](LICENSE)
|
|
5
|
+
**The operator that runs alongside your store.**
|
|
9
6
|
|
|
10
|
-
|
|
11
|
-
|
|
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
|
+
[](https://www.npmjs.com/package/@tenpo/mcp)
|
|
11
|
+
[](LICENSE)
|
|
12
|
+
[](https://tenpo.ai)
|
|
13
13
|
|
|
14
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
96
|
+
One question. Seven angles investigated. A full causal chain — from symptom to root, with dollars attached at every step.
|
|
21
97
|
|
|
22
|
-
|
|
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
|
|
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
|
-
##
|
|
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
|
-
|
|
110
|
+
Here's what happens automatically:
|
|
35
111
|
|
|
36
|
-
|
|
|
112
|
+
| Step | Action |
|
|
37
113
|
|---|---|
|
|
38
|
-
|
|
|
39
|
-
|
|
|
40
|
-
|
|
|
41
|
-
|
|
|
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
|
-
|
|
165
|
+
<tr><td><b>Finance & Operations</b></td><td>
|
|
44
166
|
|
|
45
|
-
|
|
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
|
-
|
|
169
|
+
</td></tr>
|
|
48
170
|
|
|
49
|
-
|
|
171
|
+
<tr><td><b>Competitors</b></td><td>
|
|
50
172
|
|
|
51
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
235
|
+
npx -y @tenpo/mcp
|
|
63
236
|
```
|
|
64
237
|
|
|
65
|
-
|
|
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
|
-
|
|
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
|
|
256
|
+
Restart Claude Desktop. The first call prints your key — paste 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
|
-
|
|
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
|
-
|
|
298
|
+
</details>
|
|
111
299
|
|
|
112
|
-
|
|
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
|
-
|
|
313
|
+
Tenpo supports any storefront. Just say which one you're on:
|
|
119
314
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
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
|
|
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
|
|
325
|
+
| Tier | Daily calls | Cost | What you get |
|
|
131
326
|
|---|---|---|---|
|
|
132
|
-
| **Free** | 500
|
|
133
|
-
| **Pro Monthly** | 5,000
|
|
134
|
-
| **Pro Yearly** | Unlimited | $190/yr | Everything in Pro
|
|
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
|
|
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
|
|
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
|
-
##
|
|
337
|
+
## How it works under the hood
|
|
145
338
|
|
|
146
339
|
```
|
|
147
340
|
┌──────────────────────────────────────────────────────────────────┐
|
|
148
|
-
│ Claude
|
|
341
|
+
│ Claude Desktop · Cursor · Claude Code · ChatGPT · your host AI │
|
|
149
342
|
└──────────────────────┬───────────────────────────────────────────┘
|
|
150
|
-
│
|
|
343
|
+
│ MCP protocol (stdio JSON-RPC)
|
|
151
344
|
▼
|
|
152
345
|
┌──────────────────────────────────────────────────────────────────┐
|
|
153
|
-
│ @tenpo/mcp (this package
|
|
346
|
+
│ @tenpo/mcp (this package, 15 KB — pure stdio↔HTTPS proxy) │
|
|
154
347
|
└──────────────────────┬───────────────────────────────────────────┘
|
|
155
|
-
│
|
|
348
|
+
│ HTTPS, Bearer tnp_live_*
|
|
156
349
|
▼
|
|
157
350
|
┌──────────────────────────────────────────────────────────────────┐
|
|
158
|
-
│
|
|
351
|
+
│ Tenpo backend │
|
|
159
352
|
│ ├─ 229 deterministic tools (SQL helpers + HTTP integrations) │
|
|
160
|
-
│ ├─ Per-merchant
|
|
161
|
-
│ ├─ Background syncs (Klaviyo, Meta, GA4, Stripe
|
|
162
|
-
│ ├─ Heartbeat
|
|
163
|
-
│ └─ K-anonymous network telemetry (
|
|
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
|
|
174
|
-
- **
|
|
175
|
-
- **
|
|
176
|
-
- **
|
|
177
|
-
- **Retention
|
|
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
|
-
|
|
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
|
-
> *"
|
|
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
|
-
> *"
|
|
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
|
-
> *"
|
|
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
|
-
> *"
|
|
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
|
-
|
|
392
|
+
> *"Which suppliers should I renegotiate with? Rank them with a grade."*
|
|
204
393
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
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
|
-
|
|
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
|
|
220
|
-
-
|
|
221
|
-
-
|
|
222
|
-
-
|
|
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
|
-
|
|
412
|
+
---
|
|
413
|
+
|
|
414
|
+
## Support
|
|
225
415
|
|
|
226
|
-
|
|
416
|
+
Questions, issues, feedback → **contact@tenpo.ai**
|
|
417
|
+
Website → **[tenpo.ai](https://tenpo.ai)**
|
|
227
418
|
|
|
228
|
-
|
|
419
|
+
---
|
|
420
|
+
|
|
421
|
+
## License
|
|
229
422
|
|
|
230
|
-
|
|
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.
|
|
4
|
-
"description": "Tenpo
|
|
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": {
|