Skip to main content
Glama
README.md
# TinyScale

Small SaaS building blocks your coding agent can set up, verify, and hand to you.

Ask your agent to *"add a launch waitlist"* or *"add a feedback widget and a changelog"*. It creates a
TinyScale project with **no account and no card**, wires the embed into your app, proves it works with a
real result, then opens a claim page so you keep it on the Free plan.

| Product | What you get |
| --- | --- |
| **TinyWaitlist** | Launch waitlist with explicit consent, email confirmation, unsubscribe and export |
| **TinyFeedback** | Anonymous plain-text feedback widget, no user accounts needed |
| **TinyChangelog** | Release notes you approve, published as a hosted page, RSS/JSON feed and embed |
| **TinyCheck** | Browser check that a deployed page really shows what you expect |
| **TinyActivate** | Onboarding checklist that completes when your backend confirms the work |
| **TinyImport** | CSV upload, column mapping and validation; your backend pulls approved rows |
| **TinyDemo** | Captured walkthrough of a page you own, reviewed before publishing |
| **TinyCite** | Report on how AI answers describe your product, with suggested page fixes |

## Use it from a coding agent (MCP)

Add the local MCP server to your agent. It runs in your project directory and keeps credentials in
`.tinyscale/` (git-ignored, never returned to the model).

**Claude Code**

```sh
claude mcp add tinyscale -- npx -y tinyscale mcp
```

Or install the plugin, which adds the MCP server plus a skill that teaches Claude the setup flow:

```text
/plugin marketplace add sanv725/tinyscale-agent
/plugin install tinyscale@tinyscale
```

**Cursor, Windsurf, VS Code, Codex and other MCP clients**

```json
{
  "mcpServers": {
    "tinyscale": { "command": "npx", "args": ["-y", "tinyscale", "mcp"] }
  }
}
```

Then ask: *"Use TinyScale to add a launch waitlist to this app and verify it works."*

## Use it from the command line

Requires Node.js 20 or later.

```sh
npx tinyscale workspace discover                      # products and preview limits
npx tinyscale workspace create --name "My app" --products tinywaitlist,tinychangelog
npx tinyscale waitlist create --configuration-json '{...}'
npx tinyscale workspace claim                          # human claims the project, no payment
npx tinyscale --help
```

Each product has an exact agent guide:
[agent.md](https://api.tinyscale.io/agent.md) ·
[waitlist](https://api.tinyscale.io/tinywaitlist.md) ·
[changelog](https://api.tinyscale.io/tinychangelog.md) ·
[activate](https://api.tinyscale.io/tinyactivate.md) ·
[import](https://api.tinyscale.io/tinyimport.md) ·
[demo](https://api.tinyscale.io/tinydemo.md) ·
[cite](https://api.tinyscale.io/tinycite.md)

## How it works

1. **Preview** — the agent creates a project that lasts 72 hours. No sign-up, no card. Limits are small
   and hard-stop; nothing is charged.
2. **Verify** — the agent proves the integration with a real result: a feedback submission ID, a
   synthetic waitlist signup, a passing browser check with a receipt.
3. **Claim** — you open the claim page, sign in, and the same project, IDs and embeds continue on Free.
   Public-facing actions (accepting real emails, publishing release notes) need your approval.

## Security

- Credentials live only in `.tinyscale/agent-state.json` (mode 0600, git-ignored). Tool results never
  include them or the claim link.
- The CLI only talks to `https://api.tinyscale.io` (plain HTTP only for localhost development).
- Widgets only run on exact HTTPS origins you configure; browser checks require proof you own the origin.

## Links

[tinyscale.io](https://tinyscale.io) · [Products](https://tinyscale.io/products) ·
[Guides](https://tinyscale.io/guides) · [Issues](https://github.com/sanv725/tinyscale-agent/issues)

MIT licensed client. The hosted service has its own terms at tinyscale.io.